Optimize-Offline Guide - Windows Debloating Tool, Windows 1803, 1903, 19H2, 1909, 20H1 and LTSC 2019

Discussion in 'Windows 10' started by KedarWolf, Jul 30, 2019.

  1. gdeliana

    gdeliana MDL Member

    Oct 2, 2010
    211
    261
    10
    You mean whitelist and blacklist for features? If so i can make it, by tomorrow it can be done :)
     
  2. drew84

    drew84 MDL Expert

    Mar 13, 2014
    1,098
    1,686
    60
    Indeed... Really appreciating all your effort
     
  3. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    340
    506
    10
    #1004 spanishfly, Jul 27, 2021
    Last edited: Jul 28, 2021
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. zbigniew59

    zbigniew59 MDL Member

    May 14, 2016
    207
    85
    10
    REMOVING OneDrive is already included in Additional / Setup
     
  5. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    340
    506
    10
    #1006 spanishfly, Jul 27, 2021
    Last edited: Jul 28, 2021
    Yes, I meant to add that to my post #1004. So as not to consume this thread with more posts about OneDrive, I'm going to edit my #1104 post with a suggestion to use the already included removal script ...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. KedarWolf

    KedarWolf MDL Addicted

    Mar 17, 2016
    801
    685
    30
    I use this for Windows 2004+. It works without fail. :)

    Code:
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata]
    "PreventDeviceMetadataFromNetwork"=dword:00000001
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DriverSearching]
    "DriverUpdateWizardWuSearchEnabled"=dword:00000000
    "SearchOrderConfig"=dword:00000000
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
    "ExcludeWUDriversInQualityUpdate"=dword:00000001
    
    [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CloudContent]
    "DisableWindowsConsumerFeatures"=dword:00000001
    
    
     
  7. KedarWolf

    KedarWolf MDL Addicted

    Mar 17, 2016
    801
    685
    30
    Is there any advantages to using both Whitelist and Blacklist or is just Whitelisting the files fine?
     
  8. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    340
    506
    10
    #1009 spanishfly, Jul 28, 2021
    Last edited: Jul 28, 2021
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. zbigniew59

    zbigniew59 MDL Member

    May 14, 2016
    207
    85
    10
  10. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    340
    506
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. drew84

    drew84 MDL Expert

    Mar 13, 2014
    1,098
    1,686
    60
    FYI... "DisableWindowsConsumerFeatures" - Key is automatically applied by the Start-Optimize script (if ContentDeliveryManager is removed)
    Code:
    If ($RemovedSystemApps.'Microsoft.Windows.ContentDeliveryManager')
               {
                   ...
                   RegKey -Path "HKLM:\WIM_HKLM_SOFTWARE\Policies\Microsoft\Windows\CloudContent" -Name "DisableWindowsConsumerFeatures" -Value 1 -Type DWord
    
     
  12. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    340
    506
    10
    Can someone share their experience of an "unprotected" OS?
    Does Microsoft still force Nvidia/AMD GPU driver updates?
    I don't apply any driver update blocking registry code and I haven't had any unwanted "forced" driver updates for many years.
    I thought Microsoft had actually responded to customer complaints (for once) and stopped forcing GPU and other updates?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. ashish1989

    ashish1989 MDL Senior Member

    Sep 20, 2013
    297
    23
    10
    #1014 ashish1989, Jul 28, 2021
    Last edited: Jul 28, 2021
    Can you please provide this error solution
    Optimize-Offline : Cannot process argument transformation on parameter 'SystemApps'. Cannot convert value
    "System.String" to type "System.Management.Automation.SwitchParameter". Boolean parameters accept only Boolean values
    and numbers, such as $True, $False, 1 or 0.
    At C:\Users\Aditya\Downloads\Compressed\Optimize-Offline-4.0.1.8\Start-Optimize.ps1:118 char:18
    + Optimize-Offline @ConfigParams
    + ~~~~~~~~~~~~~
    + CategoryInfo : InvalidData: :)) [Optimize-Offline], ParameterBindingArgumentTransformationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Optimize-Offline

    @KedarWolf , @drew84 I have downloaded the optimize offline zip file once again, downloaded new iso, put the whole process together, but still getting this error
     
  14. zbigniew59

    zbigniew59 MDL Member

    May 14, 2016
    207
    85
    10
    If you want help, ALWAYS enter - in spoilers - more information - configuration.json, what you changed in the script - whitelist and any other changes.
    How can someone help you - if they don't know what you changed in the original script?
    There will be lots of UNNECESSARY explanatory posts next.

    And why this @spanishfly quote - which has nothing to do with your mistake?
     
  15. gdeliana

    gdeliana MDL Member

    Oct 2, 2010
    211
    261
    10
    Blacklist was initially implemented for the capabilities, as the packages_to_be_kept >>> packages_to_be_removed.

    So it depends on how you use the script, if the amount of packages to be kept is 90% of the total list, than blacklist may come up useful.

    For me it takes nothing to implement it.
     
  16. ashish1989

    ashish1989 MDL Senior Member

    Sep 20, 2013
    297
    23
    10
    #1017 ashish1989, Jul 28, 2021
    Last edited: Jul 28, 2021
    My configuration.json
    {
    "_Info": [
    "This is a JSON based Configuration file for Optimize-Offline.",
    "Ensure proper formatting is used when editing the JSON parameter values.",
    "Boolean parameter values use true and false. String parameter values must be enclosed in double-quotes."
    ],
    "SourcePath": "C:\\OO\\Windows 10 Pro.iso",
    "WindowsApps": "WhiteList",
    "SystemApps": "WhiteList",
    "Capabilities": "WhiteList",
    "Packages": true,
    "Features": true,
    "DeveloperMode": false,
    "WindowsStore": false,
    "MicrosoftEdge": true,
    "Win32Calc": true,
    "Dedup": false,
    "DaRT": [],
    "Registry": true,
    "Additional": {
    "Setup": true,
    "Wallpaper": false,
    "SystemLogo": false,
    "LockScreen": false,
    "RegistryTemplates": true,
    "LayoutModification": true,
    "Unattend": true,
    "Drivers": true,
    "NetFx3": true
    },
    "ComponentCleanup": true,
    "ISO": "No-Prompt",
    "CompressionType": "Solid"
    }

    My CapabilitiesWhitelist.json
    {
    "Name": [
    "Browser.InternetExplorer~~~~0.0.11.0",
    "DirectX.Configuration.Database~~~~0.0.1.0",
    "Language.Handwriting~~~en-US~0.0.1.0",
    "Language.OCR~~~en-US~0.0.1.0",
    "Microsoft.Windows.MSPaint~~~~0.0.1.0",
    "Microsoft.Windows.Notepad.System~~~~0.0.1.0",
    "Language.Speech~~~en-US~0.0.1.0",
    "Microsoft.Windows.PowerShell.ISE~~~~0.0.1.0",
    "NetFX3~~~~",
    "Print.Fax.Scan~~~~0.0.1.0",
    "Print.Management.Console~~~~0.0.1.0",
    "Windows.Client.ShellComponents~~~~0.0.1.0"
    ]
    }

    My SystemAppXWhitelist.json
    {
    "DisplayName": [
    "Microsoft.AccountsControl",
    "Microsoft.AsyncTextService",
    "Microsoft.CredDialogHost",
    "Microsoft.Windows.AppRep.ChxApp",
    "Microsoft.Windows.AppResolverUX",
    "Microsoft.Windows.AssignedAccessLockApp",
    "Microsoft.Windows.CallingShellApp",
    "Microsoft.Windows.CapturePicker",
    "Microsoft.Windows.CloudExperienceHost",
    "Microsoft.Windows.ContentDeliveryManager",
    "Microsoft.Windows.NarratorQuickStart",
    "Microsoft.Windows.OOBENetworkCaptivePortal",
    "Microsoft.Windows.OOBENetworkConnectionFlow",
    "Microsoft.Windows.PinningConfirmationDialog",
    "Microsoft.Windows.Search",
    "Microsoft.Windows.SecureAssessmentBrowser",
    "Microsoft.Windows.ShellExperienceHost",
    "Microsoft.Windows.StartMenuExperienceHost",
    "Microsoft.Windows.XGpuEjectDialog",
    "Microsoft.XboxGameCallableUI",
    "Microsoft.MicrosoftEdge",
    "Microsoft.MicrosoftEdgeDevToolsClient",
    "MicrosoftWindows.Client.CBS",
    "MicrosoftWindows.UndockedDevKit",
    "Windows.CBSPreview",
    "windows.immersivecontrolpanel",
    "Windows.PrintDialog"
    ]
    }

    My error
    Optimize-Offline : Cannot process argument transformation on parameter 'SystemApps'. Cannot convert value
    "System.String" to type "System.Management.Automation.SwitchParameter". Boolean parameters accept only Boolean values
    and numbers, such as $True, $False, 1 or 0.
    At C:\Users\Aditya\Downloads\Compressed\Optimize-Offline-4.0.1.8\Start-Optimize.ps1:118 char:18
    + Optimize-Offline @ConfigParams
    + ~~~~~~~~~~~~~
    + CategoryInfo : InvalidData: :)) [Optimize-Offline], ParameterBindingArgumentTransformationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Optimize-Offline


    @gdeliana , @spanishfly , @drew84 , @KedarWolf , @zbigniew59 Kindly tell me guys what am I doing wrong
     
  17. zbigniew59

    zbigniew59 MDL Member

    May 14, 2016
    207
    85
    10
    Why do you keep insisting on that - "Packages": true if everyone tells you that it has to be -false?
     
  18. ashish1989

    ashish1989 MDL Senior Member

    Sep 20, 2013
    297
    23
    10
    Is that the mistake then
     
  19. zbigniew59

    zbigniew59 MDL Member

    May 14, 2016
    207
    85
    10
    I already had it explained once - try on the original file - configuration.json.
    If it works - change - AFTER ONE ENTRY - AND TEST - you will know what the problems are.