diff --git a/Assets/Features.json b/Assets/Features.json index 9263326..c8268fe 100644 --- a/Assets/Features.json +++ b/Assets/Features.json @@ -1,14 +1,15 @@ { "Version": "1.0", "Categories": [ - "Start Menu", - "System", "Privacy & Suggested Content", + "System", + "Start Menu", + "AI", + "Windows Update", "Taskbar", "Appearance", - "AI", - "Other", "File Explorer", + "Other", "Gaming" ], "UiGroups": [ @@ -186,11 +187,11 @@ }, { "FeatureId": "DisableSuggestions", - "Label": "tips, tricks & suggested content", + "Label": "tips, tricks & suggested content throughout Windows", "Category": "Privacy & Suggested Content", "Action": "Disable", "RegistryKey": "Disable_Windows_Suggestions.reg", - "ApplyText": "> Disabling tips, tricks, suggestions and ads across Windows...", + "ApplyText": "> Disabling tips, tricks, suggestions and ads throughout Windows...", "UndoAction": "Enable", "RegistryUndoKey": "Enable_Windows_Suggestions.reg", "MinVersion": null, @@ -898,6 +899,42 @@ "MinVersion": null, "MaxVersion": null }, + { + "FeatureId": "DisableUpdateASAP", + "Label": "updates as soon as they're available", + "Category": "Windows Update", + "Action": "Prevent getting", + "RegistryKey": "Disable_Update_ASAP.reg", + "ApplyText": "> Preventing Windows from getting updates as soon as they are available...", + "UndoAction": "Get", + "RegistryUndoKey": "Enable_Update_ASAP.reg", + "MinVersion": null, + "MaxVersion": null + }, + { + "FeatureId": "PreventAutoReboot", + "Label": "automatic restarts after updates while signed in", + "Category": "Windows Update", + "Action": "Prevent", + "RegistryKey": "Prevent_Auto_Reboot.reg", + "ApplyText": "> Preventing automatic restarts after updates while signed in...", + "UndoAction": "Allow", + "RegistryUndoKey": "Allow_Auto_Reboot.reg", + "MinVersion": null, + "MaxVersion": null + }, + { + "FeatureId": "DisableDeliveryOptimization", + "Label": "sharing downloaded updates with other PCs", + "Category": "Windows Update", + "Action": "Disable", + "RegistryKey": "Disable_Delivery_Optimization.reg", + "ApplyText": "> Disabling sharing of downloaded updates with other PCs...", + "UndoAction": "Enable", + "RegistryUndoKey": "Enable_Delivery_Optimization.reg", + "MinVersion": null, + "MaxVersion": null + }, { "FeatureId": "ForceRemoveEdge", "Label": "Forcefully uninstall Microsoft Edge. NOT RECOMMENDED!", diff --git a/README.md b/README.md index 8ea8a6b..64d25f0 100755 --- a/README.md +++ b/README.md @@ -110,6 +110,12 @@ Below is an overview of the key features and functionality offered by Win11Deblo - Disable fast start-up to ensure a full shutdown. - Disable network connectivity during Modern Standby to reduce battery drain. (W11 only) +#### Windows Update + +- 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. diff --git a/Regfiles/Disable_Delivery_Optimization.reg b/Regfiles/Disable_Delivery_Optimization.reg new file mode 100644 index 0000000..9386135 --- /dev/null +++ b/Regfiles/Disable_Delivery_Optimization.reg @@ -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 diff --git a/Regfiles/Disable_Update_ASAP.reg b/Regfiles/Disable_Update_ASAP.reg new file mode 100644 index 0000000..eb6d456 --- /dev/null +++ b/Regfiles/Disable_Update_ASAP.reg @@ -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 diff --git a/Regfiles/Prevent_Auto_Reboot.reg b/Regfiles/Prevent_Auto_Reboot.reg new file mode 100644 index 0000000..05e4ce5 --- /dev/null +++ b/Regfiles/Prevent_Auto_Reboot.reg @@ -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 diff --git a/Regfiles/Sysprep/Disable_Delivery_Optimization.reg b/Regfiles/Sysprep/Disable_Delivery_Optimization.reg new file mode 100644 index 0000000..9386135 --- /dev/null +++ b/Regfiles/Sysprep/Disable_Delivery_Optimization.reg @@ -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 diff --git a/Regfiles/Sysprep/Disable_Update_ASAP.reg b/Regfiles/Sysprep/Disable_Update_ASAP.reg new file mode 100644 index 0000000..eb6d456 --- /dev/null +++ b/Regfiles/Sysprep/Disable_Update_ASAP.reg @@ -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 diff --git a/Regfiles/Sysprep/Prevent_Auto_Reboot.reg b/Regfiles/Sysprep/Prevent_Auto_Reboot.reg new file mode 100644 index 0000000..05e4ce5 --- /dev/null +++ b/Regfiles/Sysprep/Prevent_Auto_Reboot.reg @@ -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 diff --git a/Regfiles/Undo/Allow_Auto_Reboot.reg b/Regfiles/Undo/Allow_Auto_Reboot.reg new file mode 100644 index 0000000..661519e --- /dev/null +++ b/Regfiles/Undo/Allow_Auto_Reboot.reg @@ -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"=- diff --git a/Regfiles/Undo/Enable_Delivery_Optimization.reg b/Regfiles/Undo/Enable_Delivery_Optimization.reg new file mode 100644 index 0000000..81b9693 --- /dev/null +++ b/Regfiles/Undo/Enable_Delivery_Optimization.reg @@ -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 diff --git a/Regfiles/Undo/Enable_Update_ASAP.reg b/Regfiles/Undo/Enable_Update_ASAP.reg new file mode 100644 index 0000000..7bf3b0b --- /dev/null +++ b/Regfiles/Undo/Enable_Update_ASAP.reg @@ -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 diff --git a/Win11Debloat.ps1 b/Win11Debloat.ps1 index f0a312c..2b325d0 100755 --- a/Win11Debloat.ps1 +++ b/Win11Debloat.ps1 @@ -863,7 +863,7 @@ function OpenGUI { if ($script:CategoryCardMap.ContainsKey($category)) { return $script:CategoryCardMap[$category] } # Create a new card Border + StackPanel and add to shortest column - $target = $columns | Sort-Object { $_.Children.Count } | Select-Object -First 1 + $target = $columns | Sort-Object @{Expression={$_.Children.Count}; Ascending=$true}, @{Expression={$columns.IndexOf($_)}; Ascending=$true} | Select-Object -First 1 $border = New-Object System.Windows.Controls.Border $border.Style = $window.Resources['CategoryCardBorderStyle']