[ARCHIVED] Windows Editions Reconstruction Project

Discussion in 'Windows 10' started by whatever127, Jan 10, 2020.

Thread Status:
Not open for further replies.
  1. zhanglin

    zhanglin MDL Expert

    Jan 11, 2018
    1,014
    552
    60
    I used to play server core board + GUL, and I haven't played for a long time. The 19041 server version was deleted early.
     
  2. kibkalo

    kibkalo MDL Expert

    Sep 8, 2009
    1,025
    362
    60
    I have created a fake Branding renaming the one from ServerDatacenterACor
     
  3. kibkalo

    kibkalo MDL Expert

    Sep 8, 2009
    1,025
    362
    60
    I have just made a BIG discovery for myself.
    As far as I know, previously, we had ONE (same) LCU for both Server and Client 1904x
    And for 1165 as usual I took the PSF from Windows10.0-KB5005033-x64-baseless.psf from Windows 10 19043. Assuming it's the same for Server 20H1
    But let's look into WindowsUpdate:
    upload_2021-8-12_12-6-4.png
    For client I have 593MB: 2021-08 Dynamic Cumulative Update for Windows 10 Version 21H1 for x64-based Systems (KB5005033)\all-windows10.0-kb5005033-x64_ccf8380bde085933ab8d3683f1de4bfbd550c0a0.cab
    For server I have 609MB: 2021-08 Cumulative Update for Windows Server, version 2004 for x64-based Systems (KB5005033)\AMD64-all-windows10.0-kb5005033-x64_ebab415d7a65f0b33f93e9a30875d74baa8930a7.cab

    10MB difference in CAB. Where to get PSF?
     
  4. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    #4264 xinso, Aug 12, 2021
    Last edited: Aug 13, 2021
    LCU A: Dynamic Cumulative Update for Windows 10 (CAB)
    windows10.0-kb5005033-x64_ccf8380bde085933ab8d3683f1de4bfbd550c0a0.cab
    -->
    Windows10.0-KB5005033-x64.cab
    sha1: CCF8380BDE085933AB8D3683F1DE4BFBD550C0A0

    LCU B: Cumulative Update for Windows Server (MSU)
    windows10.0-kb5005033-x64_ebab415d7a65f0b33f93e9a30875d74baa8930a7.msu
    -->
    Windows10.0-KB5005033-x64.cab
    sha1: CCF8380BDE085933AB8D3683F1DE4BFBD550C0A0
     
  5. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    #4265 xinso, Aug 12, 2021
    Last edited: Aug 12, 2021
    This package is for Edition ID.

    ServerDatacenterACor
    Code:
      <registryKeys>
        <registryKey keyName="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion">
          <registryValue name="ProductName" valueType="REG_SZ" value="Windows Server Datacenter" />
          <registryValue name="EditionID" valueType="REG_SZ" value="ServerDatacenterACor" />
          <registryValue name="CompositionEditionID" valueType="REG_SZ" value="ServerDatacenterACor" />
        </registryKey>
        <registryKey keyName="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion">
          <registryValue name="ProductName" valueType="REG_SZ" value="Windows Server Datacenter" />
          <registryValue name="EditionID" valueType="REG_SZ" value="ServerDatacenterACor" />
          <registryValue name="CompositionEditionID" valueType="REG_SZ" value="ServerDatacenterACor" />
        </registryKey>
      </registryKeys>
    
     
  6. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    #4266 xinso, Aug 12, 2021
    Last edited: Aug 12, 2021
    Microsoft knows that.
     
  7. kibkalo

    kibkalo MDL Expert

    Sep 8, 2009
    1,025
    362
    60
    SAC (Semi Annual Channel) versions of Windows Server (aka WS 2004,WS 20H2, WS21H1 & WS21H2) would not continue in future in favor to AzureStackHCICor which would still be released twice a year
     
  8. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    #4268 xinso, Aug 13, 2021
    Last edited: Aug 13, 2021
    Q: Why does Microsoft create such a package?

    Microsoft-Windows-Hotpatch-Targeting-Gated-Package~31bf3856ad364e35~amd64~~10.0.20348.169
    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-Hotpatch-Targeting-Gated-Package" version="10.0.20348.169" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
      <package identifier="Microsoft-Windows-Hotpatch-Targeting-Gated" releaseType="Feature Pack">
        <parent integrate="delegate">
          <assemblyIdentity name="Microsoft-Windows-Hotpatch-Enrollment-Package" version="10.0.20348.0" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
        </parent>
        <update name="Microsoft-Windows-Hotpatch-Targeting">
          <package contained="false" integrate="hidden">
            <assemblyIdentity name="Microsoft-Windows-Hotpatch-Targeting-Package" version="10.0.20348.169" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
          </package>
        </update>
      </package>
    </assembly>
    
     
  9. zhanglin

    zhanglin MDL Expert

    Jan 11, 2018
    1,014
    552
    60
    #4269 zhanglin, Aug 13, 2021
    Last edited: Aug 13, 2021
    It was discovered before that, without "Microsoft-Windows-Hotpatch-Targeting-Gated-Package", "Microsoft-Windows-EditionPack-ServerTurbine-Package" cannot be installed, and its sub-package is "Microsoft-Windows-Hotpatch-Targeting-Package", which is installed by Deployment A registry file, the others did not find any other functions.
    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-HotpatchTargeting-ServerOS" version="10.0.20348.143" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
      <registryKeys>
        <registryKey keyName="HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Update\TargetingInfo\DynamicInstalled\Hotpatch.amd64">
          <registryValue name="Version" valueType="REG_SZ" value="10.0.20348.143" />
          <registryValue name="Name" valueType="REG_SZ" value="Hotpatch Product" />
          <securityDescriptor name="WRP_REGKEY_DYNAMIC_INSTALLED_SDDL" />
        </registryKey>
      </registryKeys>
      <trustInfo>
        <security>
          <accessControl>
            <securityDescriptorDefinitions>
              <securityDescriptorDefinition name="WRP_REGKEY_DYNAMIC_INSTALLED_SDDL" sddl="O:SYG:SYD:P(A;CI;KA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;CI;KRKWSD;;;SY)(A;CI;KRKWSD;;;BA)(A;CI;KR;;;BU)(A;CI;KR;;;S-1-15-2-1)" operationHint="replace" />
            </securityDescriptorDefinitions>
          </accessControl>
        </security>
      </trustInfo>
    </assembly>
     
  10. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    #4270 xinso, Aug 13, 2021
    Last edited: Aug 13, 2021
    Q: Where to find this "20348.0" package in Server 2022 "20348.1"?
    Code:
        <parent integrate="delegate">
          <assemblyIdentity name="Microsoft-Windows-Hotpatch-Enrollment-Package" version="10.0.20348.0" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
        </parent>
    
     
  11. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    #4271 xinso, Aug 13, 2021
    Last edited: Aug 13, 2021
    Q1: How does LCU update builds from 10240.16384 to 17763.1?
    A1: It detects package registered in the following registry key. No matter real or fake.
    Code:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing
    

    Q2: Can I remove unwanted packages from LTSC?
    A2: According to aforementioned statement, it depends on the build, for all SKUs.

    17763 LTSC = OK
    19044 LTSC = NOT OK


    Q3: Why the 17763.1 LTSC System Apps being removed are recovered by LCU?
    A3: Because, usually,
    System Apps, in C:\Windows\SystemApps, are made of System Packages which are supported by LCU.
    Windows Apps, in C:\Program Files\WindowsApps, are supported by Store.

    Yes, Microsoft can make any App in any format. i.e. Windows Apps can be System Packages too, or combo.


    Q: What about Capabilities?
    A: Capabilities are FOD (Feature On Demand), in Package format. Therefore, it can be installed\removed in two ways:
    1. Capability command.
    2. Regular package command


    Q: What controls FOD Capability package?
    A: FOD Capability package is controlled by an FOD package called Microsoft-Windows-FodMetadata-Package, which is NOT defiend in any System package. i.e. It is an add-on package, alike other FOD Capability packages, installed manually by Microsoft.

    PS.
    After Microsoft-Windows-FodMetadata-Package is installed, it is registered as a Child-package of Microsoft-Windows-Client-Features-Package. This is why FOD packages can be ported from source image to reconstructed new image.
     
  12. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    #4272 xinso, Aug 13, 2021
    Last edited: Aug 13, 2021
    [FYI]
    When this package appeared in 22000 LCU, Microsoft-Windows-ContainerOSPlusEdition can be reconstructed.
    Code:
    Windows-ContainerOSPlus-EditionOnly-WOW64-Package
    
    PS.
    It is missing in other builds too.
     
  13. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
  14. zhanglin

    zhanglin MDL Expert

    Jan 11, 2018
    1,014
    552
    60
    There is no obvious difference between the self-made 20348 IOTEnterpriseS and 19044 IOTEnterpriseS.
    1.PNG 2.PNG 3.PNG
     
  15. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    #4275 xinso, Aug 14, 2021
    Last edited: Aug 14, 2021
    19044
    Windows 10 Enterprise LTSC 2019
    Windows 10 IoT Enterprise LTSC 2021

    Your 20348
    Windows 10 Enterprise LTSC 2019
    Windows 10 IoT Enterprise LTSC 2019 (Really?)

    Q1: Which build of language?
    Q2: How is the language added, CopyPaste or installed?
    Q3: Reconstructed or Manually made? (Oh, it must be Manually made because you said you don't know script. Unless you've learned to customized language pack.)
     
  16. zhanglin

    zhanglin MDL Expert

    Jan 11, 2018
    1,014
    552
    60
    Single client 20348 IOTEnterpriseS, using Microsoft-Windows-EnterpriseS-SPP-Components-Package-amd64-10.0.19041.1151 certificate, 20279 Chinese language pack. Branding is replaced by 19041.1165 IOTEnterpriseS, which also displays Windows 10 IoT Enterprise LTSC 2019.

    With the 20279 language pack, there are still some incompatibility. When the function is enabled, it prompts that the certificate has expired and the function fails to be added.
     
  17. zhanglin

    zhanglin MDL Expert

    Jan 11, 2018
    1,014
    552
    60
    Modifying the language pack is still more troublesome, modify the installation like this.
    I don't know how to make changes in batches, it is too troublesome to manually.

    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-Editions-EnterpriseS-Package" version="10.0.20279.1" processorArchitecture="amd64" language="zh-CN" buildType="release" publicKeyToken="31bf3856ad364e35" />
      <package identifier="Microsoft-Windows-Editions-EnterpriseS-Package" releaseType="Language Pack">
        <parent disposition="detect" integrate="separate">
          <assemblyIdentity name="Microsoft-Windows-Editions-EnterpriseS-Package" version="10.0.20348.1" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
        </parent>
        <update name="Microsoft-Windows-Editions-EnterpriseS-Package">
          <component>
            <assemblyIdentity name="Microsoft-Windows-Editions-EnterpriseS-Deployment-LanguagePack" version="10.0.20279.1" processorArchitecture="amd64" language="zh-CN" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
          </component>
        </update>
      </package>
    </assembly>
     
  18. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    Yeah, you get very smart.
     
  19. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,691
    14,421
    340
    #4279 xinso, Aug 14, 2021
    Last edited: Aug 14, 2021
    1. What do you mean by "Branding is replaced by 19041.1165 IoTEnterpriseS"?

    C:\Windows\Branding?
     
  20. zhanglin

    zhanglin MDL Expert

    Jan 11, 2018
    1,014
    552
    60
    Rename 20348 IOTEnterpriseS Branding and replace it with 19041.1165 IoTEnterpriseS Branding.(C:\Windows\Branding)