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

    spanishfly MDL Senior Member

    Dec 5, 2018
    365
    540
    10
    #881 spanishfly, Jul 12, 2021
    Last edited: Jul 12, 2021
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. drew84

    drew84 MDL Expert

    Mar 13, 2014
    1,396
    2,376
    60
    ... just an oversight in the script, which you can manually change... think it is the .psd1 file
     
  3. ashish1989

    ashish1989 MDL Addicted

    Sep 20, 2013
    502
    97
    30
    How to use this script on a live system, can anybody guide me
     
  4. drew84

    drew84 MDL Expert

    Mar 13, 2014
    1,396
    2,376
    60
    See the Title of the Thread (Optimize-OFFline).... script would probably need complete re-write
     
  5. AeonX

    AeonX MDL Addicted

    May 24, 2013
    796
    725
    30
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. gdeliana

    gdeliana MDL Senior Member

    Oct 2, 2010
    365
    428
    10
  7. ashish1989

    ashish1989 MDL Addicted

    Sep 20, 2013
    502
    97
    30
    Is there any step by step for this
    I have edited the json file but when I am clicking Start-Optimize file it is closing automatically and not doing anything
     
  8. gdeliana

    gdeliana MDL Senior Member

    Oct 2, 2010
    365
    428
    10
    Sorry there was a bug in the configuration.json, git merging typo :)
     
  9. ashish1989

    ashish1989 MDL Addicted

    Sep 20, 2013
    502
    97
    30
    #891 ashish1989, Jul 17, 2021
    Last edited: Jul 17, 2021
    Same closing problem with previous version too
    Can anybody guide me or can connect with me via teamviewer or anydesk

    I am using the script with 19043.1110 version
     
  10. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    365
    540
    10
    #893 spanishfly, Jul 18, 2021
    Last edited: Jul 18, 2021
    First, if you haven't already done so, search for the specifics of your "closing problem" on the Optimize Offline (OO) GitHub Issues page.
    Understand that many people never have "closing problems." I've used OO long enough to run into the occasional "closing problem."
    Here is a guide to determine the specific reason for what's causing your "closing problem."
    You have to do run-after-run-after-run of OO using a different configuration each time.
    Keep track of what you change and only change one thing at a time. It's a pain in the rear-end, but I know of no other way. Don't stare at your computer! Set up an OO run and do something else and come back later and see if it worked.
    My suggested steps will save you from "chasing shadows"
    • Make sure you have all your resources and the OO package on the "surface" of a drive and in a folder named without spaces. e.g. "C:\OO"
    • Do the first run described below on a freshly started PC.
    • Do a trail run run of the script using a configuration file that does zero modifications e.g. most settings are "false"
    • If you still have "closing problems" then there is a very high likelihood that something is broken on your PC. Prior experience: I've had OO work great on one PC and have "closing problems" on another. After OS reinstallation on the broken PC, OO worked fine.
    • If you get an optimized image using a simple configuration, than that's a relief since fixing a "bad" configuration is much easier than reinstalling your OS.
    • Going forward from here . . . add back in a single adjustment to your configuration, do a run and see if it works. I've had the OO script fail right at the end caused by a registry change I included in the "Additional Tweaks.reg" file. That was very frustrating to figure out since all the prior versions of OO worked fine with that particular reg tweak and then the developer changed something and the new version of the OO script suddenly decided that it didn't "like" my registry addition anymore and gave me "closing problems"!
    Your second question about the different scripts online and off ...
    I'm going to just write freely here so I hope it makes some sense...
    OO offline incorporates most/all of the online script tweaks and then does things that are either impossible or far more brutal to do online than offline. Specifically, OO uses a simple but fairly sophisticated approach to make the system apps and defender stay dormant.
    The OO aproach removes very little. So you're not going to "slim" down the physical size of your image like some other crappy hacky approaches.
    Poetically, OO just tells certain OS components to stay sleeping and not wake up during installation. So the OS installer app sees that they're sleeping and works around them assuming that they will never wake up. And then they stay asleep forever!
    Staying with the poetic explanation, if you do a normal install, the OS installer app sees that everything is present and accounted for and deeply embeds all the crap you don't want assuming that it will always be there. So even if you're successful at removing or putting undesirable items to sleep using some online approach, there is a chance some desired app or service (like windows update, etc.) goes looking for the app/service you've disabled online and:
    • stops working because it's dependent on the service/app you've hacked out online.
    • sees that the app/service you've disabled online is still available, but needs to be re-activated. So your desired app says, "hey that's not right" and just wakes up your unwanted app/service and "fixes" the "broken" app/service so that it stays available. You then have to run the online script again to turn it back off.
    If you don't want poetry and want details: read the second post (and all the out-bound links) in this thread by
    @drew84
    https://forums.mydigitallife.net/th...2-1909-20h1-and-ltsc-2019.80038/#post-1539357
    One of the out-bound links in drew's post is by @TheStutch. You don't need to read that whole post, but jump down and read "What the script does" and "Technical Philosophy" (including out-bound links)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    365
    540
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. gdeliana

    gdeliana MDL Senior Member

    Oct 2, 2010
    365
    428
    10
    Does anyone know what the program Defender Control does in the background? I am trying to figure out how to completely disable the antivirus. Unfortunately SechealthUI component is not the antivirus itself, but rather as the name suggests the UI for managing the antivirus.
     
  13. Yes i do know but i restricted myself from redirecting a user query to my own thread.

    Thanks & Regards :)
     
  14. AeonX

    AeonX MDL Addicted

    May 24, 2013
    796
    725
    30
    To be honest I have never tested it but it was the only relatively easy to use free script/program I have found that removes system apps on a live system.
    Besides it only NTLite which is paid or this solution which is for more advanced users.

    Optimize-Offline removes system apps more cleanly allowing to install updates without returning removed components (although it is not entirely safe and sometimes some components are reinstalled when installing a cumulative update). With Win10BloatRemover by Fs00 when installing a cumulative update system apps can be reinstalled. Optimize-Offline is much more complicated to use, it is only supported and officially only works on 64-bit system and in English although you can change the script to overcome this limitation.

    Optimize-Offline applies several tweaks by default that might be unwanted for some people and maybe even create problems depending on what you use in Windows. Especially if you intend to use the Store. I don't recommend using Optimize-Offline in this case if you don't know where to find the problem and know how to edit the script for your needs. And I don't recommend using Win10BloatRemover if you plan to use Windows Update.

    But in general with any tool if you want to use Windows Update the safest thing is not to remove system apps or any other component just remove UWP apps.

    If you are going to use offline creating an ISO another great free tool is MSMG ToolKit which allows you to remove more components than Optimize-Offline but has the problem of components returning when using Windows Update. But if you don't update Windows directly it's a great solution. There are other ways to update Windows like an in-place upgrade for example.

    But the most complete, most reliable and advanced tool in my opinion is NTLite. It's paid but it's worth it. One time you are limited with other tools and it's addictive the more you remove things the more things you want to remove :p
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. AeonX

    AeonX MDL Addicted

    May 24, 2013
    796
    725
    30
    #899 AeonX, Jul 18, 2021
    Last edited: Jul 18, 2021
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. ashish1989

    ashish1989 MDL Addicted

    Sep 20, 2013
    502
    97
    30
    I had put the iso in C:\OO folder and edited the configuration.json file with notepad++.
    I then opened the elevated powershell within the folder, when I put the command I am getting this error
    At line:1 char:6
    + [Start-Optimize.ps1]
    + ~
    Missing ] at end of attribute or type literal.
    At line:1 char:7
    + [Start-Optimize.ps1]
    + ~~~~~~~~~
    Unexpected token '-Optimize' in expression or statement.
    At line:1 char:16
    + [Start-Optimize.ps1]
    + ~~~~~
    Unexpected token '.ps1]' in expression or statement.
    + CategoryInfo : ParserError: :)) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : EndSquareBracketExpectedAtEndOfAttribute

    Kindly tell me, what is the solution of this, what am I doing wrong
    I had already done this by typing A which means yes to all after this command
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass