mirror of
https://github.com/Raphire/Win11Debloat.git
synced 2026-02-18 16:36:29 +00:00
Compare commits
41 Commits
2025.12.16
...
2026.02.15
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6427b35bc8 | ||
|
|
60e8985db0 | ||
|
|
6589dab528 | ||
|
|
2a9a3960b8 | ||
|
|
65aabbc050 | ||
|
|
95dc490b6e | ||
|
|
687c089f2e | ||
|
|
5dcc8bffdd | ||
|
|
f9b4cec417 | ||
|
|
0e7b289d03 | ||
|
|
feef8f76b9 | ||
|
|
50db66bb5f | ||
|
|
b48fa24627 | ||
|
|
f8c2c6ddd7 | ||
|
|
1ea2c63522 | ||
|
|
675882cb3b | ||
|
|
ae4d19f59c | ||
|
|
327f4ee7ab | ||
|
|
3af62159a5 | ||
|
|
6e65a07184 | ||
|
|
84bff3ab0c | ||
|
|
46deca7703 | ||
|
|
6a3f244f9b | ||
|
|
75d783cc63 | ||
|
|
afdb66b5d4 | ||
|
|
6a1a091a87 | ||
|
|
1ef8992320 | ||
|
|
59d0e83238 | ||
|
|
482161fdd8 | ||
|
|
91f3dbf5e6 | ||
|
|
57f5e1c632 | ||
|
|
95e844923e | ||
|
|
c6e3edbe40 | ||
|
|
98fce954f0 | ||
|
|
b4d4f5630d | ||
|
|
d1b13e61f8 | ||
|
|
aa64f1a982 | ||
|
|
0ac57a9c13 | ||
|
|
e98c1bd273 | ||
|
|
82edc87601 | ||
|
|
e612f8e9d5 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,4 +1,6 @@
|
||||
LastSettings
|
||||
SavedSettings
|
||||
LastUsedSettings.json
|
||||
CustomAppsList
|
||||
Logs/*
|
||||
Win11Debloat.log
|
||||
833
Apps.json
Normal file
833
Apps.json
Normal file
@@ -0,0 +1,833 @@
|
||||
{
|
||||
"Version": "1.0",
|
||||
"Apps": [
|
||||
{
|
||||
"FriendlyName": "Clipchamp",
|
||||
"AppId": "Clipchamp.Clipchamp",
|
||||
"Description": "Video editor from Microsoft",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "3D Builder",
|
||||
"AppId": "Microsoft.3DBuilder",
|
||||
"Description": "Basic 3D modeling software",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Cortana",
|
||||
"AppId": "Microsoft.549981C3F5F10",
|
||||
"Description": "Microsoft Cortana voice assistant (Discontinued)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bing Finance",
|
||||
"AppId": "Microsoft.BingFinance",
|
||||
"Description": "Finance news and tracking via Bing (Discontinued)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bing Food And Drink",
|
||||
"AppId": "Microsoft.BingFoodAndDrink",
|
||||
"Description": "Recipes and food news via Bing (Discontinued)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bing Health And Fitness",
|
||||
"AppId": "Microsoft.BingHealthAndFitness",
|
||||
"Description": "Health and fitness tracking/news via Bing (Discontinued)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bing News",
|
||||
"AppId": "Microsoft.BingNews",
|
||||
"Description": "News aggregator via Bing (Replaced by Microsoft News/Start)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bing Sports",
|
||||
"AppId": "Microsoft.BingSports",
|
||||
"Description": "Sports news and scores via Bing (Discontinued)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bing Translator",
|
||||
"AppId": "Microsoft.BingTranslator",
|
||||
"Description": "Translation service via Bing",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bing Travel",
|
||||
"AppId": "Microsoft.BingTravel",
|
||||
"Description": "Travel planning and news via Bing (Discontinued)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bing Weather",
|
||||
"AppId": "Microsoft.BingWeather",
|
||||
"Description": "Weather forecast via Bing",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Copilot",
|
||||
"AppId": "Microsoft.Copilot",
|
||||
"Description": "AI assistant integrated into Windows",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Get Started",
|
||||
"AppId": "Microsoft.Getstarted",
|
||||
"Description": "Tips and introductory guide for Windows (Cannot be uninstalled in Windows 11)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Messaging",
|
||||
"AppId": "Microsoft.Messaging",
|
||||
"Description": "Messaging app, often integrates with Skype (Largely deprecated)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "3D Viewer",
|
||||
"AppId": "Microsoft.Microsoft3DViewer",
|
||||
"Description": "Viewer for 3D models",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Microsoft Journal",
|
||||
"AppId": "Microsoft.MicrosoftJournal",
|
||||
"Description": "Digital note-taking app optimized for pen input",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Office Hub",
|
||||
"AppId": "Microsoft.MicrosoftOfficeHub",
|
||||
"Description": "Hub to access Microsoft Office apps and documents (Precursor to Microsoft 365 app)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Power BI",
|
||||
"AppId": "Microsoft.MicrosoftPowerBIForWindows",
|
||||
"Description": "Business analytics service client",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Solitaire Collection",
|
||||
"AppId": "Microsoft.MicrosoftSolitaireCollection",
|
||||
"Description": "Collection of solitaire card games",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Sticky Notes",
|
||||
"AppId": "Microsoft.MicrosoftStickyNotes",
|
||||
"Description": "Digital sticky notes app (Deprecated & replaced by OneNote)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Mixed Reality Portal",
|
||||
"AppId": "Microsoft.MixedReality.Portal",
|
||||
"Description": "Portal for Windows Mixed Reality headsets",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Network Speed Test",
|
||||
"AppId": "Microsoft.NetworkSpeedTest",
|
||||
"Description": "Internet connection speed test utility",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Microsoft News",
|
||||
"AppId": "Microsoft.News",
|
||||
"Description": "News aggregator (Replaced Bing News, now part of Microsoft Start)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "OneNote",
|
||||
"AppId": "Microsoft.Office.OneNote",
|
||||
"Description": "Digital note-taking app (Universal Windows Platform version)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Sway",
|
||||
"AppId": "Microsoft.Office.Sway",
|
||||
"Description": "Presentation and storytelling app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "One Connect",
|
||||
"AppId": "Microsoft.OneConnect",
|
||||
"Description": "Mobile Operator management app (Replaced by Mobile Plans)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Print 3D",
|
||||
"AppId": "Microsoft.Print3D",
|
||||
"Description": "3D printing preparation software",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Power Automate",
|
||||
"AppId": "Microsoft.PowerAutomateDesktop",
|
||||
"Description": "Desktop automation tool (RPA)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Skype (UWP)",
|
||||
"AppId": "Microsoft.SkypeApp",
|
||||
"Description": "Skype communication app, Universal Windows Platform version (Discontinued)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Microsoft To Do",
|
||||
"AppId": "Microsoft.Todos",
|
||||
"Description": "To-do list and task management app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Dev Home",
|
||||
"AppId": "Microsoft.Windows.DevHome",
|
||||
"Description": "Developer dashboard and tool configuration utility (Discontinued)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Alarms & Clock",
|
||||
"AppId": "Microsoft.WindowsAlarms",
|
||||
"Description": "Alarms & Clock app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Feedback Hub",
|
||||
"AppId": "Microsoft.WindowsFeedbackHub",
|
||||
"Description": "App for providing feedback to Microsoft on Windows",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Windows Maps",
|
||||
"AppId": "Microsoft.WindowsMaps",
|
||||
"Description": "Mapping and navigation app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Sound Recorder",
|
||||
"AppId": "Microsoft.WindowsSoundRecorder",
|
||||
"Description": "Basic audio recording app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Xbox Console Companion",
|
||||
"AppId": "Microsoft.XboxApp",
|
||||
"Description": "Old Xbox Console Companion App (Discontinued)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Movies & TV",
|
||||
"AppId": "Microsoft.ZuneVideo",
|
||||
"Description": "Movies & TV app for renting/buying/playing video content (Rebranded as \"Films & TV\")",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Family Safety",
|
||||
"AppId": "MicrosoftCorporationII.MicrosoftFamily",
|
||||
"Description": "Family Safety App for managing family accounts and settings",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Quick Assist",
|
||||
"AppId": "MicrosoftCorporationII.QuickAssist",
|
||||
"Description": "Remote assistance tool",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "MS Teams (Old)",
|
||||
"AppId": "MicrosoftTeams",
|
||||
"Description": "Old MS Teams personal (MS Store version)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "MS Teams (New)",
|
||||
"AppId": "MSTeams",
|
||||
"Description": "New MS Teams app (Work/School or Personal)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "ACG Media Player",
|
||||
"AppId": "ACGMediaPlayer",
|
||||
"Description": "Media player app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Actipro Software",
|
||||
"AppId": "ActiproSoftwareLLC",
|
||||
"Description": "Potentially UI controls or software components, often bundled by OEMs",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Adobe Photoshop Express",
|
||||
"AppId": "AdobeSystemsIncorporated.AdobePhotoshopExpress",
|
||||
"Description": "Basic photo editing app from Adobe",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Amazon",
|
||||
"AppId": "Amazon.com.Amazon",
|
||||
"Description": "Amazon shopping app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Prime Video",
|
||||
"AppId": "AmazonVideo.PrimeVideo",
|
||||
"Description": "Amazon Prime Video streaming service app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Asphalt 8",
|
||||
"AppId": "Asphalt8Airborne",
|
||||
"Description": "Racing game",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Autodesk SketchBook",
|
||||
"AppId": "AutodeskSketchBook",
|
||||
"Description": "Digital drawing and sketching app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Caesars Slots",
|
||||
"AppId": "CaesarsSlotsFreeCasino",
|
||||
"Description": "Casino slot machine game",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Cooking Fever",
|
||||
"AppId": "COOKINGFEVER",
|
||||
"Description": "Restaurant simulation game",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "CyberLink Media Suite",
|
||||
"AppId": "CyberLinkMediaSuiteEssentials",
|
||||
"Description": "Multimedia software suite (often preinstalled by OEMs)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Disney Magic Kingdoms",
|
||||
"AppId": "DisneyMagicKingdoms",
|
||||
"Description": "Disney theme park building game",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Disney",
|
||||
"AppId": "Disney",
|
||||
"Description": "General Disney content app (may vary by region/OEM, often Disney+)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Drawboard PDF",
|
||||
"AppId": "DrawboardPDF",
|
||||
"Description": "PDF viewing and annotation app, often focused on pen input",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Duolingo",
|
||||
"AppId": "Duolingo-LearnLanguagesforFree",
|
||||
"Description": "Language learning app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Eclipse Manager",
|
||||
"AppId": "EclipseManager",
|
||||
"Description": "Often related to specific OEM software or utilities (e.g., for managing screen settings)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Facebook",
|
||||
"AppId": "Facebook",
|
||||
"Description": "Facebook social media app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "FarmVille 2",
|
||||
"AppId": "FarmVille2CountryEscape",
|
||||
"Description": "Farming simulation game",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Fitbit",
|
||||
"AppId": "fitbit",
|
||||
"Description": "Fitbit activity tracker companion app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Flipboard",
|
||||
"AppId": "Flipboard",
|
||||
"Description": "News and social network aggregator styled as a magazine",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Hidden City",
|
||||
"AppId": "HiddenCity",
|
||||
"Description": "Hidden object puzzle adventure game",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Hulu",
|
||||
"AppId": "HULULLC.HULUPLUS",
|
||||
"Description": "Hulu streaming service app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "iHeartRadio",
|
||||
"AppId": "iHeartRadio",
|
||||
"Description": "Internet radio streaming app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Instagram",
|
||||
"AppId": "Instagram",
|
||||
"Description": "Instagram social media app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bubble Witch 3",
|
||||
"AppId": "king.com.BubbleWitch3Saga",
|
||||
"Description": "Puzzle game from King",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Candy Crush Saga",
|
||||
"AppId": "king.com.CandyCrushSaga",
|
||||
"Description": "Puzzle game from King",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Candy Crush Soda",
|
||||
"AppId": "king.com.CandyCrushSodaSaga",
|
||||
"Description": "Puzzle game from King",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "LinkedIn",
|
||||
"AppId": "LinkedInforWindows",
|
||||
"Description": "LinkedIn professional networking app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "March of Empires",
|
||||
"AppId": "MarchofEmpires",
|
||||
"Description": "Strategy game",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Netflix",
|
||||
"AppId": "Netflix",
|
||||
"Description": "Netflix streaming service app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "NYT Crossword",
|
||||
"AppId": "NYTCrossword",
|
||||
"Description": "New York Times crossword puzzle app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "One Calendar",
|
||||
"AppId": "OneCalendar",
|
||||
"Description": "Calendar aggregation app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Pandora",
|
||||
"AppId": "PandoraMediaInc",
|
||||
"Description": "Pandora music streaming app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Phototastic Collage",
|
||||
"AppId": "PhototasticCollage",
|
||||
"Description": "Photo collage creation app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "PicsArt",
|
||||
"AppId": "PicsArt-PhotoStudio",
|
||||
"Description": "Photo editing and creative app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Plex",
|
||||
"AppId": "Plex",
|
||||
"Description": "Media server and player app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Polarr Photo Editor",
|
||||
"AppId": "PolarrPhotoEditorAcademicEdition",
|
||||
"Description": "Photo editing app (Academic Edition)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Royal Revolt",
|
||||
"AppId": "Royal Revolt",
|
||||
"Description": "Tower defense / strategy game",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Shazam",
|
||||
"AppId": "Shazam",
|
||||
"Description": "Music identification app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Live Wallpaper",
|
||||
"AppId": "Sidia.LiveWallpaper",
|
||||
"Description": "Live wallpaper app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Sling TV",
|
||||
"AppId": "SlingTV",
|
||||
"Description": "Live TV streaming service app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Spotify",
|
||||
"AppId": "Spotify",
|
||||
"Description": "Spotify music streaming app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "TikTok",
|
||||
"AppId": "TikTok",
|
||||
"Description": "TikTok short-form video app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "TuneIn Radio",
|
||||
"AppId": "TuneInRadio",
|
||||
"Description": "Internet radio streaming app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Twitter",
|
||||
"AppId": "Twitter",
|
||||
"Description": "Twitter (now X) social media app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Viber",
|
||||
"AppId": "Viber",
|
||||
"Description": "Messaging and calling app",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "WinZip",
|
||||
"AppId": "WinZipUniversal",
|
||||
"Description": "File compression and extraction utility (Universal Windows Platform version)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Wunderlist",
|
||||
"AppId": "Wunderlist",
|
||||
"Description": "To-do list app (Acquired by Microsoft, functionality moved to Microsoft To Do)",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "XING",
|
||||
"AppId": "XING",
|
||||
"Description": "Professional networking platform popular in German-speaking countries",
|
||||
"SelectedByDefault": true
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Bing Search",
|
||||
"AppId": "Microsoft.BingSearch",
|
||||
"Description": "Web Search from Microsoft Bing (Integrates into Windows Search)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Microsoft Edge",
|
||||
"AppId": "Microsoft.Edge",
|
||||
"Description": "Edge browser (Can only be uninstalled in European Economic Area)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Xbox Gaming App",
|
||||
"AppId": "Microsoft.GamingApp",
|
||||
"Description": "Modern Xbox Gaming App, required for installing some PC games",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Get Help",
|
||||
"AppId": "Microsoft.GetHelp",
|
||||
"Description": "Required for some Windows 11 Troubleshooters and support interactions",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Microsoft 365 Companions",
|
||||
"AppId": "Microsoft.M365Companions",
|
||||
"Description": "Microsoft 365 (Business) Calendar, Files and People mini-apps, these apps may be reinstalled if enabled by your Microsoft 365 admin",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Paint 3D",
|
||||
"AppId": "Microsoft.MSPaint",
|
||||
"Description": "Paint 3D (Modern paint application with 3D features)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "OneDrive",
|
||||
"AppId": "Microsoft.OneDrive",
|
||||
"Description": "OneDrive consumer cloud storage client",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Outlook for Windows",
|
||||
"AppId": "Microsoft.OutlookForWindows",
|
||||
"Description": "New Outlook for Windows mail client",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Paint",
|
||||
"AppId": "Microsoft.Paint",
|
||||
"Description": "Classic Paint (Traditional 2D paint application)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "People",
|
||||
"AppId": "Microsoft.People",
|
||||
"Description": "Required for & included with Mail & Calendar (Contacts management)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Remote Desktop",
|
||||
"AppId": "Microsoft.RemoteDesktop",
|
||||
"Description": "Remote Desktop client app",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Snipping Tool",
|
||||
"AppId": "Microsoft.ScreenSketch",
|
||||
"Description": "Snipping Tool (Screenshot and annotation tool)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Widgets Experience",
|
||||
"AppId": "Microsoft.StartExperiencesApp",
|
||||
"Description": "This app powers Windows Widgets My Feed",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Whiteboard",
|
||||
"AppId": "Microsoft.Whiteboard",
|
||||
"Description": "Digital collaborative whiteboard app",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Photos",
|
||||
"AppId": "Microsoft.Windows.Photos",
|
||||
"Description": "Default photo viewing and basic editing app",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Calculator",
|
||||
"AppId": "Microsoft.WindowsCalculator",
|
||||
"Description": "Calculator app",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Camera",
|
||||
"AppId": "Microsoft.WindowsCamera",
|
||||
"Description": "Camera app for using built-in or connected cameras",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Mail & Calendar",
|
||||
"AppId": "Microsoft.windowscommunicationsapps",
|
||||
"Description": "Mail & Calendar app suite (Discontinued)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Notepad",
|
||||
"AppId": "Microsoft.WindowsNotepad",
|
||||
"Description": "Notepad text editor app",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Microsoft Store",
|
||||
"AppId": "Microsoft.WindowsStore",
|
||||
"Description": "Microsoft Store, WARNING: This app cannot be reinstalled easily if removed!",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Windows Terminal",
|
||||
"AppId": "Microsoft.WindowsTerminal",
|
||||
"Description": "Default terminal app in windows 11 (Command Prompt, PowerShell, WSL)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Xbox TCUI Framework",
|
||||
"AppId": "Microsoft.Xbox.TCUI",
|
||||
"Description": "UI framework, seems to be required for MS store, photos and certain games",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Xbox Game Overlay",
|
||||
"AppId": "Microsoft.XboxGameOverlay",
|
||||
"Description": "Game overlay, required/useful for some games (Part of Xbox Game Bar)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Xbox Gaming Overlay",
|
||||
"AppId": "Microsoft.XboxGamingOverlay",
|
||||
"Description": "Game overlay, required/useful for some games (Part of Xbox Game Bar)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Xbox Identity Provider",
|
||||
"AppId": "Microsoft.XboxIdentityProvider",
|
||||
"Description": "Xbox sign-in framework, required for some games and Xbox services",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Xbox Speech To Text",
|
||||
"AppId": "Microsoft.XboxSpeechToTextOverlay",
|
||||
"Description": "Accessibility feature required for some games, WARNING: This app cannot be reinstalled easily!",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Phone Link",
|
||||
"AppId": "Microsoft.YourPhone",
|
||||
"Description": "Phone link (Connects Android/iOS phone to PC)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Media Player",
|
||||
"AppId": "Microsoft.ZuneMusic",
|
||||
"Description": "Modern Media Player (Replaced Groove Music, plays local audio/video)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "Cross Device Experience",
|
||||
"AppId": "MicrosoftWindows.CrossDevice",
|
||||
"Description": "Phone integration within File Explorer, Camera and more (Part of Phone Link features)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP AI Experience Center",
|
||||
"AppId": "AD2F1837.HPAIExperienceCenter",
|
||||
"Description": "HP OEM software, AI-enhanced features and support",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Connected Music",
|
||||
"AppId": "AD2F1837.HPConnectedMusic",
|
||||
"Description": "HP OEM software for music (Potentially discontinued)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Connected Photo",
|
||||
"AppId": "AD2F1837.HPConnectedPhotopoweredbySnapfish",
|
||||
"Description": "HP OEM software for photos, integrated with Snapfish (Potentially discontinued)",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Desktop Support Utilities",
|
||||
"AppId": "AD2F1837.HPDesktopSupportUtilities",
|
||||
"Description": "HP OEM software providing desktop support tools",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Easy Clean",
|
||||
"AppId": "AD2F1837.HPEasyClean",
|
||||
"Description": "HP OEM software for system cleaning or optimization",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP File Viewer",
|
||||
"AppId": "AD2F1837.HPFileViewer",
|
||||
"Description": "HP OEM software for viewing specific file types",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP JumpStarts",
|
||||
"AppId": "AD2F1837.HPJumpStarts",
|
||||
"Description": "HP OEM software for tutorials, app discovery, or quick access to HP features",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP PC Hardware Diagnostics",
|
||||
"AppId": "AD2F1837.HPPCHardwareDiagnosticsWindows",
|
||||
"Description": "HP OEM software for PC hardware diagnostics",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Power Manager",
|
||||
"AppId": "AD2F1837.HPPowerManager",
|
||||
"Description": "HP OEM software for managing power settings and battery",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Printer Control",
|
||||
"AppId": "AD2F1837.HPPrinterControl",
|
||||
"Description": "HP OEM software for managing HP printers",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Privacy Settings",
|
||||
"AppId": "AD2F1837.HPPrivacySettings",
|
||||
"Description": "HP OEM software for managing privacy settings",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP QuickDrop",
|
||||
"AppId": "AD2F1837.HPQuickDrop",
|
||||
"Description": "HP OEM software for quick file transfer between devices",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP QuickTouch",
|
||||
"AppId": "AD2F1837.HPQuickTouch",
|
||||
"Description": "HP OEM software, possibly for touch-specific shortcuts or controls",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Registration",
|
||||
"AppId": "AD2F1837.HPRegistration",
|
||||
"Description": "HP OEM software for product registration",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Support Assistant",
|
||||
"AppId": "AD2F1837.HPSupportAssistant",
|
||||
"Description": "HP OEM software for support, updates, and troubleshooting",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Sure Shield AI",
|
||||
"AppId": "AD2F1837.HPSureShieldAI",
|
||||
"Description": "HP OEM security software, likely AI-based threat protection",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP System Information",
|
||||
"AppId": "AD2F1837.HPSystemInformation",
|
||||
"Description": "HP OEM software for displaying system information",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP Welcome",
|
||||
"AppId": "AD2F1837.HPWelcome",
|
||||
"Description": "HP OEM software providing a welcome experience or initial setup help",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "HP WorkWell",
|
||||
"AppId": "AD2F1837.HPWorkWell",
|
||||
"Description": "HP OEM software focused on well-being, possibly with break reminders or ergonomic tips",
|
||||
"SelectedByDefault": false
|
||||
},
|
||||
{
|
||||
"FriendlyName": "myHP",
|
||||
"AppId": "AD2F1837.myHP",
|
||||
"Description": "HP OEM central hub app for device info, support, and services",
|
||||
"SelectedByDefault": false
|
||||
}
|
||||
]
|
||||
}
|
||||
152
Appslist.txt
152
Appslist.txt
@@ -1,152 +0,0 @@
|
||||
# -------------------------------------------------------------------------------------------------------------- #
|
||||
# The apps below this line WILL be uninstalled by default. Add a # character in front of any app you want to #
|
||||
# KEEP installed by default. #
|
||||
# -------------------------------------------------------------------------------------------------------------- #
|
||||
Clipchamp.Clipchamp # Video editor from Microsoft
|
||||
Microsoft.3DBuilder # Basic 3D modeling software
|
||||
Microsoft.549981C3F5F10 # Cortana app (Voice assistant)
|
||||
Microsoft.BingFinance # Finance news and tracking via Bing (Discontinued)
|
||||
Microsoft.BingFoodAndDrink # Recipes and food news via Bing (Discontinued)
|
||||
Microsoft.BingHealthAndFitness # Health and fitness tracking/news via Bing (Discontinued)
|
||||
Microsoft.BingNews # News aggregator via Bing (Replaced by Microsoft News/Start)
|
||||
Microsoft.BingSports # Sports news and scores via Bing (Discontinued)
|
||||
Microsoft.BingTranslator # Translation service via Bing
|
||||
Microsoft.BingTravel # Travel planning and news via Bing (Discontinued)
|
||||
Microsoft.BingWeather # Weather forecast via Bing
|
||||
Microsoft.Copilot # AI assistant integrated into Windows
|
||||
Microsoft.Getstarted # Tips and introductory guide for Windows (Cannot be uninstalled in Windows 11)
|
||||
Microsoft.Messaging # Messaging app, often integrates with Skype (Largely deprecated)
|
||||
Microsoft.Microsoft3DViewer # Viewer for 3D models
|
||||
Microsoft.MicrosoftJournal # Digital note-taking app optimized for pen input
|
||||
Microsoft.MicrosoftOfficeHub # Hub to access Microsoft Office apps and documents (Precursor to Microsoft 365 app)
|
||||
Microsoft.MicrosoftPowerBIForWindows # Business analytics service client
|
||||
Microsoft.MicrosoftSolitaireCollection # Collection of solitaire card games
|
||||
Microsoft.MicrosoftStickyNotes # Digital sticky notes app (Deprecated & replaced by OneNote)
|
||||
Microsoft.MixedReality.Portal # Portal for Windows Mixed Reality headsets
|
||||
Microsoft.NetworkSpeedTest # Internet connection speed test utility
|
||||
Microsoft.News # News aggregator (Replaced Bing News, now part of Microsoft Start)
|
||||
Microsoft.Office.OneNote # Digital note-taking app (Universal Windows Platform version)
|
||||
Microsoft.Office.Sway # Presentation and storytelling app
|
||||
Microsoft.OneConnect # Mobile Operator management app (Replaced by Mobile Plans)
|
||||
Microsoft.Print3D # 3D printing preparation software
|
||||
Microsoft.PowerAutomateDesktop # Desktop automation tool (RPA)
|
||||
Microsoft.SkypeApp # Skype communication app (Universal Windows Platform version)
|
||||
Microsoft.Todos # To-do list and task management app
|
||||
Microsoft.Windows.DevHome # Developer dashboard and tool configuration utility, no longer supported
|
||||
Microsoft.WindowsAlarms # Alarms & Clock app
|
||||
Microsoft.WindowsFeedbackHub # App for providing feedback to Microsoft on Windows
|
||||
Microsoft.WindowsMaps # Mapping and navigation app
|
||||
Microsoft.WindowsSoundRecorder # Basic audio recording app
|
||||
Microsoft.XboxApp # Old Xbox Console Companion App, no longer supported
|
||||
Microsoft.ZuneVideo # Movies & TV app for renting/buying/playing video content (Rebranded as "Films & TV")
|
||||
MicrosoftCorporationII.MicrosoftFamily # Family Safety App for managing family accounts and settings
|
||||
MicrosoftCorporationII.QuickAssist # Remote assistance tool
|
||||
MicrosoftTeams # Old MS Teams personal (MS Store version)
|
||||
MSTeams # New MS Teams app (Work/School or Personal)
|
||||
|
||||
ACGMediaPlayer # Media player app
|
||||
ActiproSoftwareLLC # Potentially UI controls or software components, often bundled by OEMs
|
||||
AdobeSystemsIncorporated.AdobePhotoshopExpress # Basic photo editing app from Adobe
|
||||
Amazon.com.Amazon # Amazon shopping app
|
||||
AmazonVideo.PrimeVideo # Amazon Prime Video streaming service app
|
||||
Asphalt8Airborne # Racing game
|
||||
AutodeskSketchBook # Digital drawing and sketching app
|
||||
CaesarsSlotsFreeCasino # Casino slot machine game
|
||||
COOKINGFEVER # Restaurant simulation game
|
||||
CyberLinkMediaSuiteEssentials # Multimedia software suite (often preinstalled by OEMs)
|
||||
DisneyMagicKingdoms # Disney theme park building game
|
||||
Disney # General Disney content app (may vary by region/OEM, often Disney+)
|
||||
DrawboardPDF # PDF viewing and annotation app, often focused on pen input
|
||||
Duolingo-LearnLanguagesforFree # Language learning app
|
||||
EclipseManager # Often related to specific OEM software or utilities (e.g., for managing screen settings)
|
||||
Facebook # Facebook social media app
|
||||
FarmVille2CountryEscape # Farming simulation game
|
||||
fitbit # Fitbit activity tracker companion app
|
||||
Flipboard # News and social network aggregator styled as a magazine
|
||||
HiddenCity # Hidden object puzzle adventure game
|
||||
HULULLC.HULUPLUS # Hulu streaming service app
|
||||
iHeartRadio # Internet radio streaming app
|
||||
Instagram # Instagram social media app
|
||||
king.com.BubbleWitch3Saga # Puzzle game from King
|
||||
king.com.CandyCrushSaga # Puzzle game from King
|
||||
king.com.CandyCrushSodaSaga # Puzzle game from King
|
||||
LinkedInforWindows # LinkedIn professional networking app
|
||||
MarchofEmpires # Strategy game
|
||||
Netflix # Netflix streaming service app
|
||||
NYTCrossword # New York Times crossword puzzle app
|
||||
OneCalendar # Calendar aggregation app
|
||||
PandoraMediaInc # Pandora music streaming app
|
||||
PhototasticCollage # Photo collage creation app
|
||||
PicsArt-PhotoStudio # Photo editing and creative app
|
||||
Plex # Media server and player app
|
||||
PolarrPhotoEditorAcademicEdition # Photo editing app (Academic Edition)
|
||||
Royal Revolt # Tower defense / strategy game
|
||||
Shazam # Music identification app
|
||||
Sidia.LiveWallpaper # Live wallpaper app
|
||||
SlingTV # Live TV streaming service app
|
||||
Spotify # Spotify music streaming app
|
||||
TikTok # TikTok short-form video app
|
||||
TuneInRadio # Internet radio streaming app
|
||||
Twitter # Twitter (now X) social media app
|
||||
Viber # Messaging and calling app
|
||||
WinZipUniversal # File compression and extraction utility (Universal Windows Platform version)
|
||||
Wunderlist # To-do list app (Acquired by Microsoft, functionality moved to Microsoft To Do)
|
||||
XING # Professional networking platform popular in German-speaking countries
|
||||
|
||||
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------------------------------------------- #
|
||||
# The apps below this line will NOT be uninstalled by default. Remove the # character in front of any app you #
|
||||
# want to UNINSTALL by default. #
|
||||
# ------------------------------------------------------------------------------------------------------------- #
|
||||
#Microsoft.BingSearch # Web Search from Microsoft Bing (Integrates into Windows Search)
|
||||
#Microsoft.Copilot # New Microsoft Copilot app (AI assistant)
|
||||
#Microsoft.Edge # Edge browser (Can only be uninstalled in European Economic Area)
|
||||
#Microsoft.GamingApp # Modern Xbox Gaming App, required for installing some PC games
|
||||
#Microsoft.GetHelp # Required for some Windows 11 Troubleshooters and support interactions
|
||||
#Microsoft.M365Companions # Microsoft 365 (Business) Calendar, Files and People mini-apps, these apps may be reinstalled if enabled by your Microsoft 365 admin
|
||||
#Microsoft.MSPaint # Paint 3D (Modern paint application with 3D features)
|
||||
#Microsoft.OneDrive # OneDrive consumer cloud storage client
|
||||
#Microsoft.OutlookForWindows # New mail app: Outlook for Windows
|
||||
#Microsoft.Paint # Classic Paint (Traditional 2D paint application)
|
||||
#Microsoft.People # Required for & included with Mail & Calendar (Contacts management)
|
||||
#Microsoft.RemoteDesktop # Remote Desktop client app
|
||||
#Microsoft.ScreenSketch # Snipping Tool (Screenshot and annotation tool)
|
||||
#Microsoft.StartExperiencesApp # This app powers Windows Widgets My Feed
|
||||
#Microsoft.Whiteboard # Digital collaborative whiteboard app
|
||||
#Microsoft.Windows.Photos # Default photo viewing and basic editing app
|
||||
#Microsoft.WindowsCalculator # Calculator app
|
||||
#Microsoft.WindowsCamera # Camera app for using built-in or connected cameras
|
||||
#Microsoft.windowscommunicationsapps # Mail & Calendar app suite
|
||||
#Microsoft.WindowsNotepad # Notepad text editor app
|
||||
#Microsoft.WindowsStore # Microsoft Store, WARNING: This app cannot be reinstalled easily if removed!
|
||||
#Microsoft.WindowsTerminal # New default terminal app in windows 11 (Command Prompt, PowerShell, WSL)
|
||||
#Microsoft.Xbox.TCUI # UI framework, seems to be required for MS store, photos and certain games
|
||||
#Microsoft.XboxGameOverlay # Game overlay, required/useful for some games (Part of Xbox Game Bar)
|
||||
#Microsoft.XboxGamingOverlay # Game overlay, required/useful for some games (Part of Xbox Game Bar)
|
||||
#Microsoft.XboxIdentityProvider # Xbox sign-in framework, required for some games and Xbox services
|
||||
#Microsoft.XboxSpeechToTextOverlay # Might be required for some games, WARNING: This app cannot be reinstalled easily! (Accessibility feature)
|
||||
#Microsoft.YourPhone # Phone link (Connects Android/iOS phone to PC)
|
||||
#Microsoft.ZuneMusic # Modern Media Player (Replaced Groove Music, plays local audio/video)
|
||||
#MicrosoftWindows.CrossDevice # Phone integration within File Explorer, Camera and more (Part of Phone Link features)
|
||||
#AD2F1837.HPAIExperienceCenter # HP OEM software, AI-enhanced features and support
|
||||
#AD2F1837.HPConnectedMusic # HP OEM software for music (Potentially discontinued)
|
||||
#AD2F1837.HPConnectedPhotopoweredbySnapfish # HP OEM software for photos, integrated with Snapfish (Potentially discontinued)
|
||||
#AD2F1837.HPDesktopSupportUtilities # HP OEM software providing desktop support tools
|
||||
#AD2F1837.HPEasyClean # HP OEM software for system cleaning or optimization
|
||||
#AD2F1837.HPFileViewer # HP OEM software for viewing specific file types
|
||||
#AD2F1837.HPJumpStarts # HP OEM software for tutorials, app discovery, or quick access to HP features
|
||||
#AD2F1837.HPPCHardwareDiagnosticsWindows # HP OEM software for PC hardware diagnostics
|
||||
#AD2F1837.HPPowerManager # HP OEM software for managing power settings and battery
|
||||
#AD2F1837.HPPrinterControl # HP OEM software for managing HP printers
|
||||
#AD2F1837.HPPrivacySettings # HP OEM software for managing privacy settings
|
||||
#AD2F1837.HPQuickDrop # HP OEM software for quick file transfer between devices
|
||||
#AD2F1837.HPQuickTouch # HP OEM software, possibly for touch-specific shortcuts or controls
|
||||
#AD2F1837.HPRegistration # HP OEM software for product registration
|
||||
#AD2F1837.HPSupportAssistant # HP OEM software for support, updates, and troubleshooting
|
||||
#AD2F1837.HPSureShieldAI # HP OEM security software, likely AI-based threat protection
|
||||
#AD2F1837.HPSystemInformation # HP OEM software for displaying system information
|
||||
#AD2F1837.HPWelcome # HP OEM software providing a welcome experience or initial setup help
|
||||
#AD2F1837.HPWorkWell # HP OEM software focused on well-being, possibly with break reminders or ergonomic tips
|
||||
#AD2F1837.myHP # HP OEM central hub app for device info, support, and services
|
||||
1355
Assets/Features.json
Normal file
1355
Assets/Features.json
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Assets/Images/menu.png
Normal file
BIN
Assets/Images/menu.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
@@ -1,11 +0,0 @@
|
||||
- Disable & remove Microsoft Copilot
|
||||
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads
|
||||
- Disable tips, tricks, suggestions and ads in start, settings, notifications and File Explorer
|
||||
- Disable ads, suggestions and the MSN news feed in Microsoft Edge
|
||||
- Disable tips & tricks on the lockscreen (This may change your lockscreen wallpaper)
|
||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search
|
||||
- Show file extensions for known file types
|
||||
- Disable widgets on the taskbar & lockscreen
|
||||
- Disable Fast Start-up
|
||||
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
Win11Debloat is a lightweight, easy to use PowerShell script that allows you to quickly
|
||||
declutter and improve your Windows experience. It can remove pre-installed bloatware apps,
|
||||
disable telemetry, remove intrusive interface elements and much more.
|
||||
|
||||
-------------------------------------------------------------------------------------------
|
||||
All Features
|
||||
-------------------------------------------------------------------------------------------
|
||||
App Removal
|
||||
- Remove a wide variety of preinstalled apps.
|
||||
- Remove or replace all pinned apps from start for the current user, or for all existing & new users. (W11 only)
|
||||
|
||||
Telemetry, Tracking & Suggested Content
|
||||
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
||||
- Disable tips, tricks, suggestions & ads across Windows.
|
||||
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.
|
||||
- Disable the 'Windows Spotlight' desktop background option.
|
||||
|
||||
Bing Web Search, Copilot & AI Features
|
||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
||||
- Disable & remove Microsoft Copilot.
|
||||
- Disable Windows Recall. (W11 only)
|
||||
- Disable Click to Do, AI text & image analysis tool. (W11 only)
|
||||
- Disable AI Features in Edge. (W11 only)
|
||||
- Disable AI Features in Paint. (W11 only)
|
||||
- Disable AI Features in Notepad. (W11 only)
|
||||
|
||||
Personalisation
|
||||
- Enable dark mode for system and apps.
|
||||
- Disable transparency, animations and visual effects.
|
||||
- Turn off Enhance Pointer Precision, also known as mouse acceleration.
|
||||
- Disable the Sticky Keys keyboard shortcut. (W11 only)
|
||||
- Restore the old Windows 10 style context menu. (W11 only)
|
||||
- Hide the 'Include in library', 'Give access to' and 'Share' options from the context menu. (W10 only)
|
||||
|
||||
File Explorer
|
||||
- Change the default location that File Explorer opens to.
|
||||
- Show hidden files, folders and drives.
|
||||
- Show file extensions for known file types.
|
||||
- Hide the Home or Gallery section from the File Explorer navigation pane. (W11 only)
|
||||
- Hide the 3D objects, music or OneDrive folder from the File Explorer navigation pane. (W10 only)
|
||||
- Hide duplicate removable drive entries from the File Explorer navigation pane.
|
||||
|
||||
Taskbar
|
||||
- Align taskbar icons to the left. (W11 only)
|
||||
- Choose combine mode for taskbar buttons and labels. (W11 only)
|
||||
- Choose how app icons are shown on the taskbar when using multiple monitors. (W11 only)
|
||||
- Hide or change the search icon/box on the taskbar. (W11 only)
|
||||
- Hide the taskview button from the taskbar. (W11 only)
|
||||
- Disable widgets on the taskbar & lockscreen.
|
||||
- Hide the chat (meet now) icon from the taskbar. (W10 only)
|
||||
- Enable the 'End Task' option in the taskbar right click menu. (W11 only)
|
||||
- Enable the 'Last Active Click' behavior in the taskbar app area.
|
||||
|
||||
Start
|
||||
- Disable the recommended section in the start menu. (W11 only)
|
||||
- Disable the Phone Link mobile devices integration in the start menu. (W11 only)
|
||||
|
||||
Other
|
||||
- Disable Xbox Game Bar integration & game/screen recording. This also disables `ms-gamingoverlay`/`ms-gamebar` popups.
|
||||
- Disable Fast Start-up to ensure a full shutdown.
|
||||
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||
|
||||
Advanced Features
|
||||
- Option to apply changes to a different user, instead of the currently logged in user.
|
||||
- Sysprep mode to apply changes to the Windows Default user profile.
|
||||
|
||||
-------------------------------------------------------------------------------------------
|
||||
Default mode
|
||||
-------------------------------------------------------------------------------------------
|
||||
The default mode applies the changes that are recommended for most users. This includes:
|
||||
- Remove the default selection or your custom selection of apps.
|
||||
- Disable telemetry, diagnostic data, app-launch tracking & targeted ads.
|
||||
- Disable tips, tricks, suggestions & ads across Windows.
|
||||
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.
|
||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
||||
- Disable & remove Microsoft Copilot.
|
||||
- Disable Windows Recall. (W11 only)
|
||||
- Disable Click to Do, AI text & image analysis tool. (W11 only)
|
||||
- Disable Fast Start-up to ensure a full shutdown.
|
||||
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||
- Show file extensions for known file types.
|
||||
- Hide the 3D objects folder in Windows Explorer. (W10 only)
|
||||
- Disable widgets on the taskbar & lockscreen.
|
||||
- Hide the Chat (meet now) icon from the taskbar. (W10 only)
|
||||
|
||||
|
||||
BIN
Assets/menu.png
BIN
Assets/menu.png
Binary file not shown.
|
Before Width: | Height: | Size: 27 KiB |
69
DefaultSettings.json
Normal file
69
DefaultSettings.json
Normal file
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"Version": "1.0",
|
||||
"Settings": [
|
||||
{
|
||||
"Name": "CreateRestorePoint",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableTelemetry",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableSuggestions",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableEdgeAds",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableLockscreenTips",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableBing",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableCopilot",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableRecall",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableClickToDo",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableWidgets",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "HideChat",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "ShowKnownFileExt",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableDragTray",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableFastStartup",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "Hide3dObjects",
|
||||
"Value": true
|
||||
},
|
||||
{
|
||||
"Name": "DisableModernStandbyNetworking",
|
||||
"Value": true
|
||||
}
|
||||
]
|
||||
}
|
||||
288
README.md
288
README.md
@@ -1,17 +1,3 @@
|
||||
<div align="center" markdown="1">
|
||||
<sup>Special thanks to:</sup>
|
||||
<br>
|
||||
<br>
|
||||
<a href="https://www.warp.dev/windebloat">
|
||||
<img alt="Warp sponsorship" width="400" src="https://github.com/user-attachments/assets/c21102f7-bab9-4344-a731-0cf6b341cab2">
|
||||
</a>
|
||||
|
||||
### [Warp, the intelligent terminal for developers](https://www.warp.dev/windebloat)
|
||||
[Available for MacOS, Linux, & Windows](https://www.warp.dev/windebloat)<br>
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
# Win11Debloat
|
||||
|
||||
[](https://github.com/Raphire/Win11Debloat/releases/latest)
|
||||
@@ -20,9 +6,9 @@
|
||||
|
||||
Win11Debloat is a lightweight, easy to use PowerShell script that allows you to quickly declutter and improve your Windows experience. It can remove pre-installed bloatware apps, disable telemetry, remove intrusive interface elements and much more. No need to painstakingly go through all the settings yourself or remove apps one by one. Win11Debloat makes the process quick and easy!
|
||||
|
||||
The script also includes many features that system administrators will enjoy. Such as support for Windows Audit mode, the option to make changes to other Windows users and the ability to run the script without requiring user input during runtime. Please refer to our [wiki](https://github.com/Raphire/Win11Debloat/wiki/) for more details.
|
||||
The script also includes many features that system administrators and power users will enjoy. Such as support for Windows Audit mode, the option to make changes to other Windows users and the ability to access all of Win11Debloat's features right from the command-line. Please refer to our [wiki](https://github.com/Raphire/Win11Debloat/wiki/) for more details.
|
||||
|
||||

|
||||

|
||||
|
||||
#### Did this script help you? Please consider buying me a cup of coffee to support my work
|
||||
|
||||
@@ -47,7 +33,7 @@ Download & run the script automatically via PowerShell.
|
||||
3. Wait for the script to automatically download Win11Debloat.
|
||||
4. Carefully read through and follow the on-screen instructions.
|
||||
|
||||
This method supports command-line parameters to customize the behaviour of the script. Please click [here](https://github.com/Raphire/Win11Debloat/wiki/How-To-Use#parameters) for more information.
|
||||
This method supports command-line parameters to customize the behaviour of the script. Please click [here](https://github.com/Raphire/Win11Debloat/wiki/Command%E2%80%90line-Interface#parameters) for more information.
|
||||
|
||||
### Traditional method
|
||||
|
||||
@@ -83,12 +69,12 @@ This method supports command-line parameters to customize the behaviour of the s
|
||||
|
||||
6. Carefully read through and follow the on-screen instructions.
|
||||
|
||||
This method supports command-line parameters to customize the behaviour of the script. Please click [here](https://github.com/Raphire/Win11Debloat/wiki/How-To-Use#parameters) for more information.
|
||||
This method supports command-line parameters to customize the behaviour of the script. Please click [here](https://github.com/Raphire/Win11Debloat/wiki/Command%E2%80%90line-Interface#parameters) for more information.
|
||||
</details>
|
||||
|
||||
## Features
|
||||
|
||||
Below is an overview of the key features and functionality offered by Win11Debloat. For more information about what features are included in the default mode please refer to [this section](#default-settings) below.
|
||||
Below is an overview of the key features and functionality offered by Win11Debloat. Please refer to [the wiki](https://github.com/Raphire/Win11Debloat/wiki/Default-Settings) for more information about the default settings preset.
|
||||
|
||||
> [!Tip]
|
||||
> All of the changes made by Win11Debloat can easily be reverted and almost all of the apps can be reinstalled through the Microsoft Store. A full guide on how to revert changes can be found [here](https://github.com/Raphire/Win11Debloat/wiki/Reverting-Changes).
|
||||
@@ -96,18 +82,18 @@ Below is an overview of the key features and functionality offered by Win11Deblo
|
||||
#### App Removal
|
||||
|
||||
- Remove a wide variety of preinstalled apps. Click [here](https://github.com/Raphire/Win11Debloat/wiki/App-Removal) for more info.
|
||||
- Remove or replace all pinned apps from start for the current user, or for all existing & new users. (W11 only)
|
||||
|
||||
#### Telemetry, Tracking & Suggested Content
|
||||
#### Privacy & Suggested Content
|
||||
|
||||
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
||||
- Disable tips, tricks, suggestions & ads across Windows.
|
||||
- Disable 'Windows Spotlight' and tips & tricks on the lock screen.
|
||||
- Disable 'Windows Spotlight' desktop background option.
|
||||
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.
|
||||
- Disable the 'Windows Spotlight' desktop background option.
|
||||
- Hide Microsoft 365 ads on the Settings 'Home' page, or hide the 'Home' page entirely.
|
||||
|
||||
#### Bing Web Search, Copilot & AI Features
|
||||
#### AI Features
|
||||
|
||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
||||
- Disable & remove Microsoft Copilot.
|
||||
- Disable Windows Recall. (W11 only)
|
||||
- Disable Click to Do, AI text & image analysis tool. (W11 only)
|
||||
@@ -115,243 +101,75 @@ Below is an overview of the key features and functionality offered by Win11Deblo
|
||||
- Disable AI Features in Paint. (W11 only)
|
||||
- Disable AI Features in Notepad. (W11 only)
|
||||
|
||||
#### Personalisation
|
||||
#### System
|
||||
|
||||
- Enable dark mode for system and apps.
|
||||
- Disable transparency, animations and visual effects.
|
||||
- Disable the Drag Tray for sharing & moving files. (W11 only)
|
||||
- Restore the old Windows 10 style context menu. (W11 only)
|
||||
- Turn off Enhance Pointer Precision, also known as mouse acceleration.
|
||||
- Disable the Sticky Keys keyboard shortcut. (W11 only)
|
||||
- Restore the old Windows 10 style context menu. (W11 only)
|
||||
- Hide the 'Include in library', 'Give access to' and 'Share' options from the context menu. (W10 only)
|
||||
- Disable fast start-up to ensure a full shutdown.
|
||||
- Disable BitLocker automatic device encryption.
|
||||
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||
|
||||
#### File Explorer
|
||||
#### Windows Update
|
||||
|
||||
- Change the default location that File Explorer opens to.
|
||||
- Show hidden files, folders and drives.
|
||||
- Show file extensions for known file types.
|
||||
- Hide the Home or Gallery section from the File Explorer navigation pane. (W11 only)
|
||||
- Hide the 3D objects, music or OneDrive folder from the File Explorer navigation pane. (W10 only)
|
||||
- Hide duplicate removable drive entries from the File Explorer navigation pane, so only the entry under 'This PC' remains.
|
||||
- Prevent Windows from getting updates as soon as they're available.
|
||||
- Prevent automatic restarts after updates while signed in.
|
||||
- Disable sharing of downloaded updates with other PCs, also known as Delivery Optimization.
|
||||
|
||||
#### Appearance
|
||||
|
||||
- Enable dark mode for system and apps.
|
||||
- Disable transparency effects
|
||||
- Disable animations and visual effects.
|
||||
|
||||
#### Start Menu
|
||||
|
||||
- Remove or replace all pinned apps from start for the current user, or for all existing & new users. (W11 only)
|
||||
- Disable the recommended section in the start menu. (W11 only)
|
||||
- Disable Bing web search & Copilot integration in Windows search.
|
||||
- Disable the Phone Link mobile devices integration in the start menu. (W11 only)
|
||||
|
||||
#### Taskbar
|
||||
|
||||
- Align taskbar icons to the left. (W11 only)
|
||||
- Choose combine mode for taskbar buttons and labels. (W11 only)
|
||||
- Choose how app icons are shown on the taskbar when using multiple monitors. (W11 only)
|
||||
- Hide or change the search icon/box on the taskbar. (W11 only)
|
||||
- Hide the taskview button from the taskbar. (W11 only)
|
||||
- Disable widgets on the taskbar & lockscreen.
|
||||
- Disable widgets on the taskbar & lock screen.
|
||||
- Hide the chat (meet now) icon from the taskbar. (W10 only)
|
||||
- Enable the 'End Task' option in the taskbar right click menu. (W11 only)
|
||||
- Enable the 'Last Active Click' behavior in the taskbar app area. This allows you to repeatedly click on an application's icon in the taskbar to switch focus between the open windows of that application.
|
||||
- Choose how app icons are shown on the taskbar when using multiple monitors. (W11 only)
|
||||
- Choose combine mode for taskbar buttons and labels. (W11 only)
|
||||
|
||||
#### Start
|
||||
#### File Explorer
|
||||
|
||||
- Disable the recommended section in the start menu. (W11 only)
|
||||
- Disable the Phone Link mobile devices integration in the start menu. (W11 only)
|
||||
- Change the default location that File Explorer opens to.
|
||||
- Show file extensions for known file types.
|
||||
- Show hidden files, folders and drives.
|
||||
- Hide the Home or Gallery section from the File Explorer navigation pane. (W11 only)
|
||||
- Hide duplicate removable drive entries from the File Explorer navigation pane, so only the entry under 'This PC' remains.
|
||||
- Add all common folders (Desktop, Downloads, etc.) back to 'This PC' in File Explorer. (W11 only)
|
||||
- Hide the 3D objects, music or OneDrive folder from the File Explorer navigation pane. (W10 only)
|
||||
- Hide the 'Include in library', 'Give access to' and 'Share' options from the context menu. (W10 only)
|
||||
|
||||
#### Multi-tasking
|
||||
|
||||
- Disable window snapping. (W11 only)
|
||||
- Disable Snap Assist suggestions when snapping a window. (W11 only)
|
||||
- Disable Snap Layout suggestions when dragging windows to the top of screen and when hovering on the maximize button. (W11 only)
|
||||
- Change if tabs are shown when snapping or pressing Alt+Tab. (W11 only)
|
||||
|
||||
#### Other
|
||||
|
||||
- Disable Xbox Game Bar integration & game/screen recording. This also disables `ms-gamingoverlay`/`ms-gamebar` popups if you uninstall the Xbox Game Bar.
|
||||
- Disable Fast Start-up to ensure a full shutdown.
|
||||
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||
- Disable bloat in Brave browser (AI, Crypto, News, etc.)
|
||||
|
||||
#### Advanced Features
|
||||
|
||||
- Option to [apply changes to a different user](https://github.com/Raphire/Win11Debloat/wiki/Advanced-Features#running-as-another-user), instead of the currently logged in user.
|
||||
- [Sysprep mode](https://github.com/Raphire/Win11Debloat/wiki/Advanced-Features#sysprep-mode) to apply changes to the Windows Default user profile. Which ensures, all new users will have the changes automatically applied to them.
|
||||
|
||||
### Default Settings
|
||||
|
||||
Win11Debloat's default mode allows you to quickly and easily apply the changes that are recommended for most people. This includes removing many annoying distractions, disabling telemetry and tracking and optionally uninstalling the default or your custom selection of apps. To apply the default settings, launch the script as you normally would and select option `1` in the script menu.
|
||||
|
||||
Alternatively, you can launch the script with the `-RunDefaults` or `-RunDefaultsLite` parameters to immediately run the defaults without going through the menu or the app removal options. Using the `-RunDefaults` parameter will run the script in default mode and remove the default selection of apps. While using the `-RunDefaultsLite` parameter will run the script in default mode without removing any apps. Example:
|
||||
```Powershell
|
||||
& ([scriptblock]::Create((irm "https://debloat.raphi.re/"))) -RunDefaults
|
||||
```
|
||||
|
||||
#### Changes included in the default mode
|
||||
- Remove the default or your custom selection of apps. (See below for the default selection of apps)
|
||||
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
||||
- Disable tips, tricks, suggestions & ads across Windows.
|
||||
- Disable ads, suggestions and the MSN news feed in Microsoft Edge.
|
||||
- Disable & remove Bing web search, Bing AI and Cortana from Windows search.
|
||||
- Disable & remove Microsoft Copilot.
|
||||
- Disable Windows Recall. (W11 only)
|
||||
- Disable Click to Do, AI text & image analysis tool. (W11 only)
|
||||
- Disable Fast Start-up to ensure a full shutdown.
|
||||
- Disable network connectivity during Modern Standby to reduce battery drain. (W11 only)
|
||||
- Show file extensions for known file types.
|
||||
- Hide the 3D objects folder under 'This pc' from File Explorer. (W10 only)
|
||||
- Disable widgets on the taskbar & lockscreen.
|
||||
- Hide the Chat (meet now) icon from the taskbar. (W10 only)
|
||||
|
||||
#### Apps that ARE removed by default
|
||||
|
||||
These apps are uninstalled when you opt to remove the default selection of apps.
|
||||
|
||||
<details>
|
||||
<summary>Click to expand</summary>
|
||||
<blockquote>
|
||||
|
||||
Microsoft apps:
|
||||
- Clipchamp.Clipchamp (Video editor from Microsoft)
|
||||
- Microsoft.3DBuilder (Basic 3D modeling software)
|
||||
- Microsoft.549981C3F5F10 (Cortana app, discontinued)
|
||||
- Microsoft.BingFinance (Finance news and tracking via Bing, discontinued)
|
||||
- Microsoft.BingFoodAndDrink (Recipes and food news via Bing, discontinued)
|
||||
- Microsoft.BingHealthAndFitness (Health and fitness tracking/news via Bing, discontinued)
|
||||
- Microsoft.BingNews (News aggregator via Bing, replaced by Microsoft News/Start)
|
||||
- Microsoft.BingSports (Sports news and scores via Bing, discontinued)
|
||||
- Microsoft.BingTranslator (Translation service via Bing)
|
||||
- Microsoft.BingTravel (Travel planning and news via Bing, discontinued)
|
||||
- Microsoft.BingWeather (Weather forecast via Bing)
|
||||
- Microsoft.Copilot (AI assistant integrated into Windows)
|
||||
- Microsoft.Getstarted (Tips and introductory guide for Windows, cannot be uninstalled in Windows 11)
|
||||
- Microsoft.Messaging (Messaging app, often integrates with Skype, largely deprecated)
|
||||
- Microsoft.Microsoft3DViewer (Viewer for 3D models)
|
||||
- Microsoft.MicrosoftJournal (Digital note-taking app optimized for pen input)
|
||||
- Microsoft.MicrosoftOfficeHub (Hub to access Microsoft Office apps and documents, precursor to Microsoft 365 app)
|
||||
- Microsoft.MicrosoftPowerBIForWindows (Business analytics service client)
|
||||
- Microsoft.MicrosoftSolitaireCollection (Collection of solitaire card games)
|
||||
- Microsoft.MicrosoftStickyNotes (Digital sticky notes app, deprecated & replaced by OneNote)
|
||||
- Microsoft.MixedReality.Portal (Portal for Windows Mixed Reality headsets)
|
||||
- Microsoft.NetworkSpeedTest (Internet connection speed test utility)
|
||||
- Microsoft.News (News aggregator. Replaced Bing News and now part of Microsoft Start)
|
||||
- Microsoft.Office.OneNote (Digital note-taking app, Universal Windows Platform version)
|
||||
- Microsoft.Office.Sway (Presentation and storytelling app)
|
||||
- Microsoft.OneConnect (Mobile Operator management app, replaced by Mobile Plans)
|
||||
- Microsoft.PowerAutomateDesktop (Desktop automation tool)
|
||||
- Microsoft.Print3D (3D printing preparation software)
|
||||
- Microsoft.SkypeApp (Skype communication app, Universal Windows Platform version)
|
||||
- Microsoft.Todos (To-do list and task management app)
|
||||
- Microsoft.Windows.DevHome (Developer dashboard and tool configuration utility, no longer supported)
|
||||
- Microsoft.WindowsAlarms (Alarms & Clock app)
|
||||
- Microsoft.WindowsFeedbackHub (App for providing feedback to Microsoft on Windows)
|
||||
- Microsoft.WindowsMaps (Mapping and navigation app)
|
||||
- Microsoft.WindowsSoundRecorder (Basic audio recording app)
|
||||
- Microsoft.XboxApp (Old Xbox Console Companion App, no longer supported)
|
||||
- Microsoft.ZuneVideo (Movies & TV app for renting/buying/playing video content. Rebranded as "Films & TV")
|
||||
- MicrosoftCorporationII.MicrosoftFamily (Family Safety App for managing family accounts and settings)
|
||||
- MicrosoftCorporationII.QuickAssist (Remote assistance tool)
|
||||
- MicrosoftTeams (Old MS Teams personal, MS Store version)
|
||||
- MSTeams (New MS Teams app. Work/School or Personal)
|
||||
|
||||
Third party apps:
|
||||
- ACGMediaPlayer
|
||||
- ActiproSoftwareLLC
|
||||
- AdobeSystemsIncorporated.AdobePhotoshopExpress
|
||||
- Amazon.com.Amazon
|
||||
- AmazonVideo.PrimeVideo
|
||||
- Asphalt8Airborne
|
||||
- AutodeskSketchBook
|
||||
- CaesarsSlotsFreeCasino
|
||||
- COOKINGFEVER
|
||||
- CyberLinkMediaSuiteEssentials
|
||||
- DisneyMagicKingdoms
|
||||
- Disney
|
||||
- DrawboardPDF
|
||||
- Duolingo-LearnLanguagesforFree
|
||||
- EclipseManager
|
||||
- Facebook
|
||||
- FarmVille2CountryEscape
|
||||
- fitbit
|
||||
- Flipboard
|
||||
- HiddenCity
|
||||
- HULULLC.HULUPLUS
|
||||
- iHeartRadio
|
||||
- Instagram
|
||||
- king.com.BubbleWitch3Saga
|
||||
- king.com.CandyCrushSaga
|
||||
- king.com.CandyCrushSodaSaga
|
||||
- LinkedInforWindows
|
||||
- MarchofEmpires
|
||||
- Netflix
|
||||
- NYTCrossword
|
||||
- OneCalendar
|
||||
- PandoraMediaInc
|
||||
- PhototasticCollage
|
||||
- PicsArt-PhotoStudio
|
||||
- Plex
|
||||
- PolarrPhotoEditorAcademicEdition
|
||||
- Royal Revolt
|
||||
- Shazam
|
||||
- Sidia.LiveWallpaper
|
||||
- SlingTV
|
||||
- Spotify
|
||||
- TikTok
|
||||
- TuneInRadio
|
||||
- Twitter
|
||||
- Viber
|
||||
- WinZipUniversal
|
||||
- Wunderlist
|
||||
- XING
|
||||
</blockquote>
|
||||
</details>
|
||||
|
||||
#### Apps that are NOT removed by default
|
||||
|
||||
These apps will not be removed by Win11Debloat unless explicitly selected by the user.
|
||||
|
||||
<details>
|
||||
<summary>Click to expand</summary>
|
||||
<blockquote>
|
||||
|
||||
Miscellaneous apps:
|
||||
- Microsoft.Edge (Edge browser, only removeable in the EEA)
|
||||
- Microsoft.GetHelp (Required for some Windows 11 Troubleshooters)
|
||||
- Microsoft.M365Companions (Microsoft 365 Business Calendar, Files and People mini-apps, these apps may be reinstalled if enabled by your Microsoft 365 admin)
|
||||
- Microsoft.MSPaint (Paint 3D)
|
||||
- Microsoft.OutlookForWindows (New mail app)
|
||||
- Microsoft.OneDrive (OneDrive consumer)
|
||||
- Microsoft.Paint (Classic Paint)
|
||||
- Microsoft.People (Required for & included with Mail & Calendar)
|
||||
- Microsoft.RemoteDesktop
|
||||
- Microsoft.ScreenSketch (Snipping Tool)
|
||||
- Microsoft.Whiteboard (Only preinstalled on devices with touchscreen and/or pen support)
|
||||
- Microsoft.Windows.Photos
|
||||
- Microsoft.WindowsCalculator
|
||||
- Microsoft.WindowsCamera
|
||||
- Microsoft.WindowsNotepad
|
||||
- Microsoft.windowscommunicationsapps (Mail & Calendar)
|
||||
- Microsoft.WindowsStore (Microsoft Store, NOTE: This app cannot be reinstalled!)
|
||||
- Microsoft.WindowsTerminal (New default terminal app in Windows 11)
|
||||
- Microsoft.YourPhone (Phone Link)
|
||||
- Microsoft.Xbox.TCUI (UI framework, removing this may break MS store, photos and certain games)
|
||||
- Microsoft.ZuneMusic (Modern Media Player)
|
||||
- MicrosoftWindows.CrossDevice (Phone integration within File Explorer, Camera and more)
|
||||
|
||||
Gaming related apps:
|
||||
- Microsoft.GamingApp (Modern Xbox Gaming App, required for installing some games)
|
||||
- Microsoft.XboxGameOverlay (Game overlay, required for some games)
|
||||
- Microsoft.XboxGamingOverlay (Game overlay, required for some games)
|
||||
- Microsoft.XboxIdentityProvider (Xbox sign-in framework, required for some games)
|
||||
- Microsoft.XboxSpeechToTextOverlay (Might be required for some games, NOTE: This app cannot be reinstalled!)
|
||||
|
||||
HP apps:
|
||||
- AD2F1837.HPAIExperienceCenter
|
||||
- AD2F1837.HPConnectedMusic
|
||||
- AD2F1837.HPConnectedPhotopoweredbySnapfish
|
||||
- AD2F1837.HPDesktopSupportUtilities
|
||||
- AD2F1837.HPEasyClean
|
||||
- AD2F1837.HPFileViewer
|
||||
- AD2F1837.HPJumpStarts
|
||||
- AD2F1837.HPPCHardwareDiagnosticsWindows
|
||||
- AD2F1837.HPPowerManager
|
||||
- AD2F1837.HPPrinterControl
|
||||
- AD2F1837.HPPrivacySettings
|
||||
- AD2F1837.HPQuickDrop
|
||||
- AD2F1837.HPQuickTouch
|
||||
- AD2F1837.HPRegistration
|
||||
- AD2F1837.HPSupportAssistant
|
||||
- AD2F1837.HPSureShieldAI
|
||||
- AD2F1837.HPSystemInformation
|
||||
- AD2F1837.HPWelcome
|
||||
- AD2F1837.HPWorkWell
|
||||
- AD2F1837.myHP
|
||||
</blockquote>
|
||||
</details>
|
||||
|
||||
## License
|
||||
|
||||
Win11Debloat is licensed under the MIT license. See the LICENSE file for more information.
|
||||
|
||||
46
Regfiles/Add_All_Folders_Under_This_PC.reg
Normal file
46
Regfiles/Add_All_Folders_Under_This_PC.reg
Normal file
@@ -0,0 +1,46 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Desktop
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Documents
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{d3162b92-9365-467a-956b-92703aca08af}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{d3162b92-9365-467a-956b-92703aca08af}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Downloads
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{088e3905-0323-4b02-9826-5d99428e115f}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{088e3905-0323-4b02-9826-5d99428e115f}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Music
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{1CF1260C-4DD0-4ebb-811F-33C572699FDE}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Pictures
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{24ad3ad4-a569-4530-98e1-ab02f9417aa8}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{24ad3ad4-a569-4530-98e1-ab02f9417aa8}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Videos
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
4
Regfiles/Disable_Bitlocker_Auto_Encryption.reg
Normal file
4
Regfiles/Disable_Bitlocker_Auto_Encryption.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker]
|
||||
"PreventDeviceEncryption"=dword:00000001
|
||||
9
Regfiles/Disable_Brave_Bloat.reg
Normal file
9
Regfiles/Disable_Brave_Bloat.reg
Normal file
@@ -0,0 +1,9 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave]
|
||||
"BraveVPNDisabled"=dword:00000001
|
||||
"BraveWalletDisabled"=dword:00000001
|
||||
"BraveAIChatEnabled"=dword:00000000
|
||||
"BraveRewardsDisabled"=dword:00000001
|
||||
"BraveTalkDisabled"=dword:00000001
|
||||
"BraveNewsDisabled"=dword:00000001
|
||||
5
Regfiles/Disable_Delivery_Optimization.reg
Normal file
5
Regfiles/Disable_Delivery_Optimization.reg
Normal file
@@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Disable sharing downloaded updates with other PCs (Delivery Optimization)
|
||||
[HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Settings]
|
||||
"DownloadMode"=dword:00000000
|
||||
Binary file not shown.
4
Regfiles/Disable_Share_Drag_Tray.reg
Normal file
4
Regfiles/Disable_Share_Drag_Tray.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CDP]
|
||||
"DragTrayEnabled"=dword:00000000
|
||||
BIN
Regfiles/Disable_Snap_Assist.reg
Normal file
BIN
Regfiles/Disable_Snap_Assist.reg
Normal file
Binary file not shown.
BIN
Regfiles/Disable_Snap_Layouts.reg
Normal file
BIN
Regfiles/Disable_Snap_Layouts.reg
Normal file
Binary file not shown.
5
Regfiles/Disable_Update_ASAP.reg
Normal file
5
Regfiles/Disable_Update_ASAP.reg
Normal file
@@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Turn Off "Get the latest updates as soon as they're available"
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings]
|
||||
"IsContinuousInnovationOptedIn"=dword:00000000
|
||||
4
Regfiles/Disable_Window_Snapping.reg
Normal file
4
Regfiles/Disable_Window_Snapping.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\Control Panel\Desktop]
|
||||
"WindowArrangementActive"="0"
|
||||
4
Regfiles/Hide_Tabs_In_Alt_Tab.reg
Normal file
4
Regfiles/Hide_Tabs_In_Alt_Tab.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
"MultiTaskingAltTabFilter"=dword:00000003
|
||||
5
Regfiles/Prevent_Auto_Reboot.reg
Normal file
5
Regfiles/Prevent_Auto_Reboot.reg
Normal file
@@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Prevent automatic restarts after updates while signed in
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
|
||||
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
|
||||
4
Regfiles/Show_20_Tabs_In_Alt_Tab.reg
Normal file
4
Regfiles/Show_20_Tabs_In_Alt_Tab.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
"MultiTaskingAltTabFilter"=dword:00000000
|
||||
4
Regfiles/Show_3_Tabs_In_Alt_Tab.reg
Normal file
4
Regfiles/Show_3_Tabs_In_Alt_Tab.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
"MultiTaskingAltTabFilter"=dword:00000002
|
||||
4
Regfiles/Show_5_Tabs_In_Alt_Tab.reg
Normal file
4
Regfiles/Show_5_Tabs_In_Alt_Tab.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
"MultiTaskingAltTabFilter"=dword:00000001
|
||||
46
Regfiles/Sysprep/Add_All_Folders_Under_This_PC.reg
Normal file
46
Regfiles/Sysprep/Add_All_Folders_Under_This_PC.reg
Normal file
@@ -0,0 +1,46 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Desktop
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Documents
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{d3162b92-9365-467a-956b-92703aca08af}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{d3162b92-9365-467a-956b-92703aca08af}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Downloads
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{088e3905-0323-4b02-9826-5d99428e115f}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{088e3905-0323-4b02-9826-5d99428e115f}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Music
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{1CF1260C-4DD0-4ebb-811F-33C572699FDE}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Pictures
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{24ad3ad4-a569-4530-98e1-ab02f9417aa8}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{24ad3ad4-a569-4530-98e1-ab02f9417aa8}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
|
||||
; Videos
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}]
|
||||
"HideIfEnabled"=-
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}]
|
||||
"HiddenByDefault"=dword:00000000
|
||||
BIN
Regfiles/Sysprep/Combine_MMTaskbar_Always.reg
Normal file
BIN
Regfiles/Sysprep/Combine_MMTaskbar_Always.reg
Normal file
Binary file not shown.
BIN
Regfiles/Sysprep/Combine_MMTaskbar_Never.reg
Normal file
BIN
Regfiles/Sysprep/Combine_MMTaskbar_Never.reg
Normal file
Binary file not shown.
BIN
Regfiles/Sysprep/Combine_MMTaskbar_When_Full.reg
Normal file
BIN
Regfiles/Sysprep/Combine_MMTaskbar_When_Full.reg
Normal file
Binary file not shown.
4
Regfiles/Sysprep/Disable_Bitlocker_Auto_Encryption.reg
Normal file
4
Regfiles/Sysprep/Disable_Bitlocker_Auto_Encryption.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker]
|
||||
"PreventDeviceEncryption"=dword:00000001
|
||||
9
Regfiles/Sysprep/Disable_Brave_Bloat.reg
Normal file
9
Regfiles/Sysprep/Disable_Brave_Bloat.reg
Normal file
@@ -0,0 +1,9 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave]
|
||||
"BraveVPNDisabled"=dword:00000001
|
||||
"BraveWalletDisabled"=dword:00000001
|
||||
"BraveAIChatEnabled"=dword:00000000
|
||||
"BraveRewardsDisabled"=dword:00000001
|
||||
"BraveTalkDisabled"=dword:00000001
|
||||
"BraveNewsDisabled"=dword:00000001
|
||||
5
Regfiles/Sysprep/Disable_Delivery_Optimization.reg
Normal file
5
Regfiles/Sysprep/Disable_Delivery_Optimization.reg
Normal file
@@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Disable sharing downloaded updates with other PCs (Delivery Optimization)
|
||||
[HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Settings]
|
||||
"DownloadMode"=dword:00000000
|
||||
Binary file not shown.
4
Regfiles/Sysprep/Disable_Share_Drag_Tray.reg
Normal file
4
Regfiles/Sysprep/Disable_Share_Drag_Tray.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[hkey_users\default\Software\Microsoft\Windows\CurrentVersion\CDP]
|
||||
"DragTrayEnabled"=dword:00000000
|
||||
BIN
Regfiles/Sysprep/Disable_Snap_Assist.reg
Normal file
BIN
Regfiles/Sysprep/Disable_Snap_Assist.reg
Normal file
Binary file not shown.
BIN
Regfiles/Sysprep/Disable_Snap_Layouts.reg
Normal file
BIN
Regfiles/Sysprep/Disable_Snap_Layouts.reg
Normal file
Binary file not shown.
5
Regfiles/Sysprep/Disable_Update_ASAP.reg
Normal file
5
Regfiles/Sysprep/Disable_Update_ASAP.reg
Normal file
@@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Turn Off "Get the latest updates as soon as they're available"
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings]
|
||||
"IsContinuousInnovationOptedIn"=dword:00000000
|
||||
4
Regfiles/Sysprep/Disable_Window_Snapping.reg
Normal file
4
Regfiles/Sysprep/Disable_Window_Snapping.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[hkey_users\default\Control Panel\Desktop]
|
||||
"WindowArrangementActive"="0"
|
||||
4
Regfiles/Sysprep/Hide_Tabs_In_Alt_Tab.reg
Normal file
4
Regfiles/Sysprep/Hide_Tabs_In_Alt_Tab.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[hkey_users\default\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
"MultiTaskingAltTabFilter"=dword:00000003
|
||||
BIN
Regfiles/Sysprep/MMTaskbarMode_Active.reg
Normal file
BIN
Regfiles/Sysprep/MMTaskbarMode_Active.reg
Normal file
Binary file not shown.
BIN
Regfiles/Sysprep/MMTaskbarMode_All.reg
Normal file
BIN
Regfiles/Sysprep/MMTaskbarMode_All.reg
Normal file
Binary file not shown.
BIN
Regfiles/Sysprep/MMTaskbarMode_Main_Active.reg
Normal file
BIN
Regfiles/Sysprep/MMTaskbarMode_Main_Active.reg
Normal file
Binary file not shown.
5
Regfiles/Sysprep/Prevent_Auto_Reboot.reg
Normal file
5
Regfiles/Sysprep/Prevent_Auto_Reboot.reg
Normal file
@@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Prevent automatic restarts after updates while signed in
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
|
||||
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
|
||||
4
Regfiles/Sysprep/Show_20_Tabs_In_Alt_Tab.reg
Normal file
4
Regfiles/Sysprep/Show_20_Tabs_In_Alt_Tab.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[hkey_users\default\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
"MultiTaskingAltTabFilter"=dword:00000000
|
||||
4
Regfiles/Sysprep/Show_3_Tabs_In_Alt_Tab.reg
Normal file
4
Regfiles/Sysprep/Show_3_Tabs_In_Alt_Tab.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[hkey_users\default\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
"MultiTaskingAltTabFilter"=dword:00000002
|
||||
4
Regfiles/Sysprep/Show_5_Tabs_In_Alt_Tab.reg
Normal file
4
Regfiles/Sysprep/Show_5_Tabs_In_Alt_Tab.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[hkey_users\default\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
|
||||
"MultiTaskingAltTabFilter"=dword:00000001
|
||||
5
Regfiles/Undo/Allow_Auto_Reboot.reg
Normal file
5
Regfiles/Undo/Allow_Auto_Reboot.reg
Normal file
@@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Allow automatic restarts after updates while signed in
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
|
||||
"NoAutoRebootWithLoggedOnUsers"=-
|
||||
4
Regfiles/Undo/Enable_Bitlocker_Auto_Encryption.reg
Normal file
4
Regfiles/Undo/Enable_Bitlocker_Auto_Encryption.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker]
|
||||
"PreventDeviceEncryption"=-
|
||||
4
Regfiles/Undo/Enable_Brave_Bloat.reg
Normal file
4
Regfiles/Undo/Enable_Brave_Bloat.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Remove all Brave Browser Policies
|
||||
[-HKEY_LOCAL_MACHINE\Software\Policies\BraveSoftware\Brave]
|
||||
5
Regfiles/Undo/Enable_Delivery_Optimization.reg
Normal file
5
Regfiles/Undo/Enable_Delivery_Optimization.reg
Normal file
@@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Enable sharing downloaded updates with other PCs (Delivery Optimization)
|
||||
[HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Settings]
|
||||
"DownloadMode"=dword:00000001
|
||||
Binary file not shown.
@@ -17,4 +17,4 @@ Windows Registry Editor Version 5.00
|
||||
"URL Protocol"=""
|
||||
"NoOpenWith"=-
|
||||
|
||||
[-HKEY_CLASSES_ROOT\ms-gamebar\shell\open\command]
|
||||
[-HKEY_CLASSES_ROOT\ms-gamebarservices\shell\open\command]
|
||||
4
Regfiles/Undo/Enable_Share_Drag_Tray.reg
Normal file
4
Regfiles/Undo/Enable_Share_Drag_Tray.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\CDP]
|
||||
"DragTrayEnabled"=dword:00000001
|
||||
BIN
Regfiles/Undo/Enable_Snap_Assist.reg
Normal file
BIN
Regfiles/Undo/Enable_Snap_Assist.reg
Normal file
Binary file not shown.
BIN
Regfiles/Undo/Enable_Snap_Layouts.reg
Normal file
BIN
Regfiles/Undo/Enable_Snap_Layouts.reg
Normal file
Binary file not shown.
5
Regfiles/Undo/Enable_Update_ASAP.reg
Normal file
5
Regfiles/Undo/Enable_Update_ASAP.reg
Normal file
@@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Turn On "Get the latest updates as soon as they're available"
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings]
|
||||
"IsContinuousInnovationOptedIn"=dword:00000001
|
||||
4
Regfiles/Undo/Enable_Window_Snapping.reg
Normal file
4
Regfiles/Undo/Enable_Window_Snapping.reg
Normal file
@@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\Control Panel\Desktop]
|
||||
"WindowArrangementActive"="1"
|
||||
46
Regfiles/Undo/Remove_All_Folders_Under_This_PC.reg
Normal file
46
Regfiles/Undo/Remove_All_Folders_Under_This_PC.reg
Normal file
@@ -0,0 +1,46 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
; Desktop
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
|
||||
"HideIfEnabled"=dword:022ab9b9
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}]
|
||||
"HiddenByDefault"=dword:00000001
|
||||
|
||||
; Documents
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{d3162b92-9365-467a-956b-92703aca08af}]
|
||||
"HideIfEnabled"=dword:022ab9b9
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{d3162b92-9365-467a-956b-92703aca08af}]
|
||||
"HiddenByDefault"=dword:00000001
|
||||
|
||||
; Downloads
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{088e3905-0323-4b02-9826-5d99428e115f}]
|
||||
"HideIfEnabled"=dword:022ab9b9
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{088e3905-0323-4b02-9826-5d99428e115f}]
|
||||
"HiddenByDefault"=dword:00000001
|
||||
|
||||
; Music
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}]
|
||||
"HideIfEnabled"=dword:022ab9b9
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{1CF1260C-4DD0-4ebb-811F-33C572699FDE}]
|
||||
"HiddenByDefault"=dword:00000001
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}]
|
||||
"HiddenByDefault"=dword:00000001
|
||||
|
||||
; Pictures
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{24ad3ad4-a569-4530-98e1-ab02f9417aa8}]
|
||||
"HideIfEnabled"=dword:022ab9b9
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{24ad3ad4-a569-4530-98e1-ab02f9417aa8}]
|
||||
"HiddenByDefault"=dword:00000001
|
||||
|
||||
; Videos
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}]
|
||||
"HideIfEnabled"=dword:022ab9b9
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}]
|
||||
"HiddenByDefault"=dword:00000001
|
||||
44
Run.bat
44
Run.bat
@@ -1,14 +1,48 @@
|
||||
@echo off
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
:: Set Windows Terminal installation paths. (Default and Scoop installation)
|
||||
set "wtDefaultPath=%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe"
|
||||
set "wtScoopPath=%USERPROFILE%\scoop\apps\windows-terminal\current\wt.exe"
|
||||
set "logFile=%~dp0Logs\Win11Debloat-Run.log"
|
||||
|
||||
:: Launch the script in Windows Terminal if installed, otherwise use default PowerShell.
|
||||
:: Ensure Logs folder exists
|
||||
if not exist "%~dp0Logs" mkdir "%~dp0Logs"
|
||||
|
||||
:: Determine which terminal exists
|
||||
if exist "%wtDefaultPath%" (
|
||||
PowerShell -Command "Start-Process -FilePath '%wtDefaultPath%' -ArgumentList 'PowerShell -NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1""' -Verb RunAs"
|
||||
set "wtPath=%wtDefaultPath%"
|
||||
) else if exist "%wtScoopPath%" (
|
||||
PowerShell -Command "Start-Process -FilePath '%wtScoopPath%' -ArgumentList 'PowerShell -NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1""' -Verb RunAs"
|
||||
set "wtPath=%wtScoopPath%"
|
||||
) else (
|
||||
echo Windows Terminal not found, using default PowerShell...
|
||||
PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1""' -Verb RunAs}"
|
||||
echo Windows Terminal not found. Using default PowerShell instead.
|
||||
set "wtPath="
|
||||
)
|
||||
|
||||
:: Launch script
|
||||
if defined wtPath (
|
||||
call :Log Launching Win11Debloat.ps1 with Windows Terminal...
|
||||
PowerShell -Command "Start-Process -FilePath '%wtPath%' -ArgumentList 'PowerShell -NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1""' -Verb RunAs" >> "%logFile%" || call :Error "PowerShell command failed"
|
||||
call :Log Script execution passed successfully to Win11Debloat.ps1
|
||||
) else (
|
||||
echo Windows Terminal not found. Using default PowerShell instead...
|
||||
call :Log Windows Terminal not found. Using default PowerShell to launch Win11Debloat.ps1...
|
||||
PowerShell -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0Win11Debloat.ps1""' -Verb RunAs}" >> "%logFile%" || call :Error "PowerShell command failed"
|
||||
call :Log Script execution passed successfully to Win11Debloat.ps1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo If you need further assistance, please open an issue at:
|
||||
echo https://github.com/Raphire/Win11Debloat/issues
|
||||
goto :EOF
|
||||
|
||||
:: Logging Function
|
||||
:Log
|
||||
echo %* >> "%logFile%"
|
||||
goto :EOF
|
||||
:: Error Handler
|
||||
:Error
|
||||
echo ERROR: %*
|
||||
echo Logged in %logFile%
|
||||
pause
|
||||
goto :EOF
|
||||
|
||||
253
Schemas/AboutWindow.xaml
Normal file
253
Schemas/AboutWindow.xaml
Normal file
@@ -0,0 +1,253 @@
|
||||
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="About Win11Debloat"
|
||||
Width="500"
|
||||
SizeToContent="Height"
|
||||
ResizeMode="NoResize"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
WindowStyle="None"
|
||||
AllowsTransparency="True"
|
||||
Background="Transparent"
|
||||
Topmost="True"
|
||||
ShowInTaskbar="False">
|
||||
|
||||
<Window.Resources>
|
||||
<Style x:Key="HyperlinkStyle" TargetType="TextBlock">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonBg}"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonHover}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<!-- Button Style -->
|
||||
<Style x:Key="MessageBoxButton" TargetType="Button">
|
||||
<Setter Property="Background" Value="{DynamicResource SecondaryButtonBg}"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource FgColor}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderColor}"/>
|
||||
<Setter Property="Padding" Value="0"/>
|
||||
<Setter Property="FontSize" Value="14"/>
|
||||
<Setter Property="Height" Value="32"/>
|
||||
<Setter Property="MinWidth" Value="80"/>
|
||||
<Setter Property="Margin" Value="4,0"/>
|
||||
<Setter Property="FontWeight" Value="Normal"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border x:Name="Border"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="4"
|
||||
Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,1"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="Border" Property="Background" Value="{DynamicResource SecondaryButtonHover}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter TargetName="Border" Property="Background" Value="{DynamicResource SecondaryButtonPressed}"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!-- Primary Button Style -->
|
||||
<Style x:Key="PrimaryMessageBoxButton" TargetType="Button" BasedOn="{StaticResource MessageBoxButton}">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonBg}"/>
|
||||
<Setter Property="Foreground" Value="white"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBg}"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="4"
|
||||
Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,1"/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsEnabled" Value="False">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonDisabled}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDisabled}"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonTextDisabled}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonHover}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonHover}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonPressed}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonPressed}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
|
||||
<Border BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8"
|
||||
Background="{DynamicResource CardBgColor}"
|
||||
Margin="25">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect Color="Black"
|
||||
Opacity="0.15"
|
||||
BlurRadius="20"
|
||||
ShadowDepth="0"
|
||||
Direction="0"/>
|
||||
</Border.Effect>
|
||||
|
||||
<Grid Margin="0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Title Bar -->
|
||||
<Grid Grid.Row="0" x:Name="TitleBar" Height="48" Background="Transparent">
|
||||
<TextBlock Text="About Win11Debloat"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
FontSize="18"
|
||||
FontWeight="SemiBold"
|
||||
VerticalAlignment="Center"
|
||||
Margin="20,0,0,0"/>
|
||||
</Grid>
|
||||
|
||||
<!-- Message Content -->
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Message Text -->
|
||||
<Grid Grid.Row="0" Margin="24,12,24,20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Version -->
|
||||
<TextBlock Grid.Row="0" Grid.Column="0"
|
||||
Text="Version:"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
FontWeight="SemiBold"
|
||||
Margin="0,0,16,8"/>
|
||||
<TextBlock x:Name="VersionText"
|
||||
Grid.Row="0" Grid.Column="1"
|
||||
Text="0.0.0"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
Margin="0,0,0,8"/>
|
||||
|
||||
<!-- Author -->
|
||||
<TextBlock Grid.Row="1" Grid.Column="0"
|
||||
Text="Author:"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
FontWeight="SemiBold"
|
||||
Margin="0,0,16,8"/>
|
||||
<TextBlock Grid.Row="1" Grid.Column="1"
|
||||
Text="Raphire"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
Margin="0,0,0,8"/>
|
||||
|
||||
<!-- Project Link -->
|
||||
<TextBlock Grid.Row="2" Grid.Column="0"
|
||||
Text="Project:"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
FontWeight="SemiBold"
|
||||
Margin="0,0,16,0"/>
|
||||
<TextBlock x:Name="ProjectLink"
|
||||
Grid.Row="2" Grid.Column="1"
|
||||
Text="https://github.com/Raphire/Win11Debloat"
|
||||
FontSize="14"
|
||||
Style="{StaticResource HyperlinkStyle}"
|
||||
Margin="0,0,0,0"/>
|
||||
</Grid>
|
||||
|
||||
<!-- Separator -->
|
||||
<Border Grid.Row="1"
|
||||
Height="1"
|
||||
Background="{DynamicResource BorderColor}"
|
||||
Margin="10,0"/>
|
||||
|
||||
<!-- Content -->
|
||||
<StackPanel Grid.Row="2" Margin="24,20">
|
||||
<!-- Donation Message -->
|
||||
<TextBlock Text="Win11Debloat is a passion project that I maintain in my free time. If you've found this tool useful, please consider making a small donation to support its development. I really appreciate it!"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
TextWrapping="Wrap"
|
||||
Margin="0,0,0,15"/>
|
||||
|
||||
<!-- Ko-fi Link -->
|
||||
<Grid HorizontalAlignment="Left">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<TextBlock x:Name="KofiLinkIcon"
|
||||
Grid.Column="0"
|
||||
FontSize="16"
|
||||
Style="{StaticResource HyperlinkStyle}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontWeight="SemiBold"
|
||||
FontFamily="Segoe Fluent Icons"
|
||||
Text=""
|
||||
Foreground="{DynamicResource CloseHover}"
|
||||
Margin="0,0,8,0"/>
|
||||
|
||||
<TextBlock x:Name="KofiLink"
|
||||
Grid.Column="1"
|
||||
FontSize="16"
|
||||
Style="{StaticResource HyperlinkStyle}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontWeight="SemiBold"
|
||||
Text="Support me on Ko-fi"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<!-- Button Panel -->
|
||||
<Border Grid.Row="2"
|
||||
Background="{DynamicResource BgColor}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="0,1,0,0"
|
||||
Padding="16,12"
|
||||
CornerRadius="0,0,8,8">
|
||||
<StackPanel x:Name="ButtonPanel"
|
||||
Orientation="Horizontal"
|
||||
HorizontalAlignment="Right">
|
||||
<Button x:Name="CloseButton"
|
||||
Content="Close"
|
||||
Style="{StaticResource MessageBoxButton}"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Window>
|
||||
296
Schemas/AppSelectionWindow.xaml
Normal file
296
Schemas/AppSelectionWindow.xaml
Normal file
@@ -0,0 +1,296 @@
|
||||
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="Win11Debloat Application Selection"
|
||||
Width="450" Height="580"
|
||||
ResizeMode="NoResize"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
WindowStyle="None"
|
||||
AllowsTransparency="True"
|
||||
Background="Transparent"
|
||||
Foreground="{DynamicResource FgColor}">
|
||||
<Window.Resources>
|
||||
<!-- ScrollBar Style -->
|
||||
<Style TargetType="{x:Type ScrollBar}">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="Width" Value="8"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ScrollBar}">
|
||||
<Grid>
|
||||
<Track Name="PART_Track" IsDirectionReversed="true">
|
||||
<Track.Thumb>
|
||||
<Thumb>
|
||||
<Thumb.Style>
|
||||
<Style TargetType="Thumb">
|
||||
<Setter Property="Background" Value="{DynamicResource ScrollBarThumbColor}"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Thumb">
|
||||
<Border Background="{TemplateBinding Background}" CornerRadius="4"/>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource ScrollBarThumbHoverColor}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Thumb.Style>
|
||||
</Thumb>
|
||||
</Track.Thumb>
|
||||
</Track>
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!-- CheckBox Style -->
|
||||
<Style TargetType="CheckBox">
|
||||
<Setter Property="Foreground" Value="{DynamicResource FgColor}"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="Padding" Value="4,2"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="CheckBox">
|
||||
<Border Background="{TemplateBinding Background}" BorderThickness="0" CornerRadius="4" Padding="{TemplateBinding Padding}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border x:Name="CheckBoxBorder" Grid.Column="0" Width="18" Height="18" Background="{DynamicResource CheckBoxBgColor}" BorderBrush="{DynamicResource CheckBoxBorderColor}" BorderThickness="1" CornerRadius="4" Margin="0,0,8,0">
|
||||
<TextBlock x:Name="CheckMark" Text="" FontFamily="Segoe MDL2 Assets" FontSize="12" Foreground="{DynamicResource ButtonBg}" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Collapsed"/>
|
||||
</Border>
|
||||
<ContentPresenter Grid.Column="1" VerticalAlignment="Center" Margin="0,0,0,1"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="CheckBoxBorder" Property="Background" Value="{DynamicResource CheckBoxHoverColor}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsChecked" Value="True">
|
||||
<Setter TargetName="CheckMark" Property="Visibility" Value="Visible"/>
|
||||
<Setter TargetName="CheckBoxBorder" Property="Background" Value="{DynamicResource ButtonBg}"/>
|
||||
<Setter TargetName="CheckBoxBorder" Property="BorderBrush" Value="{DynamicResource ButtonBg}"/>
|
||||
<Setter TargetName="CheckMark" Property="Foreground" Value="White"/>
|
||||
</Trigger>
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="IsMouseOver" Value="True"/>
|
||||
<Condition Property="IsChecked" Value="True"/>
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter TargetName="CheckBoxBorder" Property="Background" Value="{DynamicResource ButtonHover}"/>
|
||||
<Setter TargetName="CheckBoxBorder" Property="BorderBrush" Value="{DynamicResource ButtonHover}"/>
|
||||
</MultiTrigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!-- CheckBox style for apps panels -->
|
||||
<Style x:Key="AppsPanelCheckBoxStyle" TargetType="CheckBox" BasedOn="{StaticResource {x:Type CheckBox}}">
|
||||
<Setter Property="Margin" Value="2,3,2,3"/>
|
||||
</Style>
|
||||
|
||||
<!-- Button Style -->
|
||||
<Style x:Key="Win11Button" TargetType="Button">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonBg}"/>
|
||||
<Setter Property="Foreground" Value="white"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBg}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="Padding" Value="0"/>
|
||||
<Setter Property="FontSize" Value="14"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="4"
|
||||
Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsEnabled" Value="False">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonDisabled}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDisabled}"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonTextDisabled}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonHover}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonHover}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonPressed}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonPressed}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<!-- Secondary Button Style -->
|
||||
<Style x:Key="Win11ButtonSecondary" TargetType="Button">
|
||||
<Setter Property="Background" Value="{DynamicResource SecondaryButtonBg}"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource FgColor}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderColor}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="Padding" Value="0"/>
|
||||
<Setter Property="FontSize" Value="14"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="4"
|
||||
Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,1"/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsEnabled" Value="False">
|
||||
<Setter Property="Background" Value="{DynamicResource SecondaryButtonDisabled}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource BorderColor}"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource SecondaryButtonTextDisabled}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource SecondaryButtonHover}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderColor}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource SecondaryButtonPressed}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderColor}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<!-- Title Bar Button Style -->
|
||||
<Style x:Key="TitleBarButton" TargetType="Button">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource FgColor}"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
<Setter Property="Width" Value="46"/>
|
||||
<Setter Property="Height" Value="32"/>
|
||||
<Setter Property="FontFamily" Value="Segoe MDL2 Assets"/>
|
||||
<Setter Property="FontSize" Value="10"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Background="{TemplateBinding Background}" BorderThickness="0" CornerRadius="0,8,0,0">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
<Style x:Key="CloseButton" TargetType="Button" BasedOn="{StaticResource TitleBarButton}">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource CloseHover}"/>
|
||||
<Setter Property="Foreground" Value="White"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
|
||||
<Border BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8"
|
||||
Background="{DynamicResource BgColor}"
|
||||
Margin="25">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect Color="Black"
|
||||
Opacity="0.15"
|
||||
BlurRadius="20"
|
||||
ShadowDepth="0"
|
||||
Direction="0"/>
|
||||
</Border.Effect>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="32"/>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Custom Title Bar -->
|
||||
<Grid Grid.Row="0" x:Name="TitleBar">
|
||||
<Border Background="{DynamicResource BgColor}" CornerRadius="8,8,0,0">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.Column="0"
|
||||
Text="Win11Debloat Application Selection"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
VerticalAlignment="Center"
|
||||
Margin="12,0,0,0"
|
||||
FontSize="12"/>
|
||||
<StackPanel Grid.Column="1" Orientation="Horizontal">
|
||||
<Button x:Name="CloseBtn" Content="" Style="{StaticResource CloseButton}" ToolTip="Close" IsCancel="True" AutomationProperties.Name="Close"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
|
||||
<!-- Main Content -->
|
||||
<Grid Grid.Row="1">
|
||||
<Grid Margin="12">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<TextBlock Grid.Row="0"
|
||||
Text="Check apps that you wish to remove, uncheck apps that you wish to keep"
|
||||
TextWrapping="Wrap"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
Margin="0,0,0,10"/>
|
||||
|
||||
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0,0,0,8">
|
||||
<CheckBox x:Name="CheckAllBox" Content="Check/Uncheck all" Margin="8,0,15,0" Foreground="{DynamicResource FgColor}" AutomationProperties.Name="Check or Uncheck all"/>
|
||||
</StackPanel>
|
||||
|
||||
<Border Grid.Row="2" BorderBrush="{DynamicResource BorderColor}" CornerRadius="4" BorderThickness="1" Margin="0,0,0,10" Background="{DynamicResource CardBgColor}">
|
||||
<Grid>
|
||||
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
||||
<StackPanel x:Name="AppsPanel" Margin="5"/>
|
||||
</ScrollViewer>
|
||||
<Border x:Name="LoadingAppsIndicator" CornerRadius="4" Background="{DynamicResource ScrollBarThumbColor}" Opacity="0.8" Visibility="Collapsed">
|
||||
<TextBlock Text="Loading apps..." FontSize="16" FontWeight="SemiBold" Foreground="{DynamicResource FgColor}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right">
|
||||
<Grid Margin="0,8,10,10">
|
||||
<CheckBox x:Name="OnlyInstalledBox" Content="Only show installed apps" Foreground="{DynamicResource FgColor}" AutomationProperties.Name="Only show installed apps"/>
|
||||
</Grid>
|
||||
<Button x:Name="ConfirmBtn" Width="80" Height="32" Margin="0,0,10,0" Content="Confirm" Style="{StaticResource Win11Button}" AutomationProperties.Name="Confirm"/>
|
||||
<Button x:Name="CancelBtn" Width="80" Height="32" Content="Cancel" Style="{StaticResource Win11ButtonSecondary}" IsCancel="True" AutomationProperties.Name="Cancel"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<!-- Modal Overlay for MessageBoxes -->
|
||||
<Rectangle x:Name="ModalOverlay"
|
||||
Grid.RowSpan="2"
|
||||
Fill="#80000000"
|
||||
Visibility="Collapsed"
|
||||
Panel.ZIndex="1000"
|
||||
RadiusX="8"
|
||||
RadiusY="8"
|
||||
Margin="-1"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Window>
|
||||
1142
Schemas/MainWindow.xaml
Normal file
1142
Schemas/MainWindow.xaml
Normal file
File diff suppressed because it is too large
Load Diff
168
Schemas/MessageBoxWindow.xaml
Normal file
168
Schemas/MessageBoxWindow.xaml
Normal file
@@ -0,0 +1,168 @@
|
||||
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="MessageBox"
|
||||
Width="440"
|
||||
SizeToContent="Height"
|
||||
ResizeMode="NoResize"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
WindowStyle="None"
|
||||
AllowsTransparency="True"
|
||||
Background="Transparent"
|
||||
Topmost="True"
|
||||
ShowInTaskbar="False">
|
||||
|
||||
<Window.Resources>
|
||||
<!-- Button Style -->
|
||||
<Style x:Key="MessageBoxButton" TargetType="Button">
|
||||
<Setter Property="Background" Value="{DynamicResource SecondaryButtonBg}"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource FgColor}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderColor}"/>
|
||||
<Setter Property="Padding" Value="0"/>
|
||||
<Setter Property="FontSize" Value="14"/>
|
||||
<Setter Property="Height" Value="32"/>
|
||||
<Setter Property="MinWidth" Value="80"/>
|
||||
<Setter Property="Margin" Value="4,0"/>
|
||||
<Setter Property="FontWeight" Value="Normal"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border x:Name="Border"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="4"
|
||||
Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="Border" Property="Background" Value="{DynamicResource SecondaryButtonHover}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter TargetName="Border" Property="Background" Value="{DynamicResource SecondaryButtonPressed}"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!-- Primary Button Style -->
|
||||
<Style x:Key="PrimaryMessageBoxButton" TargetType="Button" BasedOn="{StaticResource MessageBoxButton}">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonBg}"/>
|
||||
<Setter Property="Foreground" Value="white"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBg}"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="4"
|
||||
Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,1"/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsEnabled" Value="False">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonDisabled}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonDisabled}"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource ButtonTextDisabled}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonHover}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonHover}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter Property="Background" Value="{DynamicResource ButtonPressed}"/>
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource ButtonPressed}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
|
||||
<Border BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8"
|
||||
Background="{DynamicResource CardBgColor}"
|
||||
Margin="25">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect Color="Black"
|
||||
Opacity="0.15"
|
||||
BlurRadius="20"
|
||||
ShadowDepth="0"
|
||||
Direction="0"/>
|
||||
</Border.Effect>
|
||||
|
||||
<Grid Margin="0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Title Bar -->
|
||||
<Grid Grid.Row="0" x:Name="TitleBar" Height="40" Background="Transparent">
|
||||
<TextBlock x:Name="TitleText"
|
||||
Text="Message"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
FontSize="16"
|
||||
FontWeight="SemiBold"
|
||||
VerticalAlignment="Center"
|
||||
Margin="16,0,0,0"/>
|
||||
</Grid>
|
||||
|
||||
<!-- Message Content -->
|
||||
<Grid Grid.Row="1" Margin="24,12,24,20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!-- Icon -->
|
||||
<TextBlock x:Name="IconText"
|
||||
Grid.Column="0"
|
||||
FontFamily="Segoe Fluent Icons"
|
||||
FontSize="24"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,2,14,0"
|
||||
Visibility="Collapsed"/>
|
||||
|
||||
<!-- Message Text -->
|
||||
<TextBlock x:Name="MessageText"
|
||||
Grid.Column="1"
|
||||
Text="Message content goes here"
|
||||
TextWrapping="Wrap"
|
||||
FontSize="14"
|
||||
LineHeight="20"
|
||||
Foreground="{DynamicResource FgColor}"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
|
||||
<!-- Button Panel -->
|
||||
<Border Grid.Row="2"
|
||||
Background="{DynamicResource BgColor}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="0,1,0,0"
|
||||
Padding="16,12"
|
||||
CornerRadius="0,0,8,8">
|
||||
<StackPanel x:Name="ButtonPanel"
|
||||
Orientation="Horizontal"
|
||||
HorizontalAlignment="Right">
|
||||
<Button x:Name="Button1"
|
||||
Content="OK"
|
||||
Style="{StaticResource PrimaryMessageBoxButton}"/>
|
||||
<Button x:Name="Button2"
|
||||
Content="Cancel"
|
||||
Style="{StaticResource MessageBoxButton}"
|
||||
Visibility="Collapsed"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Window>
|
||||
20
Scripts/CLI/PrintHeader.ps1
Normal file
20
Scripts/CLI/PrintHeader.ps1
Normal file
@@ -0,0 +1,20 @@
|
||||
# Prints the header for the script
|
||||
function PrintHeader {
|
||||
param (
|
||||
$title
|
||||
)
|
||||
|
||||
$fullTitle = " Win11Debloat Script - $title"
|
||||
|
||||
if ($script:Params.ContainsKey("Sysprep")) {
|
||||
$fullTitle = "$fullTitle (Sysprep mode)"
|
||||
}
|
||||
else {
|
||||
$fullTitle = "$fullTitle (User: $(GetUserName))"
|
||||
}
|
||||
|
||||
Clear-Host
|
||||
Write-Host "-------------------------------------------------------------------------------------------"
|
||||
Write-Host $fullTitle
|
||||
Write-Host "-------------------------------------------------------------------------------------------"
|
||||
}
|
||||
66
Scripts/CLI/PrintPendingChanges.ps1
Normal file
66
Scripts/CLI/PrintPendingChanges.ps1
Normal file
@@ -0,0 +1,66 @@
|
||||
# Prints all pending changes that will be made by the script
|
||||
function PrintPendingChanges {
|
||||
Write-Output "Win11Debloat will make the following changes:"
|
||||
|
||||
if ($script:Params['CreateRestorePoint']) {
|
||||
Write-Output "- $($script:Features['CreateRestorePoint'].Label)"
|
||||
}
|
||||
foreach ($parameterName in $script:Params.Keys) {
|
||||
if ($script:ControlParams -contains $parameterName) {
|
||||
continue
|
||||
}
|
||||
|
||||
# Print parameter description
|
||||
switch ($parameterName) {
|
||||
'Apps' {
|
||||
continue
|
||||
}
|
||||
'CreateRestorePoint' {
|
||||
continue
|
||||
}
|
||||
'RemoveApps' {
|
||||
$appsList = GenerateAppsList
|
||||
|
||||
if ($appsList.Count -eq 0) {
|
||||
Write-Host "No valid apps were selected for removal" -ForegroundColor Yellow
|
||||
Write-Output ""
|
||||
continue
|
||||
}
|
||||
|
||||
Write-Output "- Remove $($appsList.Count) apps:"
|
||||
Write-Host $appsList -ForegroundColor DarkGray
|
||||
continue
|
||||
}
|
||||
'RemoveAppsCustom' {
|
||||
$appsList = LoadAppsFromFile $script:CustomAppsListFilePath
|
||||
|
||||
if ($appsList.Count -eq 0) {
|
||||
Write-Host "No valid apps were selected for removal" -ForegroundColor Yellow
|
||||
Write-Output ""
|
||||
continue
|
||||
}
|
||||
|
||||
Write-Output "- Remove $($appsList.Count) apps:"
|
||||
Write-Host $appsList -ForegroundColor DarkGray
|
||||
continue
|
||||
}
|
||||
default {
|
||||
if ($script:Features -and $script:Features.ContainsKey($parameterName)) {
|
||||
$action = $script:Features[$parameterName].Action
|
||||
$message = $script:Features[$parameterName].Label
|
||||
Write-Output "- $action $message"
|
||||
}
|
||||
else {
|
||||
# Fallback: show the parameter name if no feature description is available
|
||||
Write-Output "- $parameterName"
|
||||
}
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Write-Output ""
|
||||
Write-Output ""
|
||||
Write-Output "Press enter to execute the script or press CTRL+C to quit..."
|
||||
Read-Host | Out-Null
|
||||
}
|
||||
28
Scripts/CLI/ShowCLIAppRemoval.ps1
Normal file
28
Scripts/CLI/ShowCLIAppRemoval.ps1
Normal file
@@ -0,0 +1,28 @@
|
||||
# Shows the CLI app removal menu and prompts the user to select which apps to remove.
|
||||
function ShowCLIAppRemoval {
|
||||
PrintHeader "App Removal"
|
||||
|
||||
Write-Output "> Opening app selection form..."
|
||||
|
||||
$result = Show-AppSelectionWindow
|
||||
|
||||
if ($result -eq $true) {
|
||||
Write-Output "You have selected $($script:SelectedApps.Count) apps for removal"
|
||||
AddParameter 'RemoveAppsCustom'
|
||||
|
||||
SaveSettings
|
||||
|
||||
# Suppress prompt if Silent parameter was passed
|
||||
if (-not $Silent) {
|
||||
Write-Output ""
|
||||
Write-Output ""
|
||||
Write-Output "Press enter to remove the selected apps or press CTRL+C to quit..."
|
||||
Read-Host | Out-Null
|
||||
PrintHeader "App Removal"
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Host "Selection was cancelled, no apps have been removed" -ForegroundColor Red
|
||||
Write-Output ""
|
||||
}
|
||||
}
|
||||
33
Scripts/CLI/ShowCLIDefaultModeAppRemovalOptions.ps1
Normal file
33
Scripts/CLI/ShowCLIDefaultModeAppRemovalOptions.ps1
Normal file
@@ -0,0 +1,33 @@
|
||||
# Shows the CLI default mode app removal options. Loops until a valid option is selected.
|
||||
function ShowCLIDefaultModeAppRemovalOptions {
|
||||
PrintHeader 'Default Mode'
|
||||
|
||||
Write-Host "Please note: The default selection of apps includes Microsoft Teams, Spotify, Sticky Notes and more. Select option 2 to verify and change what apps are removed by the script" -ForegroundColor DarkGray
|
||||
Write-Host ""
|
||||
|
||||
Do {
|
||||
Write-Host "Options:" -ForegroundColor Yellow
|
||||
Write-Host " (n) Don't remove any apps" -ForegroundColor Yellow
|
||||
Write-Host " (1) Only remove the default selection of apps" -ForegroundColor Yellow
|
||||
Write-Host " (2) Manually select which apps to remove" -ForegroundColor Yellow
|
||||
$RemoveAppsInput = Read-Host "Do you want to remove any apps? Apps will be removed for all users (n/1/2)"
|
||||
|
||||
# Show app selection form if user entered option 3
|
||||
if ($RemoveAppsInput -eq '2') {
|
||||
$result = Show-AppSelectionWindow
|
||||
|
||||
if ($result -ne $true) {
|
||||
# User cancelled or closed app selection, change RemoveAppsInput so the menu will be shown again
|
||||
Write-Host ""
|
||||
Write-Host "Cancelled application selection, please try again" -ForegroundColor Red
|
||||
|
||||
$RemoveAppsInput = 'c'
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
}
|
||||
}
|
||||
while ($RemoveAppsInput -ne 'n' -and $RemoveAppsInput -ne '0' -and $RemoveAppsInput -ne '1' -and $RemoveAppsInput -ne '2')
|
||||
|
||||
return $RemoveAppsInput
|
||||
}
|
||||
55
Scripts/CLI/ShowCLIDefaultModeOptions.ps1
Normal file
55
Scripts/CLI/ShowCLIDefaultModeOptions.ps1
Normal file
@@ -0,0 +1,55 @@
|
||||
# Show CLI default mode options for removing apps, or set selection if RunDefaults or RunDefaultsLite parameter was passed
|
||||
function ShowCLIDefaultModeOptions {
|
||||
if ($RunDefaults) {
|
||||
$RemoveAppsInput = '1'
|
||||
}
|
||||
elseif ($RunDefaultsLite) {
|
||||
$RemoveAppsInput = '0'
|
||||
}
|
||||
else {
|
||||
$RemoveAppsInput = ShowCLIDefaultModeAppRemovalOptions
|
||||
|
||||
if ($RemoveAppsInput -eq '2' -and ($script:SelectedApps.contains('Microsoft.XboxGameOverlay') -or $script:SelectedApps.contains('Microsoft.XboxGamingOverlay')) -and
|
||||
$( Read-Host -Prompt "Disable Game Bar integration and game/screen recording? This also stops ms-gamingoverlay and ms-gamebar popups (y/n)" ) -eq 'y') {
|
||||
$DisableGameBarIntegrationInput = $true;
|
||||
}
|
||||
}
|
||||
|
||||
PrintHeader 'Default Mode'
|
||||
|
||||
# Add default settings based on user input
|
||||
try {
|
||||
# Select app removal options based on user input
|
||||
switch ($RemoveAppsInput) {
|
||||
'1' {
|
||||
AddParameter 'RemoveApps'
|
||||
AddParameter 'Apps' 'Default'
|
||||
}
|
||||
'2' {
|
||||
AddParameter 'RemoveAppsCustom'
|
||||
|
||||
if ($DisableGameBarIntegrationInput) {
|
||||
AddParameter 'DisableDVR'
|
||||
AddParameter 'DisableGameBarIntegration'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Load settings from DefaultSettings.json and add to params
|
||||
LoadSettings -filePath $script:DefaultSettingsFilePath -expectedVersion "1.0"
|
||||
}
|
||||
catch {
|
||||
Write-Error "Failed to load settings from DefaultSettings.json file: $_"
|
||||
AwaitKeyToExit
|
||||
}
|
||||
|
||||
SaveSettings
|
||||
|
||||
# Skip change summary if Silent parameter was passed
|
||||
if ($Silent) {
|
||||
return
|
||||
}
|
||||
|
||||
PrintPendingChanges
|
||||
PrintHeader 'Default Mode'
|
||||
}
|
||||
16
Scripts/CLI/ShowCLILastUsedSettings.ps1
Normal file
16
Scripts/CLI/ShowCLILastUsedSettings.ps1
Normal file
@@ -0,0 +1,16 @@
|
||||
# Shows the CLI last used settings from LastUsedSettings.json file, displays pending changes and prompts the user to apply them.
|
||||
function ShowCLILastUsedSettings {
|
||||
PrintHeader 'Custom Mode'
|
||||
|
||||
try {
|
||||
# Load settings from LastUsedSettings.json and add to params
|
||||
LoadSettings -filePath $script:SavedSettingsFilePath -expectedVersion "1.0"
|
||||
}
|
||||
catch {
|
||||
Write-Error "Failed to load settings from LastUsedSettings.json file: $_"
|
||||
AwaitKeyToExit
|
||||
}
|
||||
|
||||
PrintPendingChanges
|
||||
PrintHeader 'Custom Mode'
|
||||
}
|
||||
30
Scripts/CLI/ShowCLIMenuOptions.ps1
Normal file
30
Scripts/CLI/ShowCLIMenuOptions.ps1
Normal file
@@ -0,0 +1,30 @@
|
||||
# Shows the CLI menu options and prompts the user to select one. Loops until a valid option is selected.
|
||||
function ShowCLIMenuOptions {
|
||||
Do {
|
||||
$ModeSelectionMessage = "Please select an option (1/2)"
|
||||
|
||||
PrintHeader 'Menu'
|
||||
|
||||
Write-Host "(1) Default mode: Quickly apply the recommended changes"
|
||||
Write-Host "(2) App removal mode: Select & remove apps, without making other changes"
|
||||
|
||||
# Only show this option if SavedSettings file exists
|
||||
if (Test-Path $script:SavedSettingsFilePath) {
|
||||
Write-Host "(3) Quickly apply your last used settings"
|
||||
|
||||
$ModeSelectionMessage = "Please select an option (1/2/3)"
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host ""
|
||||
|
||||
$Mode = Read-Host $ModeSelectionMessage
|
||||
|
||||
if (($Mode -eq '3') -and -not (Test-Path $script:SavedSettingsFilePath)) {
|
||||
$Mode = $null
|
||||
}
|
||||
}
|
||||
while ($Mode -ne '1' -and $Mode -ne '2' -and $Mode -ne '3')
|
||||
|
||||
return $Mode
|
||||
}
|
||||
44
Scripts/FileIO/LoadAppsDetailsFromJson.ps1
Normal file
44
Scripts/FileIO/LoadAppsDetailsFromJson.ps1
Normal file
@@ -0,0 +1,44 @@
|
||||
# Read Apps.json and return list of app objects with optional filtering
|
||||
function LoadAppsDetailsFromJson {
|
||||
param (
|
||||
[switch]$OnlyInstalled,
|
||||
[string]$InstalledList = "",
|
||||
[switch]$InitialCheckedFromJson
|
||||
)
|
||||
|
||||
$apps = @()
|
||||
try {
|
||||
$jsonContent = Get-Content -Path $script:AppsListFilePath -Raw | ConvertFrom-Json
|
||||
}
|
||||
catch {
|
||||
Write-Error "Failed to read Apps.json: $_"
|
||||
return $apps
|
||||
}
|
||||
|
||||
foreach ($appData in $jsonContent.Apps) {
|
||||
$appId = $appData.AppId.Trim()
|
||||
if ($appId.length -eq 0) { continue }
|
||||
|
||||
if ($OnlyInstalled) {
|
||||
if (-not ($InstalledList -like ("*$appId*")) -and -not (Get-AppxPackage -Name $appId)) {
|
||||
continue
|
||||
}
|
||||
if (($appId -eq "Microsoft.Edge") -and -not ($InstalledList -like "* Microsoft.Edge *")) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
$displayName = if ($appData.FriendlyName) { "$($appData.FriendlyName) ($appId)" } else { $appId }
|
||||
$isChecked = if ($InitialCheckedFromJson) { $appData.SelectedByDefault } else { $false }
|
||||
|
||||
$apps += [PSCustomObject]@{
|
||||
AppId = $appId
|
||||
DisplayName = $displayName
|
||||
IsChecked = $isChecked
|
||||
Description = $appData.Description
|
||||
SelectedByDefault = $appData.SelectedByDefault
|
||||
}
|
||||
}
|
||||
|
||||
return $apps
|
||||
}
|
||||
45
Scripts/FileIO/LoadAppsFromFile.ps1
Normal file
45
Scripts/FileIO/LoadAppsFromFile.ps1
Normal file
@@ -0,0 +1,45 @@
|
||||
# Returns list of apps from the specified file, it trims the app names and removes any comments
|
||||
function LoadAppsFromFile {
|
||||
param (
|
||||
$appsFilePath
|
||||
)
|
||||
|
||||
$appsList = @()
|
||||
|
||||
if (-not (Test-Path $appsFilePath)) {
|
||||
return $appsList
|
||||
}
|
||||
|
||||
try {
|
||||
# Check if file is JSON or text format
|
||||
if ($appsFilePath -like "*.json") {
|
||||
# JSON file format
|
||||
$jsonContent = Get-Content -Path $appsFilePath -Raw | ConvertFrom-Json
|
||||
Foreach ($appData in $jsonContent.Apps) {
|
||||
$appId = $appData.AppId.Trim()
|
||||
$selectedByDefault = $appData.SelectedByDefault
|
||||
if ($selectedByDefault -and $appId.length -gt 0) {
|
||||
$appsList += $appId
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
# Legacy text file format
|
||||
Foreach ($app in (Get-Content -Path $appsFilePath | Where-Object { $_ -notmatch '^#.*' -and $_ -notmatch '^\s*$' } )) {
|
||||
if (-not ($app.IndexOf('#') -eq -1)) {
|
||||
$app = $app.Substring(0, $app.IndexOf('#'))
|
||||
}
|
||||
|
||||
$app = $app.Trim()
|
||||
$appString = $app.Trim('*')
|
||||
$appsList += $appString
|
||||
}
|
||||
}
|
||||
|
||||
return $appsList
|
||||
}
|
||||
catch {
|
||||
Write-Error "Unable to read apps list from file: $appsFilePath"
|
||||
AwaitKeyToExit
|
||||
}
|
||||
}
|
||||
32
Scripts/FileIO/LoadJsonFile.ps1
Normal file
32
Scripts/FileIO/LoadJsonFile.ps1
Normal file
@@ -0,0 +1,32 @@
|
||||
# Loads a JSON file from the specified path and returns the parsed object
|
||||
# Returns $null if the file doesn't exist or if parsing fails
|
||||
function LoadJsonFile {
|
||||
param (
|
||||
[string]$filePath,
|
||||
[string]$expectedVersion = $null,
|
||||
[switch]$optionalFile
|
||||
)
|
||||
|
||||
if (-not (Test-Path $filePath)) {
|
||||
if (-not $optionalFile) {
|
||||
Write-Error "File not found: $filePath"
|
||||
}
|
||||
return $null
|
||||
}
|
||||
|
||||
try {
|
||||
$jsonContent = Get-Content -Path $filePath -Raw | ConvertFrom-Json
|
||||
|
||||
# Validate version if specified
|
||||
if ($expectedVersion -and $jsonContent.Version -and $jsonContent.Version -ne $expectedVersion) {
|
||||
Write-Error "$(Split-Path $filePath -Leaf) version mismatch (expected $expectedVersion, found $($jsonContent.Version))"
|
||||
return $null
|
||||
}
|
||||
|
||||
return $jsonContent
|
||||
}
|
||||
catch {
|
||||
Write-Error "Failed to parse JSON file: $filePath"
|
||||
return $null
|
||||
}
|
||||
}
|
||||
31
Scripts/FileIO/LoadSettings.ps1
Normal file
31
Scripts/FileIO/LoadSettings.ps1
Normal file
@@ -0,0 +1,31 @@
|
||||
# Loads settings from a JSON file and adds them to script params
|
||||
function LoadSettings {
|
||||
param (
|
||||
[string]$filePath,
|
||||
[string]$expectedVersion = "1.0"
|
||||
)
|
||||
|
||||
$settingsJson = LoadJsonFile -filePath $filePath -expectedVersion $expectedVersion
|
||||
|
||||
if (-not $settingsJson -or -not $settingsJson.Settings) {
|
||||
throw "Failed to load settings from $(Split-Path $filePath -Leaf)"
|
||||
}
|
||||
|
||||
# Get current Windows build version
|
||||
$WinVersion = Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' CurrentBuild
|
||||
|
||||
foreach ($setting in $settingsJson.Settings) {
|
||||
if ($setting.Value -eq $false) {
|
||||
continue
|
||||
}
|
||||
|
||||
$feature = $script:Features[$setting.Name]
|
||||
|
||||
# Check version and feature compatibility using Features.json
|
||||
if (($feature.MinVersion -and $WinVersion -lt $feature.MinVersion) -or ($feature.MaxVersion -and $WinVersion -gt $feature.MaxVersion) -or ($feature.FeatureId -eq 'DisableModernStandbyNetworking' -and (-not $script:ModernStandbySupported))) {
|
||||
continue
|
||||
}
|
||||
|
||||
AddParameter $setting.Name $setting.Value
|
||||
}
|
||||
}
|
||||
15
Scripts/FileIO/SaveCustomAppsListToFile.ps1
Normal file
15
Scripts/FileIO/SaveCustomAppsListToFile.ps1
Normal file
@@ -0,0 +1,15 @@
|
||||
# Saves the provided appsList to the CustomAppsList file
|
||||
function SaveCustomAppsListToFile {
|
||||
param (
|
||||
$appsList
|
||||
)
|
||||
|
||||
$script:SelectedApps = $appsList
|
||||
|
||||
# Create file that stores selected apps if it doesn't exist
|
||||
if (-not (Test-Path $script:CustomAppsListFilePath)) {
|
||||
$null = New-Item $script:CustomAppsListFilePath -ItemType File
|
||||
}
|
||||
|
||||
Set-Content -Path $script:CustomAppsListFilePath -Value $script:SelectedApps
|
||||
}
|
||||
26
Scripts/FileIO/SaveSettings.ps1
Normal file
26
Scripts/FileIO/SaveSettings.ps1
Normal file
@@ -0,0 +1,26 @@
|
||||
# Saves the current settings, excluding control parameters, to 'LastUsedSettings.json' file
|
||||
function SaveSettings {
|
||||
$settings = @{
|
||||
"Version" = "1.0"
|
||||
"Settings" = @()
|
||||
}
|
||||
|
||||
foreach ($param in $script:Params.Keys) {
|
||||
if ($script:ControlParams -notcontains $param) {
|
||||
$value = $script:Params[$param]
|
||||
|
||||
$settings.Settings += @{
|
||||
"Name" = $param
|
||||
"Value" = $value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$settings | ConvertTo-Json -Depth 10 | Set-Content $script:SavedSettingsFilePath
|
||||
}
|
||||
catch {
|
||||
Write-Output ""
|
||||
Write-Host "Error: Failed to save settings to LastUsedSettings.json file" -ForegroundColor Red
|
||||
}
|
||||
}
|
||||
24
Scripts/FileIO/ValidateAppslist.ps1
Normal file
24
Scripts/FileIO/ValidateAppslist.ps1
Normal file
@@ -0,0 +1,24 @@
|
||||
# Returns a validated list of apps based on the provided appsList and the supported apps from Apps.json
|
||||
function ValidateAppslist {
|
||||
param (
|
||||
$appsList
|
||||
)
|
||||
|
||||
$supportedAppsList = (LoadAppsDetailsFromJson | ForEach-Object { $_.AppId })
|
||||
$validatedAppsList = @()
|
||||
|
||||
# Validate provided appsList against supportedAppsList
|
||||
Foreach ($app in $appsList) {
|
||||
$app = $app.Trim()
|
||||
$appString = $app.Trim('*')
|
||||
|
||||
if ($supportedAppsList -notcontains $appString) {
|
||||
Write-Host "Removal of app '$appString' is not supported and will be skipped" -ForegroundColor Yellow
|
||||
continue
|
||||
}
|
||||
|
||||
$validatedAppsList += $appString
|
||||
}
|
||||
|
||||
return $validatedAppsList
|
||||
}
|
||||
80
Scripts/GUI/ApplySettingsToUiControls.ps1
Normal file
80
Scripts/GUI/ApplySettingsToUiControls.ps1
Normal file
@@ -0,0 +1,80 @@
|
||||
# Applies settings from a JSON object to UI controls (checkboxes and comboboxes)
|
||||
# Used by LoadDefaultsBtn and LoadLastUsedBtn in the UI
|
||||
function ApplySettingsToUiControls {
|
||||
param (
|
||||
$window,
|
||||
$settingsJson,
|
||||
$uiControlMappings
|
||||
)
|
||||
|
||||
if (-not $settingsJson -or -not $settingsJson.Settings) {
|
||||
return $false
|
||||
}
|
||||
|
||||
# First, reset all tweaks to "No Change" (index 0) or unchecked
|
||||
if ($uiControlMappings) {
|
||||
foreach ($comboName in $uiControlMappings.Keys) {
|
||||
$control = $window.FindName($comboName)
|
||||
if ($control -is [System.Windows.Controls.CheckBox]) {
|
||||
$control.IsChecked = $false
|
||||
}
|
||||
elseif ($control -is [System.Windows.Controls.ComboBox]) {
|
||||
$control.SelectedIndex = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Also uncheck RestorePointCheckBox
|
||||
$restorePointCheckBox = $window.FindName('RestorePointCheckBox')
|
||||
if ($restorePointCheckBox) {
|
||||
$restorePointCheckBox.IsChecked = $false
|
||||
}
|
||||
|
||||
# Apply settings from JSON
|
||||
foreach ($setting in $settingsJson.Settings) {
|
||||
if ($setting.Value -ne $true) { continue }
|
||||
$paramName = $setting.Name
|
||||
|
||||
# Handle RestorePointCheckBox separately
|
||||
if ($paramName -eq 'CreateRestorePoint') {
|
||||
if ($restorePointCheckBox) { $restorePointCheckBox.IsChecked = $true }
|
||||
continue
|
||||
}
|
||||
|
||||
if ($uiControlMappings) {
|
||||
foreach ($comboName in $uiControlMappings.Keys) {
|
||||
$mapping = $uiControlMappings[$comboName]
|
||||
if ($mapping.Type -eq 'group') {
|
||||
$i = 1
|
||||
foreach ($val in $mapping.Values) {
|
||||
if ($val.FeatureIds -contains $paramName) {
|
||||
$control = $window.FindName($comboName)
|
||||
if ($control -and $control.Visibility -eq 'Visible') {
|
||||
if ($control -is [System.Windows.Controls.ComboBox]) {
|
||||
$control.SelectedIndex = $i
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
$i++
|
||||
}
|
||||
}
|
||||
elseif ($mapping.Type -eq 'feature') {
|
||||
if ($mapping.FeatureId -eq $paramName) {
|
||||
$control = $window.FindName($comboName)
|
||||
if ($control -and $control.Visibility -eq 'Visible') {
|
||||
if ($control -is [System.Windows.Controls.CheckBox]) {
|
||||
$control.IsChecked = $true
|
||||
}
|
||||
elseif ($control -is [System.Windows.Controls.ComboBox]) {
|
||||
$control.SelectedIndex = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $true
|
||||
}
|
||||
71
Scripts/GUI/AttachShiftClickBehavior.ps1
Normal file
71
Scripts/GUI/AttachShiftClickBehavior.ps1
Normal file
@@ -0,0 +1,71 @@
|
||||
# Attaches shift-click selection behavior to a checkbox in an apps panel
|
||||
# Parameters:
|
||||
# - $checkbox: The checkbox to attach the behavior to
|
||||
# - $appsPanel: The StackPanel containing checkbox items
|
||||
# - $lastSelectedCheckboxRef: A reference to a variable storing the last clicked checkbox
|
||||
# - $updateStatusCallback: Optional callback to update selection status
|
||||
function AttachShiftClickBehavior {
|
||||
param (
|
||||
[System.Windows.Controls.CheckBox]$checkbox,
|
||||
[System.Windows.Controls.StackPanel]$appsPanel,
|
||||
[ref]$lastSelectedCheckboxRef,
|
||||
[scriptblock]$updateStatusCallback = $null
|
||||
)
|
||||
|
||||
# Use a closure to capture the parameters
|
||||
$checkbox.Add_PreviewMouseLeftButtonDown({
|
||||
param(
|
||||
$sender,
|
||||
$e
|
||||
)
|
||||
|
||||
$isShiftPressed = [System.Windows.Input.Keyboard]::IsKeyDown([System.Windows.Input.Key]::LeftShift) -or
|
||||
[System.Windows.Input.Keyboard]::IsKeyDown([System.Windows.Input.Key]::RightShift)
|
||||
|
||||
if ($isShiftPressed -and $null -ne $lastSelectedCheckboxRef.Value) {
|
||||
# Get all visible checkboxes in the panel
|
||||
$visibleCheckboxes = @()
|
||||
foreach ($child in $appsPanel.Children) {
|
||||
if ($child -is [System.Windows.Controls.CheckBox] -and $child.Visibility -eq 'Visible') {
|
||||
$visibleCheckboxes += $child
|
||||
}
|
||||
}
|
||||
|
||||
# Find indices of the last selected and current checkbox
|
||||
$lastIndex = -1
|
||||
$currentIndex = -1
|
||||
|
||||
for ($i = 0; $i -lt $visibleCheckboxes.Count; $i++) {
|
||||
if ($visibleCheckboxes[$i] -eq $lastSelectedCheckboxRef.Value) {
|
||||
$lastIndex = $i
|
||||
}
|
||||
if ($visibleCheckboxes[$i] -eq $sender) {
|
||||
$currentIndex = $i
|
||||
}
|
||||
}
|
||||
|
||||
if ($lastIndex -ge 0 -and $currentIndex -ge 0 -and $lastIndex -ne $currentIndex) {
|
||||
$startIndex = [Math]::Min($lastIndex, $currentIndex)
|
||||
$endIndex = [Math]::Max($lastIndex, $currentIndex)
|
||||
|
||||
$shouldDeselect = $sender.IsChecked
|
||||
|
||||
# Set all checkboxes in the range to the appropriate state
|
||||
for ($i = $startIndex; $i -le $endIndex; $i++) {
|
||||
$visibleCheckboxes[$i].IsChecked = -not $shouldDeselect
|
||||
}
|
||||
|
||||
if ($updateStatusCallback) {
|
||||
& $updateStatusCallback
|
||||
}
|
||||
|
||||
# Mark the event as handled to prevent the default toggle behavior
|
||||
$e.Handled = $true
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
# Update the last selected checkbox reference for next time
|
||||
$lastSelectedCheckboxRef.Value = $sender
|
||||
}.GetNewClosure())
|
||||
}
|
||||
9
Scripts/GUI/GetSystemUsesDarkMode.ps1
Normal file
9
Scripts/GUI/GetSystemUsesDarkMode.ps1
Normal file
@@ -0,0 +1,9 @@
|
||||
# Checks if the system is set to use dark mode for apps
|
||||
function GetSystemUsesDarkMode {
|
||||
try {
|
||||
return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize' -Name 'AppsUseLightTheme').AppsUseLightTheme -eq 0
|
||||
}
|
||||
catch {
|
||||
return $false
|
||||
}
|
||||
}
|
||||
69
Scripts/GUI/SetWindowThemeResources.ps1
Normal file
69
Scripts/GUI/SetWindowThemeResources.ps1
Normal file
@@ -0,0 +1,69 @@
|
||||
# Sets resource colors for a WPF window based on dark mode preference
|
||||
function SetWindowThemeResources {
|
||||
param (
|
||||
$window,
|
||||
[bool]$usesDarkMode
|
||||
)
|
||||
|
||||
if ($usesDarkMode) {
|
||||
$window.Resources.Add("BgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#202020")))
|
||||
$window.Resources.Add("FgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFFFFF")))
|
||||
$window.Resources.Add("CardBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#2b2b2b")))
|
||||
$window.Resources.Add("BorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#404040")))
|
||||
$window.Resources.Add("ButtonBorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#404040")))
|
||||
$window.Resources.Add("CheckBoxBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#272727")))
|
||||
$window.Resources.Add("CheckBoxBorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#808080")))
|
||||
$window.Resources.Add("CheckBoxHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#343434")))
|
||||
$window.Resources.Add("ComboBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#373737")))
|
||||
$window.Resources.Add("ComboHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#434343")))
|
||||
$window.Resources.Add("ComboItemBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#2c2c2c")))
|
||||
$window.Resources.Add("ComboItemHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#383838")))
|
||||
$window.Resources.Add("ComboItemSelectedColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#343434")))
|
||||
$window.Resources.Add("AccentColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFD700")))
|
||||
$window.Resources.Add("ButtonDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#434343")))
|
||||
$window.Resources.Add("ButtonTextDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#989898")))
|
||||
$window.Resources.Add("SecondaryButtonBg", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#393939")))
|
||||
$window.Resources.Add("SecondaryButtonHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#2a2a2a")))
|
||||
$window.Resources.Add("SecondaryButtonPressed", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#1e1e1e")))
|
||||
$window.Resources.Add("SecondaryButtonDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#3b3b3b")))
|
||||
$window.Resources.Add("SecondaryButtonTextDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#787878")))
|
||||
$window.Resources.Add("InputFocusColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#1f1f1f")))
|
||||
$window.Resources.Add("ScrollBarThumbColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#3d3d3d")))
|
||||
$window.Resources.Add("ScrollBarThumbHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#4b4b4b")))
|
||||
}
|
||||
else {
|
||||
$window.Resources.Add("BgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f3f3f3")))
|
||||
$window.Resources.Add("FgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#000000")))
|
||||
$window.Resources.Add("CardBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#fbfbfb")))
|
||||
$window.Resources.Add("BorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#ededed")))
|
||||
$window.Resources.Add("ButtonBorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#d3d3d3")))
|
||||
$window.Resources.Add("CheckBoxBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f5f5f5")))
|
||||
$window.Resources.Add("CheckBoxBorderColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#898989")))
|
||||
$window.Resources.Add("CheckBoxHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#ececec")))
|
||||
$window.Resources.Add("ComboBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFFFFF")))
|
||||
$window.Resources.Add("ComboHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f8f8f8")))
|
||||
$window.Resources.Add("ComboItemBgColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f9f9f9")))
|
||||
$window.Resources.Add("ComboItemHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f0f0f0")))
|
||||
$window.Resources.Add("ComboItemSelectedColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f3f3f3")))
|
||||
$window.Resources.Add("AccentColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#ffae00")))
|
||||
$window.Resources.Add("ButtonDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#bfbfbf")))
|
||||
$window.Resources.Add("ButtonTextDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#ffffff")))
|
||||
$window.Resources.Add("SecondaryButtonBg", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#fbfbfb")))
|
||||
$window.Resources.Add("SecondaryButtonHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f6f6f6")))
|
||||
$window.Resources.Add("SecondaryButtonPressed", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f0f0f0")))
|
||||
$window.Resources.Add("SecondaryButtonDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#f7f7f7")))
|
||||
$window.Resources.Add("SecondaryButtonTextDisabled", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#b7b7b7")))
|
||||
$window.Resources.Add("InputFocusColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#fbfbfb")))
|
||||
$window.Resources.Add("ScrollBarThumbColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#b9b9b9")))
|
||||
$window.Resources.Add("ScrollBarThumbHoverColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#8b8b8b")))
|
||||
}
|
||||
|
||||
$window.Resources.Add("ButtonBg", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#0067c0")))
|
||||
$window.Resources.Add("ButtonHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#1E88E5")))
|
||||
$window.Resources.Add("ButtonPressed", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#3284cc")))
|
||||
$window.Resources.Add("CloseHover", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#c42b1c")))
|
||||
$window.Resources.Add("InformationIconColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#0078D4")))
|
||||
$window.Resources.Add("WarningIconColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#FFB900")))
|
||||
$window.Resources.Add("ErrorIconColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#E81123")))
|
||||
$window.Resources.Add("QuestionIconColor", [System.Windows.Media.SolidColorBrush]::new([System.Windows.Media.ColorConverter]::ConvertFromString("#0078D4")))
|
||||
}
|
||||
95
Scripts/GUI/Show-AboutDialog.ps1
Normal file
95
Scripts/GUI/Show-AboutDialog.ps1
Normal file
@@ -0,0 +1,95 @@
|
||||
function Show-AboutDialog {
|
||||
param (
|
||||
[Parameter(Mandatory=$false)]
|
||||
[System.Windows.Window]$Owner = $null
|
||||
)
|
||||
|
||||
Add-Type -AssemblyName PresentationFramework,PresentationCore,WindowsBase | Out-Null
|
||||
|
||||
$usesDarkMode = GetSystemUsesDarkMode
|
||||
|
||||
# Determine owner window
|
||||
$ownerWindow = if ($Owner) { $Owner } else { $script:GuiWindow }
|
||||
|
||||
# Show overlay if owner window exists
|
||||
$overlay = $null
|
||||
if ($ownerWindow) {
|
||||
try {
|
||||
$overlay = $ownerWindow.FindName('ModalOverlay')
|
||||
if ($overlay) {
|
||||
$ownerWindow.Dispatcher.Invoke([action]{ $overlay.Visibility = 'Visible' })
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
# Load XAML from file
|
||||
$xaml = Get-Content -Path $script:AboutWindowSchema -Raw
|
||||
$reader = [System.Xml.XmlReader]::Create([System.IO.StringReader]::new($xaml))
|
||||
try {
|
||||
$aboutWindow = [System.Windows.Markup.XamlReader]::Load($reader)
|
||||
}
|
||||
finally {
|
||||
$reader.Close()
|
||||
}
|
||||
|
||||
# Set owner to owner window if it exists
|
||||
if ($ownerWindow) {
|
||||
try {
|
||||
$aboutWindow.Owner = $ownerWindow
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
# Apply theme resources
|
||||
SetWindowThemeResources -window $aboutWindow -usesDarkMode $usesDarkMode
|
||||
|
||||
# Get UI elements
|
||||
$titleBar = $aboutWindow.FindName('TitleBar')
|
||||
$versionText = $aboutWindow.FindName('VersionText')
|
||||
$projectLink = $aboutWindow.FindName('ProjectLink')
|
||||
$kofiLink = $aboutWindow.FindName('KofiLink')
|
||||
$closeButton = $aboutWindow.FindName('CloseButton')
|
||||
|
||||
# Set version
|
||||
$versionText.Text = $script:Version
|
||||
|
||||
# Title bar drag to move window
|
||||
$titleBar.Add_MouseLeftButtonDown({
|
||||
$aboutWindow.DragMove()
|
||||
})
|
||||
|
||||
# Project link click handler
|
||||
$projectLink.Add_MouseLeftButtonDown({
|
||||
Start-Process "https://github.com/Raphire/Win11Debloat"
|
||||
})
|
||||
|
||||
# Ko-fi link click handler
|
||||
$kofiLink.Add_MouseLeftButtonDown({
|
||||
Start-Process "https://ko-fi.com/raphire"
|
||||
})
|
||||
|
||||
# Close button handler
|
||||
$closeButton.Add_Click({
|
||||
$aboutWindow.Close()
|
||||
})
|
||||
|
||||
# Handle Escape key to close
|
||||
$aboutWindow.Add_KeyDown({
|
||||
param($sender, $e)
|
||||
if ($e.Key -eq 'Escape') {
|
||||
$aboutWindow.Close()
|
||||
}
|
||||
})
|
||||
|
||||
# Show dialog
|
||||
$aboutWindow.ShowDialog() | Out-Null
|
||||
|
||||
# Hide overlay after dialog closes
|
||||
if ($overlay) {
|
||||
try {
|
||||
$ownerWindow.Dispatcher.Invoke([action]{ $overlay.Visibility = 'Collapsed' })
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
161
Scripts/GUI/Show-AppSelectionWindow.ps1
Normal file
161
Scripts/GUI/Show-AppSelectionWindow.ps1
Normal file
@@ -0,0 +1,161 @@
|
||||
# Shows application selection window that allows the user to select what apps they want to remove or keep
|
||||
function Show-AppSelectionWindow {
|
||||
Add-Type -AssemblyName PresentationFramework,PresentationCore,WindowsBase | Out-Null
|
||||
|
||||
$usesDarkMode = GetSystemUsesDarkMode
|
||||
|
||||
# Show overlay if main window exists
|
||||
$overlay = $null
|
||||
if ($script:GuiWindow) {
|
||||
try {
|
||||
$overlay = $script:GuiWindow.FindName('ModalOverlay')
|
||||
if ($overlay) {
|
||||
$script:GuiWindow.Dispatcher.Invoke([action]{ $overlay.Visibility = 'Visible' })
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
# Load XAML from file
|
||||
$xaml = Get-Content -Path $script:AppSelectionSchema -Raw
|
||||
$reader = [System.Xml.XmlReader]::Create([System.IO.StringReader]::new($xaml))
|
||||
try {
|
||||
$window = [System.Windows.Markup.XamlReader]::Load($reader)
|
||||
}
|
||||
finally {
|
||||
$reader.Close()
|
||||
}
|
||||
|
||||
# Set owner to main window if it exists
|
||||
if ($script:GuiWindow) {
|
||||
try {
|
||||
$window.Owner = $script:GuiWindow
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
SetWindowThemeResources -window $window -usesDarkMode $usesDarkMode
|
||||
|
||||
$appsPanel = $window.FindName('AppsPanel')
|
||||
$checkAllBox = $window.FindName('CheckAllBox')
|
||||
$onlyInstalledBox = $window.FindName('OnlyInstalledBox')
|
||||
$confirmBtn = $window.FindName('ConfirmBtn')
|
||||
$loadingIndicator = $window.FindName('LoadingAppsIndicator')
|
||||
$titleBar = $window.FindName('TitleBar')
|
||||
|
||||
# Track the last selected checkbox for shift-click range selection
|
||||
$script:AppSelectionWindowLastSelectedCheckbox = $null
|
||||
|
||||
# Loads apps into the apps UI
|
||||
function LoadApps {
|
||||
# Show loading indicator
|
||||
$loadingIndicator.Visibility = 'Visible'
|
||||
$window.Dispatcher.Invoke([System.Windows.Threading.DispatcherPriority]::Background, [action]{})
|
||||
|
||||
$appsPanel.Children.Clear()
|
||||
$listOfApps = ""
|
||||
|
||||
if ($onlyInstalledBox.IsChecked -and ($script:WingetInstalled -eq $true)) {
|
||||
# Attempt to get a list of installed apps via WinGet, times out after 10 seconds
|
||||
$listOfApps = GetInstalledAppsViaWinget -TimeOut 10
|
||||
if (-not $listOfApps) {
|
||||
# Show error that the script was unable to get list of apps from WinGet
|
||||
Show-MessageBox -Message 'Unable to load list of installed apps via WinGet.' -Title 'Error' -Button 'OK' -Icon 'Error' -Owner $window | Out-Null
|
||||
$onlyInstalledBox.IsChecked = $false
|
||||
}
|
||||
}
|
||||
|
||||
$appsToAdd = LoadAppsDetailsFromJson -OnlyInstalled:$onlyInstalledBox.IsChecked -InstalledList $listOfApps -InitialCheckedFromJson:$true
|
||||
|
||||
# Reset the last selected checkbox when loading a new list
|
||||
$script:AppSelectionWindowLastSelectedCheckbox = $null
|
||||
|
||||
# Sort apps alphabetically and add to panel
|
||||
$appsToAdd | Sort-Object -Property DisplayName | ForEach-Object {
|
||||
$checkbox = New-Object System.Windows.Controls.CheckBox
|
||||
$checkbox.Content = $_.DisplayName
|
||||
$checkbox.SetValue([System.Windows.Automation.AutomationProperties]::NameProperty, $_.DisplayName)
|
||||
$checkbox.Tag = $_.AppId
|
||||
$checkbox.IsChecked = $_.IsChecked
|
||||
$checkbox.ToolTip = $_.Description
|
||||
$checkbox.Style = $window.Resources["AppsPanelCheckBoxStyle"]
|
||||
|
||||
# Attach shift-click behavior for range selection
|
||||
AttachShiftClickBehavior -checkbox $checkbox -appsPanel $appsPanel -lastSelectedCheckboxRef ([ref]$script:AppSelectionWindowLastSelectedCheckbox)
|
||||
|
||||
$appsPanel.Children.Add($checkbox) | Out-Null
|
||||
}
|
||||
|
||||
# Hide loading indicator
|
||||
$loadingIndicator.Visibility = 'Collapsed'
|
||||
}
|
||||
|
||||
# Event handlers
|
||||
$titleBar.Add_MouseLeftButtonDown({
|
||||
$window.DragMove()
|
||||
})
|
||||
|
||||
$checkAllBox.Add_Checked({
|
||||
foreach ($child in $appsPanel.Children) {
|
||||
if ($child -is [System.Windows.Controls.CheckBox]) {
|
||||
$child.IsChecked = $true
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
$checkAllBox.Add_Unchecked({
|
||||
foreach ($child in $appsPanel.Children) {
|
||||
if ($child -is [System.Windows.Controls.CheckBox]) {
|
||||
$child.IsChecked = $false
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
$onlyInstalledBox.Add_Checked({ LoadApps })
|
||||
$onlyInstalledBox.Add_Unchecked({ LoadApps })
|
||||
|
||||
$confirmBtn.Add_Click({
|
||||
$selectedApps = @()
|
||||
foreach ($child in $appsPanel.Children) {
|
||||
if ($child -is [System.Windows.Controls.CheckBox] -and $child.IsChecked) {
|
||||
$selectedApps += $child.Tag
|
||||
}
|
||||
}
|
||||
|
||||
# Close form without saving if no apps were selected
|
||||
if ($selectedApps.Count -eq 0) {
|
||||
$window.Close()
|
||||
return
|
||||
}
|
||||
|
||||
if ($selectedApps -contains "Microsoft.WindowsStore" -and -not $Silent) {
|
||||
$result = Show-MessageBox -Message 'Are you sure you wish to uninstall the Microsoft Store? This app cannot easily be reinstalled.' -Title 'Are you sure?' -Button 'YesNo' -Icon 'Warning' -Owner $window
|
||||
|
||||
if ($result -eq 'No') {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
SaveCustomAppsListToFile -appsList $selectedApps
|
||||
|
||||
$window.DialogResult = $true
|
||||
})
|
||||
|
||||
# Load apps after window is shown (allows UI to render first)
|
||||
$window.Add_ContentRendered({
|
||||
$window.Dispatcher.Invoke([System.Windows.Threading.DispatcherPriority]::Background, [action]{ LoadApps })
|
||||
})
|
||||
|
||||
# Show the window and return dialog result
|
||||
$result = $window.ShowDialog()
|
||||
|
||||
# Hide overlay after dialog closes
|
||||
if ($overlay) {
|
||||
try {
|
||||
$script:GuiWindow.Dispatcher.Invoke([action]{ $overlay.Visibility = 'Collapsed' })
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
return $result
|
||||
}
|
||||
1501
Scripts/GUI/Show-MainWindow.ps1
Normal file
1501
Scripts/GUI/Show-MainWindow.ps1
Normal file
File diff suppressed because it is too large
Load Diff
154
Scripts/GUI/Show-MessageBox.ps1
Normal file
154
Scripts/GUI/Show-MessageBox.ps1
Normal file
@@ -0,0 +1,154 @@
|
||||
# Shows a Windows 11 styled custom message box
|
||||
function Show-MessageBox {
|
||||
param (
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$Message,
|
||||
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Title = "Win11Debloat",
|
||||
|
||||
[Parameter(Mandatory=$false)]
|
||||
[ValidateSet('OK', 'OKCancel', 'YesNo')]
|
||||
[string]$Button = 'OK',
|
||||
|
||||
[Parameter(Mandatory=$false)]
|
||||
[ValidateSet('None', 'Information', 'Warning', 'Error', 'Question')]
|
||||
[string]$Icon = 'None',
|
||||
|
||||
[Parameter(Mandatory=$false)]
|
||||
[System.Windows.Window]$Owner = $null
|
||||
)
|
||||
|
||||
Add-Type -AssemblyName PresentationFramework,PresentationCore,WindowsBase | Out-Null
|
||||
|
||||
$usesDarkMode = GetSystemUsesDarkMode
|
||||
|
||||
# Determine owner window - use provided Owner, or fall back to main GUI window
|
||||
$ownerWindow = if ($Owner) { $Owner } else { $script:GuiWindow }
|
||||
|
||||
# Show overlay if owner window exists
|
||||
$overlay = $null
|
||||
if ($ownerWindow) {
|
||||
try {
|
||||
$overlay = $ownerWindow.FindName('ModalOverlay')
|
||||
if ($overlay) {
|
||||
$ownerWindow.Dispatcher.Invoke([action]{ $overlay.Visibility = 'Visible' })
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
# Load XAML from file
|
||||
$xaml = Get-Content -Path $script:MessageBoxSchema -Raw
|
||||
$reader = [System.Xml.XmlReader]::Create([System.IO.StringReader]::new($xaml))
|
||||
try {
|
||||
$msgWindow = [System.Windows.Markup.XamlReader]::Load($reader)
|
||||
}
|
||||
finally {
|
||||
$reader.Close()
|
||||
}
|
||||
|
||||
# Set owner to owner window if it exists
|
||||
if ($ownerWindow) {
|
||||
try {
|
||||
$msgWindow.Owner = $ownerWindow
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
# Apply theme resources
|
||||
SetWindowThemeResources -window $msgWindow -usesDarkMode $usesDarkMode
|
||||
|
||||
# Get UI elements
|
||||
$titleText = $msgWindow.FindName('TitleText')
|
||||
$messageText = $msgWindow.FindName('MessageText')
|
||||
$iconText = $msgWindow.FindName('IconText')
|
||||
$button1 = $msgWindow.FindName('Button1')
|
||||
$button2 = $msgWindow.FindName('Button2')
|
||||
$titleBar = $msgWindow.FindName('TitleBar')
|
||||
|
||||
# Set title and message
|
||||
$titleText.Text = $Title
|
||||
$messageText.Text = $Message
|
||||
|
||||
# Configure icon
|
||||
switch ($Icon) {
|
||||
'Information' {
|
||||
$iconText.Text = [char]0xE946
|
||||
$iconText.Foreground = $msgWindow.FindResource('InformationIconColor')
|
||||
$iconText.Visibility = 'Visible'
|
||||
}
|
||||
'Warning' {
|
||||
$iconText.Text = [char]0xE7BA
|
||||
$iconText.Foreground = $msgWindow.FindResource('WarningIconColor')
|
||||
$iconText.Visibility = 'Visible'
|
||||
}
|
||||
'Error' {
|
||||
$iconText.Text = [char]0xEA39
|
||||
$iconText.Foreground = $msgWindow.FindResource('ErrorIconColor')
|
||||
$iconText.Visibility = 'Visible'
|
||||
}
|
||||
'Question' {
|
||||
$iconText.Text = [char]0xE897
|
||||
$iconText.Foreground = $msgWindow.FindResource('QuestionIconColor')
|
||||
$iconText.Visibility = 'Visible'
|
||||
}
|
||||
default {
|
||||
$iconText.Visibility = 'Collapsed'
|
||||
}
|
||||
}
|
||||
|
||||
# Configure buttons - store result in window's Tag property
|
||||
switch ($Button) {
|
||||
'OK' {
|
||||
$button1.Content = 'OK'
|
||||
$button1.Add_Click({ $msgWindow.Tag = 'OK'; $msgWindow.Close() })
|
||||
$button2.Visibility = 'Collapsed'
|
||||
}
|
||||
'OKCancel' {
|
||||
$button1.Content = 'OK'
|
||||
$button2.Content = 'Cancel'
|
||||
$button1.Add_Click({ $msgWindow.Tag = 'OK'; $msgWindow.Close() })
|
||||
$button2.Add_Click({ $msgWindow.Tag = 'Cancel'; $msgWindow.Close() })
|
||||
$button2.Visibility = 'Visible'
|
||||
}
|
||||
'YesNo' {
|
||||
$button1.Content = 'Yes'
|
||||
$button2.Content = 'No'
|
||||
$button1.Add_Click({ $msgWindow.Tag = 'Yes'; $msgWindow.Close() })
|
||||
$button2.Add_Click({ $msgWindow.Tag = 'No'; $msgWindow.Close() })
|
||||
$button2.Visibility = 'Visible'
|
||||
}
|
||||
}
|
||||
|
||||
# Title bar drag to move window
|
||||
$titleBar.Add_MouseLeftButtonDown({
|
||||
$msgWindow.DragMove()
|
||||
})
|
||||
|
||||
# Handle Escape key to close
|
||||
$msgWindow.Add_KeyDown({
|
||||
param($sender, $e)
|
||||
if ($e.Key -eq 'Escape') {
|
||||
if ($Button -eq 'OK') {
|
||||
$msgWindow.Tag = 'OK'
|
||||
} else {
|
||||
$msgWindow.Tag = 'Cancel'
|
||||
}
|
||||
$msgWindow.Close()
|
||||
}
|
||||
})
|
||||
|
||||
# Show dialog and return result from Tag
|
||||
$msgWindow.ShowDialog() | Out-Null
|
||||
|
||||
# Hide overlay after dialog closes
|
||||
if ($overlay) {
|
||||
try {
|
||||
$ownerWindow.Dispatcher.Invoke([action]{ $overlay.Visibility = 'Collapsed' })
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
return $msgWindow.Tag
|
||||
}
|
||||
@@ -1,15 +1,19 @@
|
||||
param (
|
||||
[switch]$CLI,
|
||||
[switch]$Silent,
|
||||
[switch]$Verbose,
|
||||
[switch]$Sysprep,
|
||||
[string]$LogPath,
|
||||
[string]$User,
|
||||
[switch]$NoRestartExplorer,
|
||||
[switch]$CreateRestorePoint,
|
||||
[switch]$RunAppsListGenerator, [switch]$RunAppConfigurator,
|
||||
[switch]$RunAppsListGenerator,
|
||||
[switch]$RunDefaults,
|
||||
[switch]$RunDefaultsLite,
|
||||
[switch]$RunSavedSettings,
|
||||
[switch]$RemoveApps,
|
||||
[string]$Apps,
|
||||
[string]$AppRemovalTarget,
|
||||
[switch]$RemoveApps,
|
||||
[switch]$RemoveAppsCustom,
|
||||
[switch]$RemoveGamingApps,
|
||||
[switch]$RemoveCommApps,
|
||||
@@ -20,12 +24,17 @@ param (
|
||||
[switch]$DisableGameBarIntegration,
|
||||
[switch]$DisableTelemetry,
|
||||
[switch]$DisableFastStartup,
|
||||
[switch]$DisableBitlockerAutoEncryption,
|
||||
[switch]$DisableModernStandbyNetworking,
|
||||
[switch]$DisableBingSearches, [switch]$DisableBing,
|
||||
[switch]$DisableUpdateASAP,
|
||||
[switch]$PreventUpdateAutoReboot,
|
||||
[switch]$DisableDeliveryOptimization,
|
||||
[switch]$DisableBing,
|
||||
[switch]$DisableDesktopSpotlight,
|
||||
[switch]$DisableLockscrTips, [switch]$DisableLockscreenTips,
|
||||
[switch]$DisableWindowsSuggestions, [switch]$DisableSuggestions,
|
||||
[switch]$DisableLockscreenTips,
|
||||
[switch]$DisableSuggestions,
|
||||
[switch]$DisableEdgeAds,
|
||||
[switch]$DisableBraveBloat,
|
||||
[switch]$DisableSettings365Ads,
|
||||
[switch]$DisableSettingsHome,
|
||||
[switch]$ShowHiddenFolders,
|
||||
@@ -48,8 +57,8 @@ param (
|
||||
[switch]$DisablePaintAI,
|
||||
[switch]$DisableNotepadAI,
|
||||
[switch]$DisableEdgeAI,
|
||||
[switch]$DisableWidgets, [switch]$HideWidgets,
|
||||
[switch]$DisableChat, [switch]$HideChat,
|
||||
[switch]$DisableWidgets,
|
||||
[switch]$HideChat,
|
||||
[switch]$EnableEndTask,
|
||||
[switch]$EnableLastActiveClick,
|
||||
[switch]$ClearStart,
|
||||
@@ -57,21 +66,26 @@ param (
|
||||
[switch]$ClearStartAllUsers,
|
||||
[string]$ReplaceStartAllUsers,
|
||||
[switch]$RevertContextMenu,
|
||||
[switch]$DisableDragTray,
|
||||
[switch]$DisableMouseAcceleration,
|
||||
[switch]$DisableStickyKeys,
|
||||
[switch]$DisableWindowSnapping,
|
||||
[switch]$DisableSnapAssist,
|
||||
[switch]$DisableSnapLayouts,
|
||||
[switch]$HideTabsInAltTab, [switch]$Show3TabsInAltTab, [switch]$Show5TabsInAltTab, [switch]$Show20TabsInAltTab,
|
||||
[switch]$HideHome,
|
||||
[switch]$HideGallery,
|
||||
[switch]$ExplorerToHome,
|
||||
[switch]$ExplorerToThisPC,
|
||||
[switch]$ExplorerToDownloads,
|
||||
[switch]$ExplorerToOneDrive,
|
||||
[switch]$NoRestartExplorer,
|
||||
[switch]$DisableOnedrive, [switch]$HideOnedrive,
|
||||
[switch]$Disable3dObjects, [switch]$Hide3dObjects,
|
||||
[switch]$DisableMusic, [switch]$HideMusic,
|
||||
[switch]$DisableIncludeInLibrary, [switch]$HideIncludeInLibrary,
|
||||
[switch]$DisableGiveAccessTo, [switch]$HideGiveAccessTo,
|
||||
[switch]$DisableShare, [switch]$HideShare
|
||||
[switch]$AddFoldersToThisPC,
|
||||
[switch]$HideOnedrive,
|
||||
[switch]$Hide3dObjects,
|
||||
[switch]$HideMusic,
|
||||
[switch]$HideIncludeInLibrary,
|
||||
[switch]$HideGiveAccessTo,
|
||||
[switch]$HideShare
|
||||
)
|
||||
|
||||
# Show error if current powershell environment does not have LanguageMode set to FullLanguage
|
||||
@@ -103,11 +117,11 @@ catch {
|
||||
Exit
|
||||
}
|
||||
|
||||
# Remove old script folder if it exists, except for CustomAppsList and SavedSettings files
|
||||
# Remove old script folder if it exists, except for CustomAppsList and LastUsedSettings.json files
|
||||
if (Test-Path "$env:TEMP/Win11Debloat") {
|
||||
Write-Output ""
|
||||
Write-Output "> Cleaning up old Win11Debloat folder..."
|
||||
Get-ChildItem -Path "$env:TEMP/Win11Debloat" -Exclude CustomAppsList,SavedSettings,Win11Debloat.log | Remove-Item -Recurse -Force
|
||||
Get-ChildItem -Path "$env:TEMP/Win11Debloat" -Exclude CustomAppsList,LastUsedSettings.json,Win11Debloat.log,Logs | Remove-Item -Recurse -Force
|
||||
}
|
||||
|
||||
Write-Output ""
|
||||
@@ -135,21 +149,29 @@ $arguments = $($PSBoundParameters.GetEnumerator() | ForEach-Object {
|
||||
Write-Output ""
|
||||
Write-Output "> Running Win11Debloat..."
|
||||
|
||||
# Minimize the powershell window when no parameters are provided
|
||||
if ($arguments.Count -eq 0) {
|
||||
$windowStyle = "Minimized"
|
||||
}
|
||||
else {
|
||||
$windowStyle = "Normal"
|
||||
}
|
||||
|
||||
# Run Win11Debloat script with the provided arguments
|
||||
$debloatProcess = Start-Process powershell.exe -PassThru -ArgumentList "-executionpolicy bypass -File $env:TEMP\Win11Debloat\Win11Debloat.ps1 $arguments" -Verb RunAs
|
||||
$debloatProcess = Start-Process powershell.exe -WindowStyle $windowStyle -PassThru -ArgumentList "-executionpolicy bypass -File $env:TEMP\Win11Debloat\Win11Debloat.ps1 $arguments" -Verb RunAs
|
||||
|
||||
# Wait for the process to finish before continuing
|
||||
if ($null -ne $debloatProcess) {
|
||||
$debloatProcess.WaitForExit()
|
||||
}
|
||||
|
||||
# Remove all remaining script files, except for CustomAppsList and SavedSettings files
|
||||
# Remove all remaining script files, except for CustomAppsList and LastUsedSettings.json files
|
||||
if (Test-Path "$env:TEMP/Win11Debloat") {
|
||||
Write-Output ""
|
||||
Write-Output "> Cleaning up..."
|
||||
|
||||
# Cleanup, remove Win11Debloat directory
|
||||
Get-ChildItem -Path "$env:TEMP/Win11Debloat" -Exclude CustomAppsList,SavedSettings,Win11Debloat.log | Remove-Item -Recurse -Force
|
||||
Get-ChildItem -Path "$env:TEMP/Win11Debloat" -Exclude CustomAppsList,LastUsedSettings.json,Win11Debloat.log,Logs | Remove-Item -Recurse -Force
|
||||
}
|
||||
|
||||
Write-Output ""
|
||||
2632
Win11Debloat.ps1
2632
Win11Debloat.ps1
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user