1. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210
    Have uploaded updated Toolkit.cmd and ToolKitHelper.exe to support these patch Tuesday builds :

    Windows 10 Client v1809 (v10.0.17763.1/v10.0.17763.4377 [KB5026362])
    Windows 10 Client Enterprise LTSC 2019 (v10.0.17763.1/v10.0.17763.4377 [KB5026362])
    Windows 10 Client v1903 (v10.0.18362.1) & v1903/v1909 (v10.0.1836x.2274 [KB5013945])
    Windows 10 Client v2004 (v10.0.19041.1) & v2004/v20H2/v21H1/v21H2/v22H2 (v10.0.1904x.2965 [KB5026361])
    Windows 10 Client Enterprise LTSC 2021 (v10.0.19044.1288/v10.0.19044.2965 [KB5026361])
    Windows 11 Client v21H2 (v10.0.22000.1/v10.0.22000.1936 [KB5026368])
    Windows 11 Client v22H2 (v10.0.22621.1/v10.0.2262x.1702 [KB5026372])
     
  2. Thank u so much...no need to rush..., personally im just a simple person, what u did is already more than enough for me... v13.4 is more than i expected.. u are a genius...
    I dont need the newest windows 11, im happy with the old windows 11 build..
    The newest the build, the more complex it is, the more CPU, RAM, and Process needed... it become slower and heavy..
    Life is to be enjoyed, not to be bothered with un needed things...
    Enjoy ur day..
    சாந்தியும் அல்லாஹ்வின் அருளும், ஆசீர்வாதமும் உங்கள் மீது உண்டாவதாக :bye3:
     
  3. Jingzin

    Jingzin MDL Addicted

    Nov 10, 2021
    666
    536
    30
    hi MSMG

    folder and 3 files located in amd64_dual_tsprint.inf_31bf3856ad364e35_10.0.22621.1_none_b9191cbed895f871

    likely just one was corrupted not even sure what was corrupted but when i manually replaced those 4 files with ones from an untouched iso DISM ScanHealth error produced by DISM /StartComponentCleanup / ResetBase was fixed permanently.

    DISM /RestoreHealth no matter how i used it didn't want to fix those files.

    as to sfc/scannow it too produced error related to btmodem as far as i remember but on every iso i used it always fixed that error on its own.

     
  4. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210
    dual_tsprint.inf is related to Remote Desktop Server, will check out and see if anything needs to be fixed.
     
  5. bernado

    bernado MDL Novice

    Aug 29, 2020
    3
    1
    0
    Is there anyway to use configuration files for MSMG to remove certain components
     
  6. haris_mdlf69

    haris_mdlf69 MDL Addicted

    Oct 23, 2018
    657
    1,235
    30
  7. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,770
    3,601
    60
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,770
    3,601
    60
    @MSMG, The current Windows Defender tweak is not working. i am trying to make the Tweak to disable it, in latest build 22621, updates works.

    If you know anything new, please bring it to us.

    If I'm successful, I'll post here too.


    As an interim measure, I renamed 2 executables of the windows defender processes but I don't know if this will cause problems in the firewall.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210

    Have updated the Toolkit.cmd with support for creating unattended XML file, do check out, it's not displaying the values for HostLanguageFallback and Unattend System / User LanguageFallback. See if anything needs to be fixed.

    You can rename the Autounattend part in the code to just Unattend except for the Autounattend.xml file naming.
     
  10. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,770
    3,601
    60
    Can you bring me the results for
    dism /english /get-Intl
    from /online and /Image:"installmountpath"?

    I am from cell phone now. I revert from w11 to 10 and stuck im Recovery.
    Soon I can see if there are need to change anything. But for en-US images, I assume there are no fallbacklanguage as ut is in the native developed language.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210
    Code:
    D:\dism /english /online /get-Intl
    
    Deployment Image Servicing and Management tool
    Version: 10.0.22621.1
    
    Image Version: 10.0.22621.1776
    
    Reporting online international settings.
    
    Default system UI language : en-US
    System locale : en-IN
    Default time zone : India Standard Time
    Active keyboard(s) : 4009:00004009
    Keyboard layered driver : PC/AT Enhanced Keyboard (101/102-Key)
    
    Installed language(s): en-US
      Type : Fully localized language.
    
    The operation completed successfully.
    

    Yes there is no Language Fallback for en-US but I do use <UILanguageFallback>en-US</UILanguageFallback> for my unattended setup it works, may be needs some modification to see if the language is en-US add the fallback value as en-US.
     
  12. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,627
    210
    Try making these changes

    Code:
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Defender\Features]
    "TamperProtection"=dword:00000000
    
    [HKEY_LOCAL_MACHINE\System\ControlSet001\Control\CI\Policy]
    "VerifiedAndReputablePolicyState"=dword:00000000
    
     
  13. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    364
    210
    10
    Code:
    Deployment Image Servicing and Management tool
    Version: 10.0.25158.1000
    
    Image Version: 10.0.22621.1
    
    Reporting offline international settings.
    
    Default system UI language : en-US
    System locale : en-US
    Default time zone : Pacific Standard Time
    User locale for default user : en-US
    Location : Estados Unidos (GEOID = 244)
    Active keyboard(s) : 0409:00000409
    Keyboard layered driver : Not installed.
    
    Installed language(s): en-US
      Type : Fully localized language.
    
    The operation completed successfully.
    
    Lang,ini
    Code:
    [Available UI Languages]
    en-us = 3
    
    [Fallback Languages]
    en-us = en-us
     
  14. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,770
    3,601
    60
    So it is for every en-* images?

    I will make the change. It is minor but is simple.

    Just between the for loop and the first space removal.

    if "%HostFallbackLanguage%" equ "" set "HostFallbackLanguage= en-US"

    end in :getimageinfo
    if "%ImageFallbackLanguage%" equ "" set "ImageFallbackLanguage= en-US"
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    364
    210
    10
    #25436 Bira, May 30, 2023
    Last edited: May 30, 2023
    I'm here putting the pt-BR language, just for testing;

    Code:
    [Available UI Languages]
    pt-BR = 3
    
    [Fallback Languages]
    pt-BR = en-us
    Code:
    Deployment Image Servicing and Management tool
    Version: 10.0.25158.1000
    
    Image Version: 10.0.14393.0
    
    Reporting offline international settings.
    
    Default system UI language : pt-BR
    The UI language fallback is : en-US
    System locale : pt-BR
    Default time zone : E. South America Standard Time
    User locale for default user : pt-BR
    Location : Brasil (GEOID = 32)
    Active keyboard(s) : 0416:00000416
    Keyboard layered driver : PC/AT Enhanced Keyboard (101/102 teclas)
    
    Installed language(s): pt-BR
      Type : Partially localized language, MUI type.
      Fallback Languages en-US
    
    The operation completed successfully.
     
  16. tempdrive1

    tempdrive1 MDL Member

    Aug 29, 2021
    103
    135
    10
    Hi MSMG, inTerActionVRI,

    I am using Windows 10 21H2 (19044) as a base image and I am working on a (powershell) project for some time now that would allow me to deploy updates in a way that resembles the result of the image component removal process.
    This version of Windows was chosen because it has an LTSC version, which I can switch to temporarily to apply the updates even after HOME/PRO will not have them as installable based on the product type check in the cumulative updates.

    Basically the script I was vaguely referring to would prevent applying changes that were not there before (files/registry keys added back from cumulative updates, which were removed using your tool).
    I got the idea from this very forum, from a post saying the "pending.xml" can be edited (which by the way is only the tip of the iceberg; there is much more to work with).
    While I was able to reach the base goal I was after, due to some leftover compontent files and registry keys "Dism.exe /Online /Cleanup-Image /ScanHealth" fails after using "Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase" as soon as an update is deployed.

    As part of the current update process, the removed components are redeployed as soon as they are part of a cumulative update and as such it defeats the purpose of the removal.
    When the removed components (registry entries, files) are re-added to the system, ResetBase + ScanHealth does not show any errors, because the underlying component files and registry entries will be then present in their desired states.
    (I have never tried in-place update, but I would assume the results would be similar.)

    For the troublesome components, if I remove the corresponding HKLM:\COMPONENTS keys and WinSxS files, DISM will not show errors if the components are prevented from being added back by the cumulative update.
    (I wonder if fixing this could help with any "ghost" or similar dism/sfc errors)


    Below you can see and error example from CBS.log when ScanHealth fails after a partially deployed cumulative update followed by Resetbase:

    00000f4a (F) STATUS_OBJECT_PATH_NOT_FOUND #7537126# from Windows::Rtl::SystemImplementation:: DirectFileSystemProvider::SysCreateFile(flags = 0, handle = {provider=NULL, handle=0, name= ("null")}, da = (FILE_GENERIC_READ|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|FILE_WRITE_DATA), oa = @0xb02f87b928->OBJECT_ATTRIBUTES {s:48; rd:NULL; on:[137]'\SystemRoot\WinSxS\Temp\InFlight\6ea4b1889361d901f40a000080178012\3803E232ACAB2476E81BC8A88D5B231A677DA3BC\PerceptionSimulationSixDof.inf'; a: (OBJ_CASE_INSEN[gle=0xd000003a]

    As you can see, the missing file was "PerceptionSimulationSixDof.inf", related to Windows Mixed Reality packages.

    The other problem was originating from "tsprint.dll".
    Seeing "dual_tsprint.inf" mentioned from a recent post, I decided to reach out to you to try to have the issues I am facing fixed, and hopefully you can resolve all the related issues at the same time for both of us.

    Some technical details for the troublesome components:

    ScanHealth fails with missing \SystemRoot\WinSxS\Temp\InFlight\785b7cdaa749d901180100009c0d1c0f\3803E232ACAB2476E81BC8A88D5B231A677DA3BC\PerceptionSimulationSixDof.inf

    There are more Registry Keys references, but these are causing the DISM errores:

    HKEY_LOCAL_MACHINE\COMPONENTS\CanonicalData\Deployments\dual_percep..nsixdof.inf_31bf3856ad364e35_10.0.19041.1_f4ec94a67cd216ca
    HKEY_LOCAL_MACHINE\COMPONENTS\DerivedData\Components\amd64_dual_perceptionsimulationsixdof.inf_31bf3856ad364e35_10.0.19041.1_none_f4ec94a67cd216ca


    WinSxS\amd64_perceptionsimulatio..adset.inf.resources_31bf3856ad364e35_10.0.19041.1_en-us_85dc77fa2c75011a
    WinSxS\amd64_perceptionsimulatio..odels.inf.resources_31bf3856ad364e35_10.0.19041.1_en-us_bc6c7502c0277c15
    WinSxS\amd64_perceptionsimulationsixdof.inf.resources_31bf3856ad364e35_10.0.19041.1_en-us_10715a7616bb7659


    ScanHealth fails with missing: \SystemRoot\WinSxS\Temp\InFlight\0c392e6fa849d9014c0200001003540d\amd64\tsprint.dll

    There are more Registry Keys references, but these are causing the DISM errores:

    HKEY_LOCAL_MACHINE\COMPONENTS\CanonicalData\Deployments\dual_tsprint.inf_31bf3856ad364e35_10.0.19041.153_356ebfa943b1edf9
    HKEY_LOCAL_MACHINE\COMPONENTS\DerivedData\Components\amd64_dual_tsprint.inf_31bf3856ad364e35_10.0.19041.153_none_356ebfa943b1edf9

    WinSxS\amd64_dual_tsprint.inf_31bf3856ad364e35_10.0.19041.153_none_356ebfa943b1edf9
    WinSxS\amd64_tsprint.inf.resources_31bf3856ad364e35_10.0.19041.1_en-us_eef6b15fd748402
    c

    Important note: If you only remove the registry keys, ScanHealth fails with "Error STATUS_INVALID_PARAMETER originated in function ComponentStore::ReadKeyValue expression: Not-null check failed: Key"
    It the files remaining in WinSxS must also be removed.
    If both the files and Registry references are removed, Scanhealth will not give issues and finishes successfully after a Resetbase on a system that does not have the components present at all.


    How can I be certain that this is not an issue of my script but the partial cleanup of MSMG Toolkit?
    Here is an example for Mixed Reality.

    1. Perform the component removal of Mixed Reality with MSMG Toolkit and install the system
    2. Deploy an update that does not have the Mixed Reality compontents (Microsoft-Windows-Holographic-Desktop-Analog* and Microsoft-Windows-Holographic-Desktop-Merged*) in them, so they cannot be restored
    (You can delete the .cat and .mum files after extracting the .msu, repackage it as .cab and deploy with dism)
    3. Run "Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase"
    4. Run "Dism.exe /Online /Cleanup-Image /ScanHealth" --> ERROR for missing "PerceptionSimulationSixDof.inf" will show up and ScanHealth fails

    How to prevent this from happening on an image that Mixed Reality was removed from?

    1. Perform the component removal of Mixed Reality with MSMG Toolkit and install the system
    2. Deploy an update that does not have the Mixed Reality compontents (Microsoft-Windows-Holographic-Desktop-Analog* and Microsoft-Windows-Holographic-Desktop-Merged*) in them, so they cannot be restored
    (You can delete the .cat and .mum files after extracting the .msu, repackage it as .cab and deploy with dism)
    3. Delete "HKLM\COMPONENTS\CanonicalData\Deployments\dual_percep..nsixdof.inf_31bf3856ad364e35_10.0.19041.1_f4ec94a67cd216ca" and "HKLM\COMPONENTS\DerivedData\Components\amd64_dual_perceptionsimulationsixdof.inf_31bf3856ad364e35_10.0.19041.1_none_f4ec94a67cd216ca"
    4. Delete "WinSxS\amd64_perceptionsimulationsixdof.inf.resources_31bf3856ad364e35_10.0.19041.1_en-us_10715a7616bb7659", "WinSxS\amd64_perceptionsimulatio..odels.inf.resources_31bf3856ad364e35_10.0.19041.1_en-us_bc6c7502c0277c15" and "WinSxS\amd64_perceptionsimulationsixdof.inf.resources_31bf3856ad364e35_10.0.19041.1_en-us_10715a7616bb7659"

    4. Run "Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase"
    5. Run "Dism.exe /Online /Cleanup-Image /ScanHealth" --> NO ERRORS that would prevent the process from finishing


    The same approach works for "tsprint.dll".
    If the system is not aware of components (HKLM:\COMPONENTS and WinSxS information is not present), it will not complain about them.
    No other component removal was causing Dism errors aside from these two.

    Additionally, a small request: when Internet Explorer is removed "c:\Program Files (x86)\Internet Explorer\ie9props.propdesc" is still present on the system.
    If I want to prevent new folders from being created ("c:\Program Files (x86)\Internet Explorer"), it should not be present to begin with.
    This is how I check what was there before the deployment and what was not (the updates will create new folders for the components).
    If you could make sure this is not present there, I would really appreciate it.

    If you need further information or testing/scripting assistance, I am more than happy to help.
    I did a very thorough testing for the above, however, it was some months ago, and now I was just revisiting the notes that I was taking back then.
    If something does not add up, do let me know and I can again redo everything from scratch.
    These reason for the hasty post is that since you are already revisiting one of these components (tsprint), I would like to have these sorted out as soon as it can be done (preferably for the next on the release after).
     
  17. Jingzin

    Jingzin MDL Addicted

    Nov 10, 2021
    666
    536
    30
    #25438 Jingzin, May 31, 2023
    Last edited: May 31, 2023
    @tempdrive1

    "The same approach works for "tsprint.dll".
    If the system is not aware of components (HKLM:\COMPONENTS and WinSxS information is not present), it will not complain about them.
    No other component removal was causing Dism errors aside from these two."


    Thats not fixing because if it does then isnt it better to just disable DISM Resetbase and ScanHealth ?
     
  18. Thank u so much for ur new release and reply.

    Ive tested the new v13.4 ...works great... well there are some mistakes (for my personal need.. overall MSMG scripts is already perfect) or "over write" scripts written (too many for my needs), but i manage to edit and fix them to suit my needs.

    Do u all know that the N software license cost 40€ for home user, 90€ for professional user, 250€ for business? If u buy the license .. u can ask anything, feedback anything ..and get assistant for deploying your image.

    So if u are a professional, or commercial person, or professional builder.. just remember that MSMG Toolkit is a FREE SOFTWARE ... but @MSMG still provide help and still release it as a FREE SOFTWARE to help peoples like me to modify my Windows for my PERSONAL USE and needs.

    Why i use MSMG Toolkit?

    Because it is GOOD
    , really good.
    Because it is FREE... im a student, i dont have money to buy the N software, i dont even have credit card.
    So... i dont expect much from @MSMG and MSMG Toolkit... i dont complain, i dont push... im just grateful that @MSMG created MSMG Toolkit to HELP me... to HELP US.

    Thank u so much @MSMG .. may Allah bless you with peace, joy and happiness. :giverose::bye3:
     
  19. tempdrive1

    tempdrive1 MDL Member

    Aug 29, 2021
    103
    135
    10

    What I was trying to achieve with my post is to draw attention to that some components were not removed completely and that can result in diagnostic/repair software to become unusable in this particular case.
    The steps that I mentioned is not something that you should be doing yourself, I was just pointing out how it is solvable by a workaround.

    I understand that my case is more extreme than the other users', however, I think a solution can be implemented that resolves the issue I described and does not cause more for them at the same time.
    Loss of functionality (not using ResetBase) is not an ideal outcome, even if I am doing something very different, given that I was able to restore a stable state in my unique case.
    I believe that there are a few flaws left in the component removal process, which should be (and hopefully will be) fixed.