[GUIDE] [DISCUSSION] Windows Editions Reconstructions

Discussion in 'Windows 10' started by TesterMachineOS, Sep 3, 2024.

  1. xinso

    xinso MDL Guru

    Mar 5, 2009
    15,089
    15,292
    340
    #3921 xinso, Dec 27, 2025
    Last edited: Dec 27, 2025
    Q1: How does Windows detect and install LTSC FoDs for LTSC?
    A1: It detects any one of these information in registry.
    Code:
        <parent buildCompare="GE" revisionCompare="GE">
          <assemblyIdentity name="Microsoft-Windows-EditionSpecific-EnterpriseS-Package" version="10.0.28000.4" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
        </parent>
        <parent buildCompare="GE" revisionCompare="GE">
          <assemblyIdentity name="Microsoft-Windows-EditionSpecific-EnterpriseSEval-Package" version="10.0.28000.4" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
        </parent>
        <parent buildCompare="GE" revisionCompare="GE">
          <assemblyIdentity name="Microsoft-Windows-EditionSpecific-EnterpriseSN-Package" version="10.0.28000.4" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
        </parent>
        <parent buildCompare="GE" revisionCompare="GE">
          <assemblyIdentity name="Microsoft-Windows-EditionSpecific-EnterpriseSNEval-Package" version="10.0.28000.4" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
        </parent>
        <parent buildCompare="GE" revisionCompare="GE">
          <assemblyIdentity name="Microsoft-Windows-ServerCore-Package" version="10.0.28000.4" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
        </parent>
    
    Q2: How does CU detect and update the LTSC FoDs?
    A2: CU detects if the FoDs were installed.

    Q3: Can we delete the fake registry to avoid "The component store is repairable."?
    A3: As aforementioned, yes.
     
  2. winosr25

    winosr25 MDL Senior Member

    May 14, 2024
    442
    547
    10
    Rebuilding WinPE 28000.1 to WinPE 28000.1340
    then rebuilding WinPE 28000.1340 to Windows Pro 28000.1340
    Code:
    Deployment Image Servicing and Management tool
    Version: 10.0.26501.1000
    
    Image Version: 10.0.28000.1340
    
    Removing package Microsoft-Windows-WinPE-Package~31bf3856ad364e35~amd64~~10.0.28000.1340
    [==========================100.0%==========================]
    The operation completed successfully.
    
     
  3. winosr25

    winosr25 MDL Senior Member

    May 14, 2024
    442
    547
    10
    #3923 winosr25, Dec 27, 2025
    Last edited: Dec 27, 2025
    For those new to rebuilding, you need a "sources sxs" folder. Without this folder, you are dependent on us; we cannot share our sources 24/7, so you must create it yourself.

    To create an SXS source, go to uupdump and create your OS version using the four possible client OSs: Core, Coren, Pro, and Pron without update. Once the ISO is created by uupdump, open the ISO with 7-Zip and open install.wim in the source folder. Extract the following folders into your SXS source folder:
    Windows\WinSxS\Manifests\

    Windows\servicing\Packages\

    Windows\WinSxS\
    Note: This folder includes the folders Backup, FileMaps, Fusion, FusionDiff, InstallTemp, and Manifests, which you should not extract.

    Next, we extract the language packs, FODs, additional versions, and other files into the source SXS folder.

    For versions with updates, we use the same principle: uupdump your version with the updates and extract the folders to the SXS.
     
  4. winosr25

    winosr25 MDL Senior Member

    May 14, 2024
    442
    547
    10
    Knowing is one thing, doing is better.
     
  5. ohault

    ohault MDL Senior Member

    Dec 27, 2022
    263
    92
    10
    Could this be done by a script ?
     
  6. xinso

    xinso MDL Guru

    Mar 5, 2009
    15,089
    15,292
    340
  7. winosr25

    winosr25 MDL Senior Member

    May 14, 2024
    442
    547
    10
    #3927 winosr25, Dec 28, 2025
    Last edited: Dec 28, 2025
    There's no code. The best way is manual; like anything else, you get your hands dirty. The code comes later.

    With all the updates for Lab 24h2 client server validation and WinPE, we exceed 16GB of up-to-date SXS source code. Therefore, we only share scripts without SXS source code.

    And personally, 24h2 or 25h2 is a bloated system; the update package is twice the size of the OS.
     
  8. xinso

    xinso MDL Guru

    Mar 5, 2009
    15,089
    15,292
    340
    #3928 xinso, Dec 28, 2025
    Last edited: Dec 28, 2025
    Q: What's the difference between ServerStandardNano and ServerDatacenterNano?
    A:
    [ServerStandardNano]
    Microsoft-NanoServer-Edition-Standard-Package

    [ServerDatacenterNano]
    Microsoft-NanoServer-Edition-Datacenter-Package
     
  9. winosr25

    winosr25 MDL Senior Member

    May 14, 2024
    442
    547
    10
    ServerDatacenterNano additional network services
     
  10. pp03

    pp03 MDL Expert

    Apr 12, 2014
    1,482
    524
    60
    trying 22621 with winpe as winosr25 suggested

    error when adding languagepack

    C:\Users\LocalAdmin\Downloads\22621>dism /logpath:logs\1.log /scratchdir:"C:\Users\LocalAdmin\Downloads\22621\temp" /image:mount /apply-unattend:1.xml || exit /b 1

    Deployment Image Servicing and Management tool
    Version: 10.0.22621.2792

    Image Version: 10.0.22621.1

    Removing package Microsoft-Windows-WinPE-Package~31bf3856ad364e35~amd64~~10.0.22621.1
    Removing package Microsoft-Windows-WinPE-Package~31bf3856ad364e35~amd64~~10.0.22621.1
    [==========================100.0%==========================]

    The operation completed successfully.

    C:\Users\LocalAdmin\Downloads\22621>dism /logpath:logs\2.log /scratchdir:"C:\Users\LocalAdmin\Downloads\22621\temp" /image:mount /add-package /packagepath:lp\Microsoft-Windows-Client-LanguagePack-Package_pl-pl-amd64-pl-pl.esd || exit /b 1

    Deployment Image Servicing and Management tool
    Version: 10.0.22621.2792

    Image Version: 10.0.22621.1

    Processing 1 of 1 - Adding package Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~amd64~pl-PL~10.0.22621.1
    [==========================100.0%==========================]
    An error occurred - Microsoft-Windows-Client-LanguagePack-Package Error: 0x800700a1

    Error: 161

    Określona ścieżka jest nieprawidłowa.
     
  11. xinso

    xinso MDL Guru

    Mar 5, 2009
    15,089
    15,292
    340
    #3931 xinso, Dec 28, 2025
    Last edited: Dec 28, 2025
    The specified path is invalid. (So Google told me.)

    dism /english (So people can understand.)
     
  12. pp03

    pp03 MDL Expert

    Apr 12, 2014
    1,482
    524
    60
    error shows up at 90%
     
  13. TK50P

    TK50P MDL Member

    May 29, 2023
    191
    95
    10
    Does this applies for LCU too? or something is different?
     
  14. xinso

    xinso MDL Guru

    Mar 5, 2009
    15,089
    15,292
    340
    #3934 xinso, Dec 28, 2025
    Last edited: Dec 28, 2025
    Did you use MSU_to_esd_and_Modded_CU_202311242121?

    I usually compare initial mum (e.g. 22621.1) and modify it with CU build.

    e.g. 26100.4946 EnterpriseS in Starter style amd64 pl-PL.

    Microsoft-Windows-EditionPack-Professional-Package~31bf3856ad364e35~amd64~~10.0.26100.4946.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-EditionPack-Professional-Package" version="10.0.26100.4946" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
      <package identifier="Microsoft-Windows-EditionPack-Professional" releaseType="Feature Pack">
        <update name="1f7d4a23a5421d808344b0e767cd6a8f">
          <package contained="false" integrate="hidden">
            <assemblyIdentity name="Microsoft-Win2-MSXML6-Feature" version="10.0.26100.3624" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
          </package>
        </update>
        <update name="a268519c0dba6407387434dd5376c8bb">
          <mum2:customInformation xmlns:mum2="urn:schemas-microsoft-com:asm.v3">
            <mum2:noAutoMerge />
          </mum2:customInformation>
          <package contained="false" integrate="hidden">
            <assemblyIdentity name="Microsoft-Windows-All-Client-Ge-Beta-Version-EKB-Package" version="10.0.26100.4946" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
          </package>
        </update>
        <update name="cb89ce0ed55f9b66c7c670d5052603a9">
          <mum2:customInformation xmlns:mum2="urn:schemas-microsoft-com:asm.v3">
            <mum2:noAutoMerge />
          </mum2:customInformation>
          <package contained="false" integrate="hidden">
            <assemblyIdentity name="Microsoft-Windows-All-Client-Ge-Consolidated-Version-EKB-Package" version="10.0.26100.4946" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
          </package>
        </update>
        <update name="a0533726923739b66e429ed866733ab4">
          <package contained="false" integrate="hidden">
            <assemblyIdentity name="Microsoft-Windows-NetFx4-US-OC-Package" version="10.0.26100.4202" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
          </package>
        </update>
      </package>
    </assembly>
    
    Microsoft-Windows-EditionPack-Professional-Package~31bf3856ad364e35~amd64~pl-PL~10.0.26100.4946.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-EditionPack-Professional-Package" version="10.0.26100.4946" processorArchitecture="amd64" language="pl-PL" buildType="release" publicKeyToken="31bf3856ad364e35" />
      <package identifier="Microsoft-Windows-EditionPack-Professional-pl-PL" releaseType="Language Pack">
        <parent disposition="detect">
          <assemblyIdentity name="Microsoft-Windows-EditionPack-Professional-Package" version="10.0.26100.4946" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" />
        </parent>
        <update name="78aeda9306c4d9db8a5624e3d57efbe8">
          <package contained="false" integrate="hidden">
            <assemblyIdentity name="Microsoft-Win2-MSXML6-Feature" version="10.0.26100.1" processorArchitecture="amd64" language="pl-PL" buildType="release" publicKeyToken="31bf3856ad364e35" />
          </package>
        </update>
        <update name="3be91b023963e5261bc14faaa6574604">
          <mum2:customInformation xmlns:mum2="urn:schemas-microsoft-com:asm.v3">
            <mum2:noAutoMerge />
          </mum2:customInformation>
          <package contained="false" integrate="hidden">
            <assemblyIdentity name="Microsoft-Windows-All-Client-Ge-Beta-Version-EKB-Package" version="10.0.26100.712" processorArchitecture="amd64" language="pl-PL" buildType="release" publicKeyToken="31bf3856ad364e35" />
          </package>
        </update>
        <update name="e7afde0d43446a10f13be22e318a5520">
          <mum2:customInformation xmlns:mum2="urn:schemas-microsoft-com:asm.v3">
            <mum2:noAutoMerge />
          </mum2:customInformation>
          <package contained="false" integrate="hidden">
            <assemblyIdentity name="Microsoft-Windows-All-Client-Ge-Consolidated-Version-EKB-Package" version="10.0.26100.4768" processorArchitecture="amd64" language="pl-PL" buildType="release" publicKeyToken="31bf3856ad364e35" />
          </package>
        </update>
        <update name="284b538631400412906f5288c424c8b2">
          <package contained="false" integrate="hidden">
            <assemblyIdentity name="Microsoft-Windows-NetFx4-US-OC-Package" version="10.0.26100.1" processorArchitecture="amd64" language="pl-PL" buildType="release" publicKeyToken="31bf3856ad364e35" />
          </package>
        </update>
      </package>
    </assembly>
    
     
  15. pp03

    pp03 MDL Expert

    Apr 12, 2014
    1,482
    524
    60
    no

    just trying to reconstruct
     
  16. Ace2

    Ace2 MDL Guru

    Oct 10, 2014
    2,206
    1,909
    90
    Yes
     
  17. winosr25

    winosr25 MDL Senior Member

    May 14, 2024
    442
    547
    10
    #3937 winosr25, Dec 28, 2025
    Last edited: Dec 28, 2025
    You also need to retrieve your MSU file and extract it to your SXS source folder using `repack msu`. Your KB file will become an ESD file, not an MSU file. Extract your ESD file into the SXS folder. You're probably missing about ten files, hence the error.
     
  18. pp03

    pp03 MDL Expert

    Apr 12, 2014
    1,482
    524
    60
    trying to make 22621.1 without updates
     
  19. winosr25

    winosr25 MDL Senior Member

    May 14, 2024
    442
    547
    10
    the language pack with ESD or SXS source
     
  20. winosr25

    winosr25 MDL Senior Member

    May 14, 2024
    442
    547
    10
    The language pack with ESD or source SXS is better; with the SXS pack, all the files are up-to-date and it avoids duplicates in the SXS folder. This is also the principle of rebuilding: avoid having an SXS file that exceeds 7 GB.