1. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    60
  2. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    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.
     
  3. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    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.
     
  4. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    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.
     
  5. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    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.
     
  6. MSMG

    MSMG MDL Developer

    Jul 15, 2011
    6,414
    15,608
    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
    
     
  7. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    286
    164
    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
     
  8. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,748
    3,575
    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"
     
  9. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    286
    164
    10
    #25449 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.
     
  10. 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).
     
  11. Jingzin

    Jingzin MDL Addicted

    Nov 10, 2021
    666
    532
    30
    #25451 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 ?
     
  12. 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:
     
  13. 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.
     
  14. Jingzin

    Jingzin MDL Addicted

    Nov 10, 2021
    666
    532
    30

    I don't think the issue is with components not being removed completely because of when I installed windows and did dism scan health after Resetbase got error 3 and when I removed tsprint from winsxs the error wasnt fixed only when i copied tsprint from untouched ISO to winsxs error was gone to never show again and I tried it against several win 11 versions also used dism++ to do reset base and to clean up winsxs and error never showed up again.

    I also did another test where I used only toolbox components removal number 1 2 3 4 skipped 5 6 7 8 didn't use any tweaks and still got error 3 from dism after I installed windows.

    Not a big issue it was fun actually trying to figure out why dism was giving me error 3 and why wasn't fixing files on its own.


    I think the same issue other people are having and the solution is really simple
     
  15. mhussain

    mhussain MDL Senior Member

    Oct 1, 2012
    368
    144
    10
    @MSMG
    would it be possible for you to add via toolkit helper
    an indicator of experimental components?
    when this command is ran?
    ToolKitHelper.exe c:\t\mount\install\3\ /?
    currently, no indication is given in output.
    Majid
     
  16. tempdrive1

    tempdrive1 MDL Member

    Aug 29, 2021
    103
    135
    10
    #25456 tempdrive1, May 31, 2023
    Last edited: May 31, 2023

    I probably should have gotten into more in-depth details, but I wanted to make sure that I don't confuse anyone with too much information added.

    The issue I am facing is very unique in the way that it only happens when you install an update for an image with these 2 components removed and preventing them from being added back to system by the update.
    Every time you install an update, the removed components (if included in the update) will be added back, defeating the purpose of the removal to begin with (sadly).
    This is the returning components issue that everyone talks about.
    The update itself forcefully contains the deployment of the components regardless what you have set up on your system, this is the reason why they are coming back.
    You cannot modify the content, because the .cat file verifies the .mum (deployment instructions) integrity, and if it is not matching, the update will fail.
    If you cannot sign the modified .mum files, you cannot make changes to it without failure as an end result.
    Removing these files, however, will let the update move on skipping them.

    ResetBase, by the way, does more than shifting the baseline of the OS (you will not be remove updates prior that point as you probably know).
    If, for instance, you perform a ResetBase on a system that has Edge removed, but having InternetBrowser components present in the system, ResetBase will actually redeploy Edge.

    The control that you have on what can be present on the system when deploy an update is very much limited to certain registry tweaks that will prevent programs to show up, but the packages will still be present.

    The component removal is definitely partially done (which may be due to other dependencies), and the only reason why people are not facing issues as I do, is that these packages will be added back each time you deploy an update (I keep repeating myself to emphasize the core problem people have with the update process).
    I am working on countering this, but even my options are limited to reactive actions rather than proactive.
    Proactive would be to recreate the update data by removing packages, but many of them are merged together.
    InternetBrowser and Holographic packages are easy to remove, but the Toolkit can go sub-package level, which cannot be done when simply managing .cat and .mum files in the update.
    Again, .mum gives you the option for this, but .cat verifies the integrity, and as soon as you touch them, the update will fail (unless you have the means to sign the changed setup).
    My script is trying to emulate on a live system what the Toolkit has done to the offline image.
    As the updates are cumulative, each will contain to previous entries (unless replaced by newer versions), which means that the data to be processed grows with each patch, so the processing time also gradually increases.
    In have no experience with in-place update, but I would assume the packages will still be added to the system, whereas here I am in complete control what will be added there.
    Also, if I fix the issues I am facing with the workaround I described, the "system created" in my way works without issues.
    Though I did testing with limited 3rd party applications installed, the system was stable, and there were no diagnostics errors (Dism / SFC).
    Additionally I would like to point out that I have spent several months of writing, testing and fixing the script, during which I acquired a rather solid experience, from which you can benefit from if you can fix unexpected issues yourself (just like you did in your case, as I got to understand).

    Additionally, HKLM\COMPONENTS and WinSxS go hand in hand.
    You will be facing problems if you have only one of them.
    If both are not there, the system will not have anything to complain about.

    And a fun fact, that may be useful for some maybe: when I trying to solve the ResetBase issue earlier, I was fooling around with HKLM:\COMPONENTS\DerivedData\Component Registry keys, for which you have the CF value present.
    I wanted to enter the hexadecimal of value 12 (character "c" in decimal, which I have seen for other entries), but I accidentally entered it as decimal.
    This value also fixed the ScanHealth issue after Resetbase, which makes me believe that CF = 12 decimal value will have the components ignored somehow.
    I was not able to find any information about this (descriptive options for CF) online.
    (Edit: as per my notes, HKLM:COMPONENTS\CanonicalData\Deployments keys were also removed, to make it work with CF = 12, but WinSxS was untouched in this case)
    This was a more dirty workaround, I still prefer removing everything that was meant to be removed, so that no use of workarounds will ever be needed.
    Besides, why would you want to have something on your system that you tried to remove intentionally?
     
  17. pacoolio

    pacoolio MDL Member

    Jun 10, 2009
    121
    104
    10
    Additionally, HKLM\COMPONENTS and WinSxS go hand in hand.
    You will be facing problems if you have only one of them.
    If both are not there, the system will not have anything to complain about.

    And a fun fact, that may be useful for some maybe: when I trying to solve the ResetBase issue earlier, I was fooling around with HKLM:\COMPONENTS\DerivedData\Component Registry keys, for which you have the CF value present.
    I wanted to enter the hexadecimal of value 12 (character "c" in decimal, which I have seen for other entries), but I accidentally entered it as decimal.
    This value also fixed the ScanHealth issue after Resetbase, which makes me believe that CF = 12 decimal value will have the components ignored somehow.
    I was not able to find any information about this (descriptive options for CF) online.
    (Edit: as per my notes, HKLM:COMPONENTS\CanonicalData\Deployments keys were also removed, to make it work with CF = 12, but WinSxS was untouched in this case)
    This was a more dirty workaround, I still prefer removing everything that was meant to be removed, so that no use of workarounds will ever be needed.
    Besides, why would you want to have something on your system that you tried to remove intentionally?[/QUOTE]


    Why don't you make your own tool according to your knowledge? You seem to know a lot about Windows. Why should you waste time and words? Just create a tool and publish it to MDL.
     
  18. Good point, absolutely right.. i prefer the same as u :shake:

    As far as i know... cmiiw.. MSMG Toolkit still leaves a lot of remnants of the components we removed.
    Unfortunately we can't edit the toolkit, because it's actually @MSMG 's program, and Toolkit is free software, not open source software.
    Maybe someone wants to make a toolkit like the MSMG Toolkit but in an open source form? we can fix it together if it's open source, many brains are far more powerful than only 1 brain.
    no offense to @MSMG
    just saying my opinion.:giverose:
     
  19. #25459 Deleted member 1556818, Jun 2, 2023
    Last edited by a moderator: Jun 2, 2023
    He just saying his opinion... come on...
    I think he knows alot about windows..
    Maybe he can make one, hope so... so he can share it with us... dunno...
    As far as i know, many of u guys also knows alot about windows, but u keep it for ur self, no intention to share it.. many of u guys act like u guys are smart and know lots about windows.. but actually just a zonk... no different than script kiddies...
    That is why i respect @MSMG and @inTerActionVRI .. they know something and they share it to help the others.
    @tempdrive1 im sure he know something, he willing to share it... thats good point...

    Thats the point of a community forum...right? To share and to help... cmiiw

    (so sorry if i said "you guys"... didnt mean to dis-respect elder peoples.. i know many of u are "old men" 40++ to 65++ years old... and some of u guys are old perverts..:puke: )
     
  20. Jingzin

    Jingzin MDL Addicted

    Nov 10, 2021
    666
    532
    30
    Not exactly sure how old am i my memory aint as goood as it used to be but Im definitely over 80.