mirror of
https://github.com/Raphire/Win11Debloat.git
synced 2026-08-23 16:12:08 +00:00
Compare commits
92
Commits
2026.04.05
...
2026.07.11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce36b8edfb | ||
|
|
3b78e8d4ed | ||
|
|
74dedc00e9 | ||
|
|
5571700634 | ||
|
|
c2ea697552 | ||
|
|
ce8c10042e | ||
|
|
89a5d508d8 | ||
|
|
e38aafe01e | ||
|
|
d336f98b39 | ||
|
|
a70a2ccbd6 | ||
|
|
0ef789cc3a | ||
|
|
82f50d6d13 | ||
|
|
949515da3e | ||
|
|
0eeb8f323a | ||
|
|
a9a89c1f13 | ||
|
|
339764eb18 | ||
|
|
3b4a5f16ad | ||
|
|
9a700afaed | ||
|
|
26b313372b | ||
|
|
9ee0126259 | ||
|
|
e23ecf36d6 | ||
|
|
32dc3d6bdf | ||
|
|
f76adc5054 | ||
|
|
95b583606d | ||
|
|
693b805114 | ||
|
|
5ebc50d36a | ||
|
|
d1fe541b62 | ||
|
|
71e3f2e44d | ||
|
|
4891aa401a | ||
|
|
a6d59c0dc1 | ||
|
|
ac54bde383 | ||
|
|
dfe7810346 | ||
|
|
82894176d9 | ||
|
|
87b3035eda | ||
|
|
a89b53504c | ||
|
|
91a6266d50 | ||
|
|
469751f8e8 | ||
|
|
908274a500 | ||
|
|
6e4a616f1c | ||
|
|
535b62db40 | ||
|
|
c039b04717 | ||
|
|
a7a46bb5bf | ||
|
|
a95b5adee8 | ||
|
|
2b97021341 | ||
|
|
1235306f80 | ||
|
|
1a69d19f30 | ||
|
|
5628f6e0b7 | ||
|
|
6f349b4992 | ||
|
|
2193591448 | ||
|
|
e9269c5501 | ||
|
|
fdac0a6d14 | ||
|
|
2aa9afaa2c | ||
|
|
67c9cc6ba3 | ||
|
|
157d26bb22 | ||
|
|
53ca51dffd | ||
|
|
db24865051 | ||
|
|
33b77f19a0 | ||
|
|
37872b2030 | ||
|
|
abfc5db2c3 | ||
|
|
1d828d6a78 | ||
|
|
4d9da4749b | ||
|
|
5cf9ac4082 | ||
|
|
924c192ca5 | ||
|
|
2a5cb986c9 | ||
|
|
66982ada28 | ||
|
|
489af33a8b | ||
|
|
51aa288dfd | ||
|
|
24a6f1bcf8 | ||
|
|
8ac664e45f | ||
|
|
85aa67b5d2 | ||
|
|
c8b4563954 | ||
|
|
22f3144c0f | ||
|
|
2c360961e3 | ||
|
|
11a324365d | ||
|
|
5daa922148 | ||
|
|
1826d6d8be | ||
|
|
c15309bcf6 | ||
|
|
c1dc8f7ce3 | ||
|
|
ebb3a293d4 | ||
|
|
2a7fbf9a2d | ||
|
|
b52a332247 | ||
|
|
92ac5b441e | ||
|
|
5f1d0fb604 | ||
|
|
9ca87b129c | ||
|
|
6db2c158bd | ||
|
|
17654c3f7d | ||
|
|
dd492b523d | ||
|
|
797a232b17 | ||
|
|
9070be6d3f | ||
|
|
b6e7fb1903 | ||
|
|
bb31e98df7 | ||
|
|
ff98febb9a |
+89
-35
@@ -1,6 +1,7 @@
|
|||||||
# How to Contribute?
|
# How to Contribute?
|
||||||
|
|
||||||
We welcome contributions from the community. You can contribute to Win11Debloat by:
|
We welcome contributions from the community. You can contribute to Win11Debloat by:
|
||||||
|
|
||||||
- Reporting issues and bugs [here](https://github.com/Raphire/Win11Debloat/issues/new?template=bug_report.yml)
|
- Reporting issues and bugs [here](https://github.com/Raphire/Win11Debloat/issues/new?template=bug_report.yml)
|
||||||
- Submitting feature requests [here](https://github.com/Raphire/Win11Debloat/issues/new?template=feature_request.yml)
|
- Submitting feature requests [here](https://github.com/Raphire/Win11Debloat/issues/new?template=feature_request.yml)
|
||||||
- Testing Win11Debloat
|
- Testing Win11Debloat
|
||||||
@@ -15,8 +16,9 @@ You can help us test the latest changes and additions to the script. If you enco
|
|||||||
> The prerelease version of Win11Debloat is meant for developers to test the script. Don't use this in production environments!
|
> The prerelease version of Win11Debloat is meant for developers to test the script. Don't use this in production environments!
|
||||||
|
|
||||||
You can launch the prerelease version of Win11Debloat by running this command:
|
You can launch the prerelease version of Win11Debloat by running this command:
|
||||||
|
|
||||||
```ps1
|
```ps1
|
||||||
& ([scriptblock]::Create((irm "https://debloat.raphi.re/dev")))
|
& ([scriptblock]::Create((irm "https://debloat.raphi.re/"))) -Dev
|
||||||
```
|
```
|
||||||
|
|
||||||
# Contributing Code
|
# Contributing Code
|
||||||
@@ -28,12 +30,14 @@ You can launch the prerelease version of Win11Debloat by running this command:
|
|||||||
1. **Fork the project** on GitHub by clicking the "Fork" button at the top right of the repository page.
|
1. **Fork the project** on GitHub by clicking the "Fork" button at the top right of the repository page.
|
||||||
|
|
||||||
2. **Clone the repository** to your local machine:
|
2. **Clone the repository** to your local machine:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
git clone https://github.com/YOUR-USERNAME/Win11Debloat.git
|
git clone https://github.com/YOUR-USERNAME/Win11Debloat.git
|
||||||
cd Win11Debloat
|
cd Win11Debloat
|
||||||
```
|
```
|
||||||
|
|
||||||
3. **Create a new branch** for your contribution:
|
3. **Create a new branch** for your contribution:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
git checkout -b feature/your-feature-name
|
git checkout -b feature/your-feature-name
|
||||||
```
|
```
|
||||||
@@ -42,11 +46,14 @@ You can launch the prerelease version of Win11Debloat by running this command:
|
|||||||
|
|
||||||
1. Open PowerShell as an administrator
|
1. Open PowerShell as an administrator
|
||||||
2. Enable script execution if necessary:
|
2. Enable script execution if necessary:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
Set-ExecutionPolicy Unrestricted -Scope Process -Force
|
Set-ExecutionPolicy Unrestricted -Scope Process -Force
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Navigate to your Win11Debloat directory
|
3. Navigate to your Win11Debloat directory
|
||||||
4. Run the script:
|
4. Run the script:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
.\Win11Debloat.ps1
|
.\Win11Debloat.ps1
|
||||||
```
|
```
|
||||||
@@ -57,18 +64,31 @@ You can launch the prerelease version of Win11Debloat by running this command:
|
|||||||
|
|
||||||
Understanding the project structure is essential for contributing effectively:
|
Understanding the project structure is essential for contributing effectively:
|
||||||
|
|
||||||
```
|
```text
|
||||||
Win11Debloat/
|
Win11Debloat/
|
||||||
├── Win11Debloat.ps1 # Main PowerShell script
|
├── Win11Debloat.ps1 # Main PowerShell script
|
||||||
|
├── Run.bat # Batch launcher for the quick launch method
|
||||||
├── Scripts/ # Additional PowerShell scripts and functions
|
├── Scripts/ # Additional PowerShell scripts and functions
|
||||||
│ └── Get.ps1 # Script used for the quick launch method to automatically download and run Win11debloat
|
│ ├── Get.ps1 # Script used for the quick launch method to automatically download and run Win11debloat
|
||||||
|
│ ├── AppRemoval/ # App package removal logic
|
||||||
|
│ ├── CLI/ # Command-line interface helpers
|
||||||
|
│ ├── Features/ # Feature apply/undo logic (e.g. InvokeChanges.ps1, ReplaceStartMenu.ps1)
|
||||||
|
│ ├── FileIO/ # File input/output helpers
|
||||||
|
│ ├── GUI/ # GUI window definitions and logic
|
||||||
|
│ ├── Helpers/ # Shared helper functions
|
||||||
|
│ └── Threading/ # Threading utilities
|
||||||
├── Config/
|
├── Config/
|
||||||
│ ├── Apps.json # List of supported apps for removal
|
│ ├── Apps.json # List of supported apps for removal
|
||||||
│ ├── DefaultSettings.json # Default configuration preset
|
│ ├── DefaultSettings.json # Default configuration preset
|
||||||
│ ├── Features.json # All features with metadata
|
│ ├── Features.json # All features with metadata
|
||||||
│ └── LastUsedSettings.json # Last used configuration (generated during use)
|
│ └── LastUsedSettings.json # Last used configuration (generated during use)
|
||||||
├── Regfiles/ # Registry files for each feature
|
├── Regfiles/ # Registry files for all features
|
||||||
└── Schemas/ # XAML Schemas for GUI elements
|
│ ├── Undo/ # Registry files for reverting features
|
||||||
|
│ └── Sysprep/ # Registry files for Sysprep mode
|
||||||
|
├── Schemas/ # XAML Schemas for GUI elements
|
||||||
|
├── Assets/ # Static assets (icons, start menu templates)
|
||||||
|
├── Backups/ # Registry backups (generated during use)
|
||||||
|
└── Logs/ # Script logs (generated during use)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Best Practices
|
### Best Practices
|
||||||
@@ -98,20 +118,20 @@ Avoid these common mistakes when contributing:
|
|||||||
|
|
||||||
1. **Forgetting Get.ps1**: When adding a new command-line parameter, contributors often remember to add it to `Win11Debloat.ps1` but forget to add the same parameter to `Scripts/Get.ps1`. Both files **must** have matching parameters.
|
1. **Forgetting Get.ps1**: When adding a new command-line parameter, contributors often remember to add it to `Win11Debloat.ps1` but forget to add the same parameter to `Scripts/Get.ps1`. Both files **must** have matching parameters.
|
||||||
|
|
||||||
2. **Missing Registry Files**: Always create an `Undo` registry file for reversibility, aswell as a `Sysprep` registry file for Sysprep mode.
|
2. **Missing Registry Files**: Always create an `Undo` registry file for reversibility, aswell as a `Sysprep` registry file for applying changes to other users and Sysprep mode.
|
||||||
|
|
||||||
3. **Incorrect Registry Hives for Sysprep**: Sysprep registry files apply changes to Windows' default user, registry keys in the `HKEY_CURRENT_USER` hive must use `hkey_users\default` instead. Ensure you update **all** registry keys in the file.
|
3. **Incorrect Registry Hives for Sysprep**: Sysprep registry files are meant to apply changes to a different user. Registry keys in the `HKEY_CURRENT_USER` hive must use `hkey_users\default` instead. Ensure you update **all** registry keys in the file.
|
||||||
|
|
||||||
4. **Wrong Registry File Location**:
|
4. **Wrong Registry File Location**:
|
||||||
- Main action files go in `Regfiles/`
|
- Main action files go in `Regfiles/`
|
||||||
- Undo files go in `Regfiles/Undo/`
|
- Undo files go in `Regfiles/Undo/`
|
||||||
- Sysprep files go in `Regfiles/Sysprep/`
|
- Sysprep files go in `Regfiles/Sysprep/`
|
||||||
|
|
||||||
Placing files in the wrong directory will cause the script to fail when trying to apply or undo changes.
|
Placing files in the wrong directory may cause the script to fail when trying to apply or undo changes.
|
||||||
|
|
||||||
6. **Not Testing Undo Functionality**: Always test that your undo registry file properly reverts all changes. A feature that can't be undone will frustrate users.
|
5. **Not Testing Undo Functionality**: Always test that your undo registry file properly reverts all changes.
|
||||||
|
|
||||||
7. **Not Testing User/Sysprep Functionality**: Always test that your feature works when applied to another user or to the Windows default user with Sysprep. Sysprep changes can be tested by creating new users after running the script.
|
6. **Not Testing User/Sysprep Functionality**: Always test that your feature works when applied to another user or to the Windows default user with Sysprep. Sysprep changes can be tested by creating new users after running the script.
|
||||||
|
|
||||||
7. **Missing Category**: Features without a `Category` field (set to `null`) won't appear in the GUI. This is intentional for command-line-only features, make sure this is what you want before submitting.
|
7. **Missing Category**: Features without a `Category` field (set to `null`) won't appear in the GUI. This is intentional for command-line-only features, make sure this is what you want before submitting.
|
||||||
|
|
||||||
@@ -127,24 +147,43 @@ Avoid these common mistakes when contributing:
|
|||||||
To add a new app that can be removed via Win11Debloat:
|
To add a new app that can be removed via Win11Debloat:
|
||||||
|
|
||||||
1. **Find the AppId**: To find the correct AppId for an app:
|
1. **Find the AppId**: To find the correct AppId for an app:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
Get-AppxPackage | Select-Object Name, PackageFullName
|
Get-AppxPackage | Select-Object Name, PackageFullName
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Edit `Config/Apps.json`**: Add a new entry to the `"Apps"` array:
|
2. **Edit `Config/Apps.json`**: Add a new entry to the `"Apps"` array:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"FriendlyName": "Display Name",
|
"FriendlyName": "Display Name",
|
||||||
"AppId": "AppPackageIdentifier",
|
"AppId": "AppPackageIdentifier",
|
||||||
"Description": "Brief description of the app",
|
"Description": "Brief description of the app",
|
||||||
"SelectedByDefault": true|false
|
"SelectedByDefault": false,
|
||||||
|
"Recommendation": "optional",
|
||||||
|
"RemovalMethod": "Appx"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Field Descriptions**:
|
||||||
|
|
||||||
|
- `FriendlyName`: Display name shown in the GUI.
|
||||||
|
- `AppId`: The `AppPackageIdentifier` from `Get-AppxPackage` or the `Id` from `winget list`, depending on removal method.
|
||||||
|
- `Description`: Brief description of the app shown in the GUI.
|
||||||
|
- `SelectedByDefault`: Set to `true` only for apps that are largely considered bloatware, otherwise set to `false`.
|
||||||
|
- `Recommendation`: Indicates how strongly the app is recommended for removal. One of:
|
||||||
|
- `safe` — safe to remove for most users
|
||||||
|
- `optional` — can be safely removed if the user doesn't need the app
|
||||||
|
- `unsafe` — should only remove if the user knows what they are doing
|
||||||
|
- `RemovalMethod`: The method used to remove the app. One of:
|
||||||
|
- `Appx` — remove as a standard Appx package via `Remove-AppxPackage` (most apps)
|
||||||
|
- `WinGet` — remove via WinGet (`winget uninstall`). Use for non-Appx apps such as Microsoft Copilot.
|
||||||
|
|
||||||
3. **Follow the Guidelines**:
|
3. **Follow the Guidelines**:
|
||||||
- Use clear, user-friendly names for `FriendlyName`
|
|
||||||
- Set `SelectedByDefault` to `true` only for apps that are largely considered bloatware, otherwise set to `false`
|
- Use clear, user-friendly names for `FriendlyName`
|
||||||
- Provide a concise description explaining what the app does
|
- Set `SelectedByDefault` to `true` only for apps that are largely considered bloatware, otherwise set to `false`
|
||||||
|
- Provide a concise description explaining what the app does
|
||||||
|
|
||||||
### Adding a New Feature
|
### Adding a New Feature
|
||||||
|
|
||||||
@@ -162,6 +201,7 @@ Create new registry files in the `Regfiles/` directory:
|
|||||||
- **Sysprep file**: `Sysprep/Disable_YourFeature.reg` (for Sysprep mode)
|
- **Sysprep file**: `Sysprep/Disable_YourFeature.reg` (for Sysprep mode)
|
||||||
|
|
||||||
Example registry file structure:
|
Example registry file structure:
|
||||||
|
|
||||||
```reg
|
```reg
|
||||||
Windows Registry Editor Version 5.00
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
@@ -170,6 +210,7 @@ Windows Registry Editor Version 5.00
|
|||||||
```
|
```
|
||||||
|
|
||||||
A Sysprep registry file should apply the same changes as the normal action. Replace the hive of registry keys that start with `HKEY_CURRENT_USER` with `hkey_users\default`. For example:
|
A Sysprep registry file should apply the same changes as the normal action. Replace the hive of registry keys that start with `HKEY_CURRENT_USER` with `hkey_users\default`. For example:
|
||||||
|
|
||||||
```reg
|
```reg
|
||||||
Windows Registry Editor Version 5.00
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
@@ -179,7 +220,7 @@ Windows Registry Editor Version 5.00
|
|||||||
|
|
||||||
#### 1b. Implement the Feature Logic
|
#### 1b. Implement the Feature Logic
|
||||||
|
|
||||||
If your feature requires more than just applying a registry file, add custom logic to the main script in the appropriate section. In most cases this will involve creating a new entry in the `ExecuteParameter` function for your new feature.
|
If your feature requires more than just applying a registry file, add custom logic to the main script in the appropriate section. In most cases this will involve creating a new entry in the `Invoke-FeatureApply` function (in `Scripts/Features/InvokeChanges.ps1`) for your new feature. If your feature also requires custom undo logic (beyond a simple registry file import), add a corresponding entry to the `Invoke-FeatureUndo` function in the same file.
|
||||||
|
|
||||||
#### 2. Add Feature to Features.json
|
#### 2. Add Feature to Features.json
|
||||||
|
|
||||||
@@ -192,35 +233,39 @@ Add your feature to the `"Features"` array in `Config/Features.json`:
|
|||||||
"ToolTip": "Detailed explanation of what this feature does and its impact.",
|
"ToolTip": "Detailed explanation of what this feature does and its impact.",
|
||||||
"Category": "Privacy & Suggested Content",
|
"Category": "Privacy & Suggested Content",
|
||||||
"Priority": 1,
|
"Priority": 1,
|
||||||
"Action": "Disable",
|
|
||||||
"RegistryKey": "Disable_YourFeature.reg",
|
"RegistryKey": "Disable_YourFeature.reg",
|
||||||
"ApplyText": "Disabling your feature...",
|
"ApplyText": "Disabling your feature",
|
||||||
"UndoAction": "Enable",
|
"UndoLabel": "Short description for the undo",
|
||||||
|
"ApplyUndoText": "Enabling your feature",
|
||||||
"RegistryUndoKey": "Enable_YourFeature.reg",
|
"RegistryUndoKey": "Enable_YourFeature.reg",
|
||||||
"RequiresReboot": false,
|
"RequiresReboot": false,
|
||||||
|
"DisableWhenApplied": false,
|
||||||
"MinVersion": null,
|
"MinVersion": null,
|
||||||
"MaxVersion": null
|
"MaxVersion": null
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
**Field Descriptions**:
|
**Field Descriptions**:
|
||||||
- `FeatureId`: Unique identifier (must match parameter name in Win11Debloat.ps1 and Get.ps1)
|
|
||||||
- `Label`: Short description shown in the UI, written in a way to fit with the Action or UndoAction prefixed
|
- `FeatureId`: Unique identifier, this must match parameter name in the Win11Debloat.ps1 and Get.ps1 files.
|
||||||
- `ToolTip`: Detailed explanation of what the feature does, used for tooltips in the GUI
|
- `Label`: Short description shown in the UI and wiki documentation.
|
||||||
|
- `ToolTip`: Detailed explanation of what the feature does, used for tooltips in the GUI.
|
||||||
- `Category`: One of the predefined categories (see Categories array in Features.json), features without a category won't be loaded into the GUI.
|
- `Category`: One of the predefined categories (see Categories array in Features.json), features without a category won't be loaded into the GUI.
|
||||||
- `Priority`: Optional. The priority value (int) is used to sort features within a category. If this field is omitted the feature will be sorted based on the order in the Features.json file.
|
- `Priority`: Optional. The priority value (int) is used to sort features within a category. If this field is omitted the feature will be sorted based on the order in the Features.json file.
|
||||||
- `Action`: Action word for the feature (e.g., "Disable", "Enable", "Hide", "Show")
|
- `RegistryKey`: Filename of the registry file to apply (in Regfiles/ directory) or null if feature does not require registry changes.
|
||||||
- `RegistryKey`: Filename of the registry file to apply (in Regfiles/ directory) or null if feature does not require registry changes
|
- `ApplyText`: Message shown when applying the feature.
|
||||||
- `ApplyText`: Message shown when applying the feature
|
- `UndoLabel`: Short description for the undo shown in the UI.
|
||||||
- `UndoAction`: Action word for reverting (e.g., "Enable", "Show")
|
- `ApplyUndoText`: Message shown when undoing the feature.
|
||||||
- `RegistryUndoKey`: Filename of the registry file to revert changes or null if feature does not require registry changes
|
- `RegistryUndoKey`: Filename of the registry file to revert changes or null if feature does not require registry changes.
|
||||||
- `RequiresReboot`: Optional boolean. Set to `true` if the feature requires a system reboot to take effect
|
- `RequiresReboot`: Optional boolean. Set to `true` if the feature requires a system reboot to take effect.
|
||||||
- `MinVersion`: Minimum Windows build version (e.g., "22000") or null
|
- `DisableWhenApplied`: Optional boolean. Set to `true` if the feature has no supported undo method.
|
||||||
- `MaxVersion`: Maximum Windows version or null
|
- `MinVersion`: Minimum Windows build version (e.g., "22000") or null.
|
||||||
|
- `MaxVersion`: Maximum Windows version or null.
|
||||||
|
|
||||||
#### 3. Add Command-Line Parameter
|
#### 3. Add Command-Line Parameter
|
||||||
|
|
||||||
Add a corresponding parameter to both `Win11Debloat.ps1` AND `Scripts/Get.ps1`, the parameter name should match the FeatureId you have defined in `Features.json`. In most cases this will be a switch parameter, example:
|
Add a corresponding parameter to both `Win11Debloat.ps1` AND `Scripts/Get.ps1`, the parameter name should match the FeatureId you have defined in `Features.json`. In most cases this will be a switch parameter, example:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
[switch]$YourFeatureId,
|
[switch]$YourFeatureId,
|
||||||
```
|
```
|
||||||
@@ -233,12 +278,14 @@ Add a corresponding parameter to both `Win11Debloat.ps1` AND `Scripts/Get.ps1`,
|
|||||||
The default preset (`Config/DefaultSettings.json`) defines which features are automatically applied when users run Win11Debloat in "Default Mode" or with the `-RunDefaults` parameter. This preset should include features that are widely considered to improve the Windows experience without breaking functionality.
|
The default preset (`Config/DefaultSettings.json`) defines which features are automatically applied when users run Win11Debloat in "Default Mode" or with the `-RunDefaults` parameter. This preset should include features that are widely considered to improve the Windows experience without breaking functionality.
|
||||||
|
|
||||||
**When to add a feature to the default preset:**
|
**When to add a feature to the default preset:**
|
||||||
|
|
||||||
- The feature removes obvious bloatware or distractions
|
- The feature removes obvious bloatware or distractions
|
||||||
- The feature enhances privacy without breaking core functionality
|
- The feature enhances privacy without breaking core functionality
|
||||||
- The feature is generally non-controversial and beneficial to most users
|
- The feature is generally non-controversial and beneficial to most users
|
||||||
- The change can be easily reverted if needed
|
- The change can be easily reverted if needed
|
||||||
|
|
||||||
**When NOT to add a feature to the default preset:**
|
**When NOT to add a feature to the default preset:**
|
||||||
|
|
||||||
- The feature significantly changes core Windows behavior
|
- The feature significantly changes core Windows behavior
|
||||||
- The feature might break applications or workflows for some users
|
- The feature might break applications or workflows for some users
|
||||||
- The feature is highly opinionated or preference-based
|
- The feature is highly opinionated or preference-based
|
||||||
@@ -254,10 +301,12 @@ To add your feature to the default preset, edit `Config/DefaultSettings.json` an
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Field Descriptions**:
|
**Field Descriptions**:
|
||||||
|
|
||||||
- `Name`: Must exactly match the `FeatureId` from Features.json
|
- `Name`: Must exactly match the `FeatureId` from Features.json
|
||||||
- `Value`: Set to `true` to enable the feature in default mode
|
- `Value`: Set to `true` to enable the feature in default mode
|
||||||
|
|
||||||
**Example:**
|
**Example:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"Version": "1.0",
|
"Version": "1.0",
|
||||||
@@ -283,12 +332,13 @@ To add your feature to the default preset, edit `Config/DefaultSettings.json` an
|
|||||||
To add a new category for organizing features:
|
To add a new category for organizing features:
|
||||||
|
|
||||||
- Add a new category entry to the `"Categories"` array in `Config/Features.json`:
|
- Add a new category entry to the `"Categories"` array in `Config/Features.json`:
|
||||||
```json
|
|
||||||
{
|
```json
|
||||||
"Name": "Your Category Name",
|
{
|
||||||
"Icon": "#### ;"
|
"Name": "Your Category Name",
|
||||||
}
|
"Icon": "#### ;"
|
||||||
```
|
}
|
||||||
|
```
|
||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> Use [Segoe Fluent Icon Assets](https://learn.microsoft.com/en-us/windows/apps/design/iconography/segoe-fluent-icons-font) for icon codes.
|
> Use [Segoe Fluent Icon Assets](https://learn.microsoft.com/en-us/windows/apps/design/iconography/segoe-fluent-icons-font) for icon codes.
|
||||||
@@ -320,17 +370,20 @@ UI Groups allow features to be grouped together in the GUI with a combobox (drop
|
|||||||
## Submitting a Pull Request
|
## Submitting a Pull Request
|
||||||
|
|
||||||
1. **Commit your changes** with clear, descriptive commit messages:
|
1. **Commit your changes** with clear, descriptive commit messages:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
git add .
|
git add .
|
||||||
git commit -m "Add feature: Description of your changes"
|
git commit -m "Add feature: Description of your changes"
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Push to your fork**:
|
2. **Push to your fork**:
|
||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
git push origin feature/your-feature-name
|
git push origin feature/your-feature-name
|
||||||
```
|
```
|
||||||
|
|
||||||
3. **Create a Pull Request** on GitHub:
|
3. **Create a Pull Request** on GitHub:
|
||||||
|
|
||||||
- Go to the original Win11Debloat repository
|
- Go to the original Win11Debloat repository
|
||||||
- Click "New Pull Request"
|
- Click "New Pull Request"
|
||||||
- Select your fork and branch
|
- Select your fork and branch
|
||||||
@@ -342,6 +395,7 @@ UI Groups allow features to be grouped together in the GUI with a combobox (drop
|
|||||||
# Questions?
|
# Questions?
|
||||||
|
|
||||||
If you have questions about contributing, feel free to:
|
If you have questions about contributing, feel free to:
|
||||||
|
|
||||||
- Open a [discussion](https://github.com/Raphire/Win11Debloat/discussions)
|
- Open a [discussion](https://github.com/Raphire/Win11Debloat/discussions)
|
||||||
- Comment on an existing issue
|
- Comment on an existing issue
|
||||||
- Ask in your pull request
|
- Ask in your pull request
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
name: "🐞 Bug report"
|
name: "🐞 Bug report"
|
||||||
description: "Report an issue you encountered"
|
description: "Report an issue you encountered"
|
||||||
labels: ["bug"]
|
labels: ["bug", "unconfirmed"]
|
||||||
|
|
||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
|
|||||||
+1
-4
@@ -1,6 +1,3 @@
|
|||||||
LastSettings
|
|
||||||
SavedSettings
|
|
||||||
LastUsedSettings.json
|
LastUsedSettings.json
|
||||||
CustomAppsList
|
|
||||||
Logs/*
|
Logs/*
|
||||||
Win11Debloat.log
|
Backups/*
|
||||||
+316
-202
File diff suppressed because it is too large
Load Diff
@@ -61,10 +61,6 @@
|
|||||||
"Name": "DisableDragTray",
|
"Name": "DisableDragTray",
|
||||||
"Value": true
|
"Value": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"Name": "DisableFastStartup",
|
|
||||||
"Value": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"Name": "Hide3dObjects",
|
"Name": "Hide3dObjects",
|
||||||
"Value": true
|
"Value": true
|
||||||
|
|||||||
+543
-506
File diff suppressed because it is too large
Load Diff
@@ -4,9 +4,9 @@
|
|||||||
[](https://github.com/Raphire/Win11Debloat/discussions)
|
[](https://github.com/Raphire/Win11Debloat/discussions)
|
||||||
[](https://github.com/Raphire/Win11Debloat/wiki/)
|
[](https://github.com/Raphire/Win11Debloat/wiki/)
|
||||||
|
|
||||||
Win11Debloat is a lightweight, easy to use PowerShell script that allows you to quickly declutter and customize 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!
|
Win11Debloat is a lightweight, easy to use PowerShell script that allows you to quickly declutter and customize your Windows experience, no installation required! You can use it to remove pre-installed 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 and power users will enjoy. Such as a powerful command-line interface, support for Windows Audit mode and the option to make changes to other Windows users. 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 a powerful command-line interface, support for Windows Audit mode and the ability to make changes to other Windows users. You can also easily export & import your preferred settings, allowing you to quickly apply the same settings on all your systems. Please refer to our [wiki](https://github.com/Raphire/Win11Debloat/wiki) for more details.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -23,14 +23,14 @@ The script also includes many features that system administrators and power user
|
|||||||
|
|
||||||
Download & run the script automatically via PowerShell.
|
Download & run the script automatically via PowerShell.
|
||||||
|
|
||||||
1. Open PowerShell or Terminal, preferably as an administrator.
|
1. Open PowerShell or Terminal.
|
||||||
2. Copy and paste the command below into PowerShell:
|
2. Copy and paste the command below into PowerShell:
|
||||||
|
|
||||||
```PowerShell
|
```PowerShell
|
||||||
& ([scriptblock]::Create((irm "https://debloat.raphi.re/")))
|
& ([scriptblock]::Create((irm "https://debloat.raphi.re/")))
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Wait for the script to automatically download Win11Debloat.
|
3. Wait for the script to automatically download and launch Win11Debloat.
|
||||||
4. Carefully read through and follow the on-screen instructions.
|
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/Command%E2%80%90line-Interface#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.
|
||||||
@@ -74,10 +74,10 @@ This method supports command-line parameters to customize the behaviour of the s
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
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.
|
Below is an overview of the key features and functionality offered by Win11Debloat. You can visit the [the wiki](https://github.com/Raphire/Win11Debloat/wiki) for more details.
|
||||||
|
|
||||||
> [!Tip]
|
> [!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).
|
> All of the changes made by Win11Debloat can easily be reverted and almost all of the apps can be reinstalled through the Microsoft Store. You can visit [the wiki](https://github.com/Raphire/Win11Debloat/wiki/Reverting-Changes) for more information on reverting changes.
|
||||||
|
|
||||||
#### App Removal
|
#### App Removal
|
||||||
|
|
||||||
@@ -86,29 +86,21 @@ Below is an overview of the key features and functionality offered by Win11Deblo
|
|||||||
#### Privacy & Suggested Content
|
#### Privacy & Suggested Content
|
||||||
|
|
||||||
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
- Disable telemetry, diagnostic data, activity history, app-launch tracking & targeted ads.
|
||||||
- Disable tips, tricks, suggestions & ads across Windows.
|
- Disable tips, tricks, suggestions & ads across Windows, the lock screen and Microsoft Edge.
|
||||||
- Disable Windows location services & app location access.
|
- Disable Windows location services, app location access and Find My Device location tracking.
|
||||||
- Disable Find My Device location tracking.
|
|
||||||
- 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.
|
|
||||||
- Hide Microsoft 365 ads on the Settings 'Home' page, or hide the 'Home' page entirely.
|
- Hide Microsoft 365 ads on the Settings 'Home' page, or hide the 'Home' page entirely.
|
||||||
|
|
||||||
#### AI Features
|
#### AI Features
|
||||||
|
|
||||||
- Disable & remove Microsoft Copilot.
|
- Disable & remove Microsoft Copilot, Windows Recall and Click to Do.
|
||||||
- Disable Windows Recall.
|
|
||||||
- Disable Click to Do, AI text & image analysis tool.
|
|
||||||
- Prevent AI service (WSAIFabricSvc) from starting automatically.
|
- Prevent AI service (WSAIFabricSvc) from starting automatically.
|
||||||
- Disable AI Features in Edge.
|
- Disable AI Features in Edge, Paint and Notepad.
|
||||||
- Disable AI Features in Paint.
|
|
||||||
- Disable AI Features in Notepad.
|
|
||||||
|
|
||||||
#### System
|
#### System
|
||||||
|
|
||||||
- Disable the Drag Tray for sharing & moving files.
|
- Disable the Drag Tray for sharing & moving files.
|
||||||
- Restore the old Windows 10 style context menu.
|
- Restore the old Windows 10 style context menu.
|
||||||
- Turn off Enhance Pointer Precision, also known as mouse acceleration.
|
- Turn off Enhance Pointer Precision (mouse acceleration).
|
||||||
- Disable the Sticky Keys keyboard shortcut.
|
- Disable the Sticky Keys keyboard shortcut.
|
||||||
- Disable Storage Sense automatic disk cleanup.
|
- Disable Storage Sense automatic disk cleanup.
|
||||||
- Disable fast start-up to ensure a full shutdown.
|
- Disable fast start-up to ensure a full shutdown.
|
||||||
@@ -120,54 +112,43 @@ Below is an overview of the key features and functionality offered by Win11Deblo
|
|||||||
- Prevent Windows from getting updates as soon as they're available.
|
- Prevent Windows from getting updates as soon as they're available.
|
||||||
- Prevent automatic restarts after updates while signed in.
|
- Prevent automatic restarts after updates while signed in.
|
||||||
- Disable sharing of downloaded updates with other PCs, also known as Delivery Optimization.
|
- Disable sharing of downloaded updates with other PCs, also known as Delivery Optimization.
|
||||||
|
- Prevent Windows from auto-installing device companion apps.
|
||||||
|
|
||||||
#### Appearance
|
#### Appearance
|
||||||
|
|
||||||
- Enable dark mode for system and apps.
|
- Enable dark mode for system and apps.
|
||||||
- Disable transparency effects
|
- Disable transparency, animations and visual effects.
|
||||||
- Disable animations and visual effects.
|
|
||||||
|
|
||||||
#### Start Menu & Search
|
#### Start Menu & Search
|
||||||
|
|
||||||
- Remove or replace all pinned apps from the start menu.
|
- Customize the start menu by removing pinned apps, hiding recommendations, and customizing the 'All Apps' section.
|
||||||
- Hide the recommended section in the start menu.
|
|
||||||
- Hide the 'All Apps' section in the start menu.
|
|
||||||
- Disable the Phone Link mobile devices integration in the start menu.
|
- Disable the Phone Link mobile devices integration in the start menu.
|
||||||
- Disable Bing web search & Copilot integration in Windows search.
|
- Disable Bing web search & Copilot integration and Microsoft Store app suggestions in Windows search.
|
||||||
- Disable Microsoft Store app suggestions in Windows search.
|
|
||||||
- Disable Search Highlights (dynamic/branded content) in the taskbar search box.
|
|
||||||
- Disable local Windows search history.
|
|
||||||
|
|
||||||
#### Taskbar
|
#### Taskbar
|
||||||
|
|
||||||
- Align taskbar icons to the left.
|
- Change taskbar alignment.
|
||||||
- Hide or change the search icon/box on the taskbar.
|
- Customize or hide taskbar buttons like the search bar, taskview and more.
|
||||||
- Hide the taskview button from the taskbar.
|
|
||||||
- Disable widgets on the taskbar & lock screen.
|
- Disable widgets on the taskbar & lock screen.
|
||||||
- Hide the chat (meet now) icon from the taskbar.
|
- Enable the 'End Task' option in the taskbar right click menu to quickly force-close apps.
|
||||||
- Enable the 'End Task' option in the taskbar right click menu.
|
|
||||||
- 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.
|
- 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.
|
- Customize how app buttons are shown on the taskbar.
|
||||||
- Choose combine mode for taskbar buttons and labels.
|
|
||||||
|
|
||||||
#### File Explorer
|
#### File Explorer
|
||||||
|
|
||||||
- Change the default location that File Explorer opens to.
|
- Change the default location that File Explorer opens to.
|
||||||
- Show file extensions for known file types.
|
- Show file extensions for known file types.
|
||||||
- Show hidden files, folders and drives.
|
- Show hidden files, folders and drives.
|
||||||
- Hide the Home or Gallery section from the File Explorer navigation pane.
|
- Hide the Home, Gallery or OneDrive section from the File Explorer navigation pane.
|
||||||
- Hide duplicate removable drive entries from the File Explorer navigation pane, so only the entry under 'This PC' remains.
|
- 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.
|
- Add all common folders (Desktop, Downloads, etc.) back to 'This PC' in File Explorer.
|
||||||
- Hide the 3D objects, music or OneDrive folder from the File Explorer navigation pane.
|
|
||||||
- Hide the 'Include in library', 'Give access to' and 'Share' options from the context menu.
|
|
||||||
- Change drive letter position or visibility in File Explorer.
|
- Change drive letter position or visibility in File Explorer.
|
||||||
|
|
||||||
#### Multi-tasking
|
#### Multi-tasking
|
||||||
|
|
||||||
- Disable window snapping.
|
- Disable window snapping.
|
||||||
- Disable Snap Assist suggestions when snapping a window.
|
- Disable Snap Assist and Snap Layout suggestions when dragging or snapping windows.
|
||||||
- Disable Snap Layout suggestions when dragging windows to the top of screen and when hovering on the maximize button.
|
- Change whether tabs are shown when snapping windows or pressing Alt+Tab.
|
||||||
- Change if tabs are shown when snapping or pressing Alt+Tab.
|
|
||||||
|
|
||||||
#### Optional Windows Features
|
#### Optional Windows Features
|
||||||
|
|
||||||
@@ -181,12 +162,12 @@ Below is an overview of the key features and functionality offered by Win11Deblo
|
|||||||
|
|
||||||
#### Advanced Features
|
#### 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.
|
- Ability 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.
|
- [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.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
We welcome contributions of all kinds! Please see our [Contributing Guidelines](/.github/CONTRIBUTING.md) for detailed instructions on how to get started and best practices for contributing.
|
We welcome contributions of all kinds! Please see our [Contributing Guidelines](https://github.com/Raphire/Win11Debloat/blob/master/.github/CONTRIBUTING.md) for detailed instructions on how to get started and best practices for contributing.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Start]
|
||||||
|
"AllAppsViewMode"=dword:00000000
|
||||||
|
|
||||||
|
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
|
||||||
|
"NoStartMenuMorePrograms"=-
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Start]
|
||||||
|
"AllAppsViewMode"=dword:00000001
|
||||||
|
|
||||||
|
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
|
||||||
|
"NoStartMenuMorePrograms"=-
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
Windows Registry Editor Version 5.00
|
||||||
|
|
||||||
|
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Start]
|
||||||
|
"AllAppsViewMode"=dword:00000002
|
||||||
|
|
||||||
|
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
|
||||||
|
"NoStartMenuMorePrograms"=-
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user