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. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,626
    3,361
    60
    I missed it, :thinking::mml::thumbsup:
     
  2. gdeliana

    gdeliana MDL Senior Member

    Oct 2, 2010
    363
    410
    10
    Implemented this one :)
     
  3. Dgk

    Dgk MDL Member

    Jan 18, 2020
    145
    52
    10
    Does anyone know what logic runs indicated by this log entry at the end:

    Code:
    [...]
    2021-11-17T17:23:02 [INFO]: Removing System App: Microsoft.Windows.PeopleExperienceHost
    2021-11-17T17:23:05 [INFO]: Removing System App: MicrosoftWindows.UndockedDevKit
    2021-11-17T17:23:08 [INFO]: Disabling Services, Drivers and Integration Content for Removed Apps.
    I've tried searching for "Disabling Services, Drivers and Integration Content for Removed Apps" in the code but got jack. I want t replicate this logic manually.
     
  4. dyfi

    dyfi MDL Novice

    Oct 16, 2010
    34
    1
    0
    Newbie trying this for 1st time. After running Start-GUI.bat and loading source file location I get

    Code:
    Mount-DiskImage : The requested operation could not be completed due to a file system limitation
    At Z:\Z\OO\Optimize-Offline.psm1:174 char:13
    + ...      [Void](Mount-DiskImage -ImagePath $SourcePath.FullName -StorageT ...
    +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (MSFT_DiskImage:ROOT/Microsoft/.../MSFT_DiskImage) [Mount-DiskIm
       age], CimException
        + FullyQualifiedErrorId : HRESULT 0x80070299,Mount-DiskImage
     
    "en-us_windows_10_iot_enterprise_ltsc_2021_x64_dvd_257ad90f.iso" does not contain valid Windows Installation
    media.
    Dismount-DiskImage : The requested operation could not be completed due to a file system limitation
    At Z:\Z\OO\Optimize-Offline.psm1:185 char:14
    + ...            [Void](Dismount-DiskImage -ImagePath $SourcePath.FullName)
    +                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (MSFT_DiskImage:ROOT/Microsoft/.../MSFT_DiskImage) [Dismount-Dis
       kImage], CimException
        + FullyQualifiedErrorId : HRESULT 0x80070299,Dismount-DiskImage
     
    Get-DiskImage : The requested operation could not be completed due to a file system limitation
    At Z:\Z\OO\Optimize-Offline.psm1:187 char:14
    + ...         While ((Get-DiskImage -ImagePath $SourcePath.FullName).Attach ...
    +                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (MSFT_DiskImage:ROOT/Microsoft/.../MSFT_DiskImage) [Get-DiskImag
       e], CimException
        + FullyQualifiedErrorId : HRESULT 0x80070299,Get-DiskImage
     
    Failed to return the Install Image from "Z:\Z\OO\OfflineTemp_808784593\ImageOffline"
     
  5. strotee

    strotee MDL Member

    Jan 30, 2011
    228
    204
    10
    #2126 strotee, Jan 8, 2023
    Last edited: Jan 8, 2023
    Nvm :)
     
  6. dyfi

    dyfi MDL Novice

    Oct 16, 2010
    34
    1
    0
    Sorry cant upload .json file so here is extract
    Code:
    {
        "_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.",
                      "WindowsApps, SystemApps, Capabilities, Packages : All | None | Select | Whitelist | Blacklist",
                      "FeaturesToEnable, FeaturesToDisable : All | None | Select | List",
                      "Services : None | Select | List | Advanced",
                      "CompressionType: Select | None | Fast | Maximum | Solid",
                      "OutputPath : default | path[{filename}?] | select",
                      "FlashToUSB: Off | UEFI | Legacy"
                  ],
        "SourcePath":  "Z:\\Z\\IOT\\en-us_windows_10_iot_enterprise_ltsc_2021_x64_dvd_257ad90f.iso",
        "WindowsApps":  "Whitelist",
        "SystemApps":  "Blacklist",
        "Capabilities":  "Blacklist",
        "Packages":  "Blacklist",
        "FeaturesToEnable":  "List",
        "FeaturesToDisable":  "List",
        "Services":  "Advanced",
        "DeveloperMode":  false,
        "WindowsStore":  false,
        "MicrosoftEdge":  false,
        "Win32Calc":  false,
        "DormantDefender":  false,
        "Dedup":  false,
        "DaRT":  [
    
                 ],
        "Registry":  false,
        "OutputPath":  "Z:\\Z\\IOT\\Mod1\\IOTMod1.iso",
        "Additional":  {
                           "Setup":  false,
                           "Wallpaper":  false,
                           "SystemLogo":  false,
                           "LockScreen":  false,
                           "RegistryTemplates":  false,
                           "LayoutModification":  false,
                           "Unattend":  false,
                           "Drivers":  false,
                           "NetFx3":  false
                       },
        "ComponentCleanup":  false,
        "ISO":  "No-Prompt",
        "CompressionType":  "Maximum",
        "SelectiveRegistry":  {
                                  "DisableWindowsUpgrade":  false,
                                  "DisableWindowsUpdateMicrosoft":  false,
                                  "DisableDriverUpdate":  false,
                                  "DormantOneDrive":  true,
                                  "Disable3rdPartyApps":  false,
                                  "W11ClassicContextMenu":  false,
                                  "ExplorerUIRibbon":  true,
                                  "ClassicSearchExplorer":  true,
                                  "RemoveTaskbarPinnedIcons":  false,
                                  "DisableTeamsApp":  true,
                                  "DisableVirtualizationSecurity":  false,
                                  "RunAsTiContextMenu":  false,
                                  "AmoledBlackTheme":  false
                              },
        "ShutDownOnComplete":  false,
        "FlashToUSB":  "Off"
    }
     
  7. strotee

    strotee MDL Member

    Jan 30, 2011
    228
    204
    10
    I assume SourcePath & OutputPath are correct? While I'm fairly new to the GUI side of things, everything in Configuration.json should be the ticket.
     
  8. dyfi

    dyfi MDL Novice

    Oct 16, 2010
    34
    1
    0
    Yes I used the select button to pick the paths but just noticed the Configuration.json shows path as
    "Z:\\Z\\IOT\\ but should be
    "Z:\Z\IOT\
     
  9. strotee

    strotee MDL Member

    Jan 30, 2011
    228
    204
    10
    Try to run this using the non-GUI approach. Start-Optimize.bat
     
  10. dyfi

    dyfi MDL Novice

    Oct 16, 2010
    34
    1
    0
    Thanks - yes that's same source and I have it working in a vm. Nevetheless I'm downloading again to try.
     
  11. KedarWolf

    KedarWolf MDL Addicted

    Mar 17, 2016
    977
    870
    30
    Are you running the script on windows 7?

    I think it does not work right with it. Need Windows 10 minimum or run Windows 10/11 in a virtual machine.
     
  12. dyfi

    dyfi MDL Novice

    Oct 16, 2010
    34
    1
    0
    Running in windows 10 vm with source file path a vmware host shared folder
     
  13. KedarWolf

    KedarWolf MDL Addicted

    Mar 17, 2016
    977
    870
    30
  14. KedarWolf

    KedarWolf MDL Addicted

    Mar 17, 2016
    977
    870
    30
    Interestingly, with solid compression, my 5950x with a highly tuned RAM and CPU overclock would take about 18 minutes.

    My 7950x with a highly tuned overclock takes 13 minutes with solid compression.
     
  15. dyfi

    dyfi MDL Novice

    Oct 16, 2010
    34
    1
    0
    Thanks, that fixed all the problems. Successfully ran Start-GUI and optimized an iot ltsc 2021 iso.
     
  16. ceo54

    ceo54 MDL Addicted

    Aug 13, 2015
    863
    348
    30
    #2140 ceo54, Jan 12, 2023
    Last edited: Jan 12, 2023
    Okay first time user, I've read and tried my best to understand all things both in the OP and at the Github. I have some questions.

    I understand script removes capabilities and packages, does it also removed features ? I'm not talking about disabling features but also completely removing the payload (associated files) from the image.

    After configuring Configuration.json and placing whitelists files for capabilities, packages and features in the list directory, how do I initiate the script as Trusted Installer ? should I just click Start-Optimize-BAU-TI.ps1 and wait for the process to complete ?

    Is this the right procedure ?

    Any help will be greatly appreciated.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...