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 Senior Member

    Oct 2, 2010
    365
    428
    10
  2. drew84

    drew84 MDL Expert

    Mar 13, 2014
    1,396
    2,376
    60
    Indeed... Really appreciating all your effort
     
  3. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    365
    540
    10
    #1003 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 Senior Member

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

    spanishfly MDL Senior Member

    Dec 5, 2018
    365
    540
    10
    #1005 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
    977
    874
    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
    977
    874
    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
    365
    540
    10
    #1008 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 Senior Member

    May 14, 2016
    373
    171
    10
  10. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    365
    540
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. drew84

    drew84 MDL Expert

    Mar 13, 2014
    1,396
    2,376
    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
    365
    540
    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 Addicted

    Sep 20, 2013
    502
    97
    30
    #1013 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 Senior Member

    May 14, 2016
    373
    171
    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 Senior Member

    Oct 2, 2010
    365
    428
    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 Addicted

    Sep 20, 2013
    502
    97
    30
    #1016 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 Senior Member

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

    ashish1989 MDL Addicted

    Sep 20, 2013
    502
    97
    30
    Is that the mistake then
     
  19. zbigniew59

    zbigniew59 MDL Senior Member

    May 14, 2016
    373
    171
    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.
     
  20. zbigniew59

    zbigniew59 MDL Senior Member

    May 14, 2016
    373
    171
    10
    Why do you keep insisting on that - "Packages": true if everyone tells you that it has to be -false?
    Do you know what it is and why do you need it?
    If you are advised by the creator of the script - why do you insist?