Coder Social home page Coder Social logo

fs00 / win10bloatremover Goto Github PK

View Code? Open in Web Editor NEW
334.0 15.0 32.0 588 KB

Configurable CLI tool to easily and aggressively debloat and tweak Windows 10 by removing preinstalled UWP apps, services and more. Originally based on the W10 de-botnet guide made by @adolfintel.

License: BSD 3-Clause Clear License

C# 100.00%
windows-10 uwp uninstall debloat privacy

win10bloatremover's Introduction

Windows 10 Bloat Remover and Tweaker

This configurable tool provides an interactive command-line interface to aggressively debloat and tweak your Windows 10 installation in an easy way.

Program screenshot

Here's what it can do for you:

  • Remove pre-installed UWP apps: uninstalls the apps specified by the user either for the current Windows user or for all users (see Configuration section below, options UWPAppsToRemove and UWPAppsRemovalMode). When apps are uninstalled for all users, their corresponding provisioned packages are deleted too (if present), so that they won't get reinstalled for new users or after feature updates.
  • Remove Microsoft Edge: uninstalls the newer Chromium-based Edge and the legacy UWP version of the browser, which are both pre-installed in recent versions of the OS.
  • Disable OS telemetry: disables several Windows components that collect diagnostic and usage information such as Compatibility Telemetry, Inventory, Device Census, Customer Experience Improvement Program and others. It also deletes the services which are responsible for data reporting to Microsoft.
  • Remove system services: deletes - not just disables - the services specified by the user (see Configuration section below, option ServicesToRemove) after backing up their Registry keys, so that you can restore them if anything breaks.
  • Tweak Windows settings for enhanced privacy: makes Windows more privacy-respectful by turning off certain system features that put your personal data at risk, such as inking/typing personalization, app launch tracking, clipboard/text messages synchronization, voice activation and some more. Take note that the goal here is to provide a mindful balance that leans towards privacy, without sacrificing too much in terms of user experience.
  • Disable Windows Defender: disables the antivirus (not the firewall) that comes pre-installed on the OS and removes its background services. It also disables SmartScreen protection, as it sends sensitive data to Microsoft. Only for tech-savvy users!
  • Remove OneDrive using the uninstaller provided by Microsoft, its folder in Explorer sidebar will also be hidden. Furthermore, its automatic setup will be disabled to prevent the app from being installed for new users.
  • Remove Windows features: uninstalls the Feature-On-Demand (FOD) capabilities specified by the user (see Configuration section below, option WindowsFeaturesToRemove).
  • Disable automatic updates: prevents automatic download and installation of Windows and Store apps updates. Take note that automatic Windows Updates cannot be disabled on Windows 10 Home.
  • Disable Windows Error Reporting (WER): thanks to this, Windows will no longer "check for a solution to the problem" when a program crashes.
  • Disable consumer features: turns off several superfluous and distracting features such as Spotlight, News and Interests, Search highlights, Meet Now, automatic installation of suggested apps and some more.
  • Disable suggestions and feedback requests by changing relevant Group Policies and system settings
  • Disable scheduled tasks specified by the user (see Configuration section below, option ScheduledTasksToDisable)

Be aware that while most of these operations can be reverted with a system restore point, some of them cannot (uninstalling FODs/provisioned app packages), and carry over after major Windows updates and full system restores.

Unless otherwise specified, operations are applied to all users in the system. However, some of them (Remove OneDrive, Disable suggestions and feedback requests, Disable consumer features, Disable Windows Defender antivirus and Tweak settings for privacy) can not be fully applied to other users that have been created before those operations have been run.
Therefore, in order to have the maximum effect, it is recommended to run this tool before creating any other user in the system.

It is also highly recommended to re-run the operations every time a Windows feature update is installed (especially if Windows Upgrade Assistant is used), since all system services and some default settings get restored by the upgrade process.

๐Ÿ‘‰ Head to Releases to download the latest version.

โš ๏ธ In some rare cases, Windows Defender might identify the tool as a malware and quarantine it.
This is obviously a false positive and is likely due to the fact that the techniques used to disable Defender may resemble some malware-like behavior to the antivirus.
Release artifacts are built by GitHub Actions from the source code stored in this repository and are provided as-is, with no modifications.

Configuration

Program settings are stored in JSON format in a file called config.json, located in the same folder as the program's executable. If said file is not found (e.g. when launching the tool for the first time), it is created containing the default settings.

If the program isn't able to load the configuration from the file for some reason, the error will be displayed when the application starts up and options will be populated with their default values.

Inside the settings file, you will find the following options:

UWPAppsToRemove

Configures which pre-installed UWP apps should be uninstalled. Take note that you can't choose to remove single UWP packages but only groups of them, to make configuration less tricky and also because some apps are made of multiple packages (e.g. Xbox) which depend on common services or components that get removed by the program.

