Spoiler: so far so good with esu removal same was with 21h2 enablement until i click "check updates", so this time i'll wait
Good idea. Sorry but it is beyond my imagination. This is Dedup feature: Code: <update description="Reduces the amount of physical storage required for data by applying chunk-level deduplication and compression" displayName="Data Deduplication" name="Dedup-Core"> <mum2:customInformation xmlns:mum2="urn:schemas-microsoft-com:asm.v3"> <ServerComponent Description="Data Deduplication saves disk space by storing a single copy of identical data on the volume." DisplayName="Data Deduplication" Id="436" Parent="File-Services" Type="RoleService" UniqueName="FS-Data-Deduplication"> <NonAncestorDependencies> <ServerComponent UniqueName="FS-FileServer" /> </NonAncestorDependencies> <Deploys> <Update Name="Dedup-Core" /> </Deploys> <SystemServices> <SystemService DefaultMonitoring="false" Name="ddpsvc" /> </SystemServices> </ServerComponent> </mum2:customInformation> <applicable disposition="detect"> <detectUpdate> <parent name="CoreFileServer" /> </detectUpdate> </applicable> <selectable disposition="staged"> <detectNone default="false" /> </selectable> <component> <assemblyIdentity name="Microsoft-Windows-Dedup-Deployment" version="10.0.19041.1741" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" /> </component> </update> Much more complicated than Enablement. "Removable" for IoTEnterpriseS is easier. e.g. Microsoft-Windows-Shell-Wallpaper-Common-Package in Microsoft-Windows-Client-Features-Removable-Package~31bf3856ad364e35~x86~~10.0.19041.1741.mum. Code: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0" copyright="Copyright (c) Microsoft Corporation. All Rights Reserved."> <assemblyIdentity name="Microsoft-Windows-Client-Features-Removable-Package" version="10.0.19041.1741" processorArchitecture="x86" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" /> <package identifier="Microsoft-Windows-Client-Features-Removable" releaseType="Feature Pack"> <update name="Microsoft-Windows-Shell-Wallpaper-Common"> <selectable disposition="absent"> <detectNone default="true" /> <mum2:customInformation xmlns:mum2="urn:schemas-microsoft-com:asm.v3"> <mum2:EnableSelectabilityForEditions> <mum2:EnableSelectabilityForEdition name="Microsoft-Windows-IoTEnterpriseSEdition" /> </mum2:EnableSelectabilityForEditions> </mum2:customInformation> </selectable> <package contained="false" integrate="hidden"> <assemblyIdentity name="Microsoft-Windows-Shell-Wallpaper-Common-Package" version="10.0.19041.1741" processorArchitecture="x86" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" /> </package> </update> </package> </assembly> ---> for IoTEnterpriseS Code: <mum2:EnableSelectabilityForEditions> <mum2:EnableSelectabilityForEdition name="Microsoft-Windows-IoTEnterpriseSEdition" /> </mum2:EnableSelectabilityForEditions> ---> for Professional Code: <mum2:EnableSelectabilityForEditions> <mum2:EnableSelectabilityForEdition name="Microsoft-Windows-ProfessionalEdition" /> </mum2:EnableSelectabilityForEditions> That's so-called "Embedded". I don't use it anymore, because we can do customization more easily. e.g. We can delete Microsoft-Windows-Client-Features-Removable-Package~31bf3856ad364e35~x86~~10.0.19041.1741 from its parent mum. ---> Official Wallpapers gone Then we do custom update and use our own Wallpapers.
same situation with network during oobe with 21h2 enablement i'll try to set product key after updates
Official Windows10.0-KB5003791-x64-21H2.esd (19044 21H2 for 19044 LTSC) Custom Windows10.0-KB5003791-x64-19044-21H2-as-19045-22H2.esd (19044 21H2-as-19045 22H2 for disable Edge on LTSC) Official Windows10.0-KB5015684-x64-22H2.esd (19045 22H2 for 19045 AC)
I always set Key at the end of the script, because some Editions are different to other Editions. In this way, I don't need to care what Edition it is.