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

    strotee MDL Member

    Jan 30, 2011
    229
    205
    10
    I may be wrong, but this 'issue' is related to using LTSC. I'm a full-time LTSC user myself and never had the option of Windows Apps being used, only SAC populates Windows Apps.
     
  2. Markuzz

    Markuzz MDL Novice

    Feb 8, 2020
    15
    6
    0
    Thanks for your reply, then may I ask you how do you set-up LTSC after Optimize-Offline?
    It was my intention to get rid off of Notepad, Wordpad, Paint, Windows Photo Viewer and replace them with Notepad++, MPC-HC and FastStone Image Viewer through the CustomAppAssociations.xml of O-O. I mean, I can always install them of course, but I just wanted to know what level of control I have over LTSC with Optimize-Offline without breaking it.
     
  3. zbigniew59

    zbigniew59 MDL Senior Member

    May 14, 2016
    373
    171
    10
  4. spanishfly

    spanishfly MDL Senior Member

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

    gdeliana MDL Senior Member

    Oct 2, 2010
    365
    428
    10
    #1325 gdeliana, Sep 21, 2021
    Last edited: Sep 22, 2021
    Hello guys,

    Sorry for not posting before, have been a bit busy.

    Have made already the disable services list feature and seems to be working. Haven't tested yet in W11 though. Also have merged the changes of @GodHand from 4.0.1.9. Will make an official release soon.

    The services work like this:
    • Set the Services parameter in configuration.json: List
    • Use populateLists to get the available services - However in the template you will find not only pure windows services but also drivers. This is because the registry folder of services contains subfolders of service+other stuff(drivers etc.) I have done what i could to filter out as much as possible non service related entries, but still some remain there. If anyone has a better method to get the services in a wim file then let me know pls. :)
    • Copy the service names from /Content/Lists/Services/ServicesTemplate.json -> /Content/Lists/Services/ServicesList.json
    • When you use the Advanced mode, you will be able to specify the start behavior of each service. To do this, copy the object
      Code:
      {
           name: [SERVICE_DISPLAYNAME],
           start: [0,1,2,3,4],
           description?: [optional, not used in the code, but just you to know what are the services you included]
      }
      from /Content/Lists/Services/ServicesTemplate.json -> /Content/Lists/Services/ServicesAdvanced.json and also in configuration.json set Services: Advanced
    As you can see the principle is the same like the other removal lists.

    Give feedback, also for W11, and soon will make a release :)

    Thanks to @spanishfly for his idea, actually he gave me this neat idea and code related help. @KedarWolf for suggestions and feedback. @drew84 also for code related help :)
    And of course @GodHand for his magnificent tool :)
     
  6. gdeliana

    gdeliana MDL Senior Member

    Oct 2, 2010
    365
    428
    10
    Well this is strange behaviour, although i must say that haven't tested with LTSC 2019 build 17763.1. Will give it a try when i find the time this week and see what i can debug :)
     
  7. Markuzz

    Markuzz MDL Novice

    Feb 8, 2020
    15
    6
    0
    Thank you very much, I really appreciate it!
     
  8. zbigniew59

    zbigniew59 MDL Senior Member

    May 14, 2016
    373
    171
    10
    Or maybe LTSC doesn't have WindowsApps?
    Why is the templatelist empty?
     
  9. strotee

    strotee MDL Member

    Jan 30, 2011
    229
    205
    10
    My guess is because we're supposed to run populatelists and it will populate it for you. There's no easy way for the dev to guess as to what you're using (LTSC, 20H1, 21H2, etc) so he puts that responsibility on the users' shoulders.
     
  10. Markuzz

    Markuzz MDL Novice

    Feb 8, 2020
    15
    6
    0
    I researched a little about it, LTSC does not have the Store App by default, and so there are not any UWP apps installed.
    I think now it makes sense that the WindowsAppsTemplate.json is empty, isn't it?
     
  11. zbigniew59

    zbigniew59 MDL Senior Member

    May 14, 2016
    373
    171
    10
    Sorry, it was supposed to be - ltsc doesn't have WindowsApps - so the list is empty.
     
  12. zbigniew59

    zbigniew59 MDL Senior Member

    May 14, 2016
    373
    171
    10
    #1333 zbigniew59, Sep 24, 2021
    Last edited: Sep 25, 2021
    delete
     
  13. drew84

    drew84 MDL Expert

    Mar 13, 2014
    1,396
    2,376
    60
  14. geepnozeex

    geepnozeex MDL Junior Member

    Oct 21, 2014
    81
    79
    0
    #1336 geepnozeex, Sep 26, 2021
    Last edited: Sep 26, 2021
    hello.
    you have a method to remove ContentDeliveryManager from the mounted image?
    if so, which command?
    Windows 11
     
  15. yes drew84 have but from my scripting code. if he can share it with you.
    pl be sure about win10 edition version & its build before executing the script as it works only from LTSC 2019 till Latest 19044.
    for win11 ie fake win10 theres another script too to remove systemapps.
     
  16. spanishfly

    spanishfly MDL Senior Member

    Dec 5, 2018
    365
    540
    10
    #1338 spanishfly, Sep 27, 2021
    Last edited: Sep 27, 2021
    Tested the new services disable feature on Windows 10 and it works great!
    I especially like that it shows in the log file what you've removed!
    Code:
    [INFO]: Modifying windows service: TabletInputService, Start: Disabled
    [INFO]: Modifying windows service: WSearch, Start: Disabled
    [INFO]: Modifying windows service: CDPSvc, Start: Disabled
    . . .  etc . . ..
    ======================
    I saw you added the ability to disable hardware checks when installing Windows 11 on unsuproted devices. I haven't tested that out yet, but it sounds environmentally useful at stopping e-waste!

    ======================
    I re-wrote your description of the new Services feature (for my benefit), but I'm putting what I wrote here since maybe it's useful for you to use some of it when you have the time to update your fork's ReadMe
    Code:
    == Services Template ==
    Use populateLists feature to assign your images available services to ServicesTemplate.json
        Some filtering out of non-service related entries is complete in the provided ServicesTemplate.json, but each OS requires more filtering.   
       
    == List ==
    Set the Services parameter in configuration.json: List
    Assigns the start behavior of the services listed in ServicesList.json to "Disabled"
        For Services you want to disable, copy the service object "name" . . .
        . . . from     /Content/Lists/Services/ServicesTemplate.json -> /Content/Lists/Services/ServicesList.json
        Alternatively, if you already have a list of services you know you want to disable, add their names following the pattern seen in the provided example ServicesList.json
    
    == Advanced==
    Set the Services parameter in configuration.json: Advanced
    Useful for specifying any type of start behavior (including "4" "Disabled") to the services listed in ServicesAdvanced.json
        Specify the start behavior of each service by copying the object . . .
            Code:
            {
                name: [SERVICE_DISPLAYNAME],
                start: [0,1,2,3,4],
                description?: [optional, not used in the code, but just for you to know more about the services you're including]
            }
        . . . from /Content/Lists/Services/ServicesTemplate.json -> /Content/Lists/Services/ServicesAdvanced.json
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  17. spanishfly

    spanishfly MDL Senior Member

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

    gdeliana MDL Senior Member

    Oct 2, 2010
    365
    428
    10
    Hello mate, thanks a lot for testing :) I really appreciate your systematic work. I have added your explanation part to the readme for the services removal feature.
    Have also enabled again the MBR boot option in the new ISO creation method of @GodHand. Want to stay as close as possible to his work. Am also thinking for a PR to his main project, trying to make a clean code :rolleyes:

    Maybe soon will make a release have gathered enough changes :)