Allowed values: an array which can contain the following values (each one represents a group of apps - a group can consist in a single app):

  • "AlarmsAndClock"
  • "Bing" (Weather, News, Finance and Sports)
  • "Calculator"
  • "Camera"
  • "CommunicationsApps" (Mail, Calendar and People)
  • "Cortana"
  • "HelpAndFeedback" (Feedback Hub, Get Help and Microsoft Tips)
  • "Maps"
  • "Messaging"
  • "MixedReality" (3D Viewer, Print 3D and Mixed Reality Portal)
  • "Mobile" (Your Phone and Mobile plans)
  • "OfficeHub" (My Office)
  • "OneNote"
  • "Paint3D"
  • "Photos" (after removal, legacy Photo Viewer will be restored for your convenience)
  • "Skype"
  • "SnipAndSketch"
  • "SolitaireCollection"
  • "SoundRecorder"
  • "StickyNotes"
  • "Store"
  • "Xbox" (Xbox app, Game Overlay and related services)
  • "Zune" (Groove Music and Movies)

Default value: an array containing some of the app groups listed above

UWPAppsRemovalMode

Configures whether to remove UWP apps for all present and future users (which is the default) or just for the current user.

Allowed values: "AllUsers" or "CurrentUser"
Default value: "AllUsers"

ServicesToRemove

Configures which system services should be removed by specifying their names. Take note that for each name you specify, the program will remove the services whose name starts with the specified name. This is made in order to include those services whose name ends with a random code.

Allowed values: an array containing an arbitrary number of service names
Default value: an array containing a set of services that are deemed superfluous or undesirable for expert users:

  • "dmwappushservice"
  • "RetailDemo"
  • "TroubleshootingSvc" (runs automatic troubleshooters periodically)

ScheduledTasksToDisable

Configures which scheduled tasks should be disabled by specifying their path. You can find the path of each scheduled task in the system with the following PowerShell command: Get-ScheduledTask | foreach { $_.TaskPath + $_.TaskName }.

Allowed values: an array containing an arbitrary number of scheduled tasks
Default value: an array containing a set of scheduled tasks - mostly related to licensing and diagnostics - that are deemed superfluous or undesirable.

WindowsFeaturesToRemove

Configures which Feature-On-Demand (FOD) capabilities should be removed by specifying their names. As with system services, the program will remove all feature capabilities whose name starts with the names you specify (particularly useful since FODs have their version hardcoded in the name). You can find the names of all FOD capabilities available for your system (including non-installed ones) with the PowerShell command Get-WindowsCapability -Online.

Allowed values: an array containing an arbitrary number of FOD capability names
Default value: an array containing a set of FOD capabilities that are deemed superfluous for most users:

  • "App.StepsRecorder" (Steps Recorder)
  • "App.Support.QuickAssist" (Quick Assist app)
  • "App.WirelessDisplay.Connect" (Connect app, pre-installed only on some devices)
  • "Browser.InternetExplorer" (Internet Explorer 11)
  • "Hello.Face" (Windows Hello face authentication)
  • "MathRecognizer" (Math Input Panel, Control and Recognizer)

Credits

This tool was originally based on Federico Dossena's Windows 10 de-botnet guide, which is now discontinued.
Over time, the program evolved on its own, taking sometimes inspiration from the work made by other open source developers:

win10bloatremover's People

Contributors

fs00 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

win10bloatremover's Issues

Microsoft Edge removal does not work outside the EU

Microsoft Windows 10 Home

Windows 10 Bloat Remover and Tweaker version 5.0

2: Remove Microsoft Edge

It seems that Edge Chromium is still installed despite our attempts to remove it.
Try again, and if this error still happens, you might want to report an issue on GitHub

Operation failed: Edge Chromium uninstallation wasn't completed successfully or took too long.

Thank you -

Greg/Johnny

Feature Request - Disable and REMOVE useless services plus improvement

Hi, here is a suggestion to make your tool even better than it already is:

more services to disable and remove (they need to be removed for good to ensure they wont come back ;) )

https://www.youtube.com/watch?v=aIXDD4NKx60

If it's possible to add even more services to disable and remove please do it, every MB of RAM counts. ;) ๐Ÿ‘

Another improvement would be an specific option to remove Windows Defender Anti-Virus (not the firewall), other debloaters have such option.

Add

I'm want to add the disable cortana fuction

Remove UWP apps tries to remove Edge

Edge is the browser I use, I don't want it removed.

I made sure it is not listed in config.json, however when I select 2: remove UWP apps it says Edge Chromuim detected - running uninstall - WHY?!

Re install ondrive

Hello i have remove onedrive
Now i need to install it again but its not working

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.