[GUIDE] [DISCUSSION] Windows Editions Reconstructions

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

  1. iamaHUN

    iamaHUN MDL Member

    Jun 6, 2018
    112
    171
    10
  2. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    614
    219
    30
    #202 liliactr, Sep 21, 2024
    Last edited: Sep 21, 2024
    Dism /get-targeteditions not list the editionsmatrix.xml? Your english difficult for my understanding but for my experiences starter edition nothing to do with upgrade matrix or gives more upgrade authority. If you have edition-specific packages integrated and edition licensing files, license.rtf files you can change edition from any edition to any without editing editionmatrix.xml. i mixed enterprise edition install.wim and enterprises edition install.wim. have not edit edition matrix. I do not know how many editions enterprise and enterprises editions but for example 6+3=9 editions in same wim without starter edition. First 6 editions originally support changing edition with adding edition key. Also if i enter one of other 3 editions keys it also accepts.

    In this condition if you are in first group when you give command dism / get-targeteditions it shows first 6 editions. When you enter key from other 3 editions it accepts. After it accepts key if you give dism /get-targeteditions it will give you just 3 editions for upgrade. It will not give all 9 editions. Probably if i edit Editionmatrix.xml i can have 9 editions like starter edition when i input dism /get-targeteditions. I have not need to edit it why should i. I can any way upgrade or downgrade to any edition i want.

    I have never said "there is no starter edition" of course it exist because sessions.xml has it. But it does not mean you have to built it or it is important to built. I do not know why microsoft going in such a way at building wims. probably because of they start from the lowest edition to highest. If you do not have starter you can easly start from core/home edition. When i first build my combined install.wim i did not configured it to boot as default home edition but it booted to home edition. I forgot how to build it have not take records of everthing i do.

    Starter is not a perfect build
     
  3. Ace2

    Ace2 MDL Expert

    Oct 10, 2014
    1,902
    1,586
    60
    I don't think this will work as Hash is being looked for in
    Code:
    \??\x:\Windows\WinSxS\Catalogs\475869a8c538ce99f34cec88559d1646246ca1310a72a12d694eff9920789799.cat
     
  4. iamaHUN

    iamaHUN MDL Member

    Jun 6, 2018
    112
    171
    10
    I think it may be the hash of Microsoft-Windows-Security-SPP-Component-SKU-Starter-Default-Package~31bf3856ad364e35~x86~~10.0.15063.0.cat, but he doesn't need that catalog. He needs the one that contains the hash of x86_microsoft-windows-s..enterprises-default_31bf3856ad364e35_10.0.14393.0_none_9c62339750e00b6a.manifest, because he's trying to use LTSB licence to activate Starter.

    But I hope @TesterMachineOS will correct me if I'm wrong.
     
  5. TesterMachineOS

    TesterMachineOS MDL Addicted

    Apr 20, 2021
    620
    357
    30
    It works now! :D

    I understand what happened, I took Microsoft-Windows-Security-SPP-Component-SKU-EnterpriseS-Default-Package~31bf3856ad364e35~x86 and just put 14393.0 following the same as the x64 build (this build was done by xinso).

    What happens is that xinso only took the file Microsoft-Windows-Security-SPP-Component-SKU-EnterpriseS-Default-Package~31bf3856ad364e35~x86~~10.0.14393.0.mum and cat and renamed it to Starter..

    Original EntepriseS:
    Code:
    <?xml version='1.0' encoding='utf-8' standalone='yes'?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v3" copyright="Copyright (c) Microsoft Corporation. All Rights Reserved." manifestVersion="1.0">
      <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-Security-SPP-Component-SKU-EnterpriseS-Default-Package" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="10.0.14393.0" versionScope="nonSxS"/>
      <package identifier="Microsoft-Windows-Security-SPP-Component-SKU-EnterpriseS-Default-Package" releaseType="Feature Pack">
        <update name="Microsoft-Windows-Security-SPP-Component-SKU-EnterpriseS-Default-Deployment">
          <component>
            <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-Security-SPP-Component-SKU-EnterpriseS-Default-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="10.0.14393.0" versionScope="nonSxS"/>
          </component>
        </update>
      </package>
    </assembly>
    Modified Starter:
    Code:
    <?xml version='1.0' encoding='utf-8' standalone='yes'?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v3" copyright="Copyright (c) Microsoft Corporation. All Rights Reserved." manifestVersion="1.0">
      <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-Security-SPP-Component-SKU-Starter-Default-Package" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="10.0.14393.0" versionScope="nonSxS"/>
      <package identifier="Microsoft-Windows-Security-SPP-Component-SKU-Starter-Default-Package" releaseType="Feature Pack">
        <update name="Microsoft-Windows-Security-SPP-Component-SKU-EnterpriseS-Default-Deployment">
          <component>
            <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-Security-SPP-Component-SKU-EnterpriseS-Default-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="10.0.14393.0" versionScope="nonSxS"/>
          </component>
        </update>
      </package>
    </assembly>
    It was there all along but it never occurred to me, thanks for the help. ;)

    Now I will correct the script that I uploaded recently.
     
  6. iamaHUN

    iamaHUN MDL Member

    Jun 6, 2018
    112
    171
    10
    #207 iamaHUN, Sep 21, 2024
    Last edited: Sep 24, 2024
    Sorry for being confusing, as you noticed English is not my native language, but I'll try my best to express myself as clear as possible. :)

    First of all EditionMatrix.xml is the main part when Windows checks for possibilites to upgrade from one edition to another. Lets start from Windows 7 with the 6 basic editions (now forget about E and N editions).

    This is the content of the EditionMatrix.xml:
    Code:
    <?xml version='1.0' encoding='utf-8' standalone='yes'?>
    <TmiMatrix>
        <Edition ID="Starter" name="Microsoft-Windows-StarterEdition" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="6.1.7600.16385">
            <Target ID="HomeBasic"/>
            <Target ID="HomePremium"/>
            <Target ID="Professional"/>
            <Target ID="Enterprise"/>
            <Target ID="Ultimate"/>
        </Edition>
        <Edition ID="HomeBasic" name="Microsoft-Windows-HomeBasicEdition" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="6.1.7600.16385">
            <Target ID="HomePremium"/>
            <Target ID="Professional"/>
            <Target ID="Ultimate"/>
        </Edition>
        <Edition ID="HomePremium" name="Microsoft-Windows-HomePremiumEdition" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="6.1.7600.16385">
            <Target ID="Professional"/>
            <Target ID="Ultimate"/>
        </Edition>
        <Edition ID="Professional" name="Microsoft-Windows-ProfessionalEdition" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="6.1.7600.16385">
            <Target ID="Ultimate"/>
        </Edition>
        <Edition ID="Enterprise" name="Microsoft-Windows-EnterpriseEdition" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="6.1.7600.16385"/>
        <Edition ID="Ultimate" name="Microsoft-Windows-UltimateEdition" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" version="6.1.7600.16385"/>
    </TmiMatrix>
    When you use dism /get-targeteditions, you get this:
    upload_2024-9-21_22-37-38.png
    As you can see Enterprise is missing even if EditionMatrix.xml allows upgrading from Starter to this edition. Why? Because Microsoft decided to prevent it by removing Enterprise from the image.
    You can tell this by opening Sessions.xml:
    upload_2024-9-21_22-42-56.png
    The value of the targetState is Absent which means that Enterprise edition got removed.
    But if I stage Enterprise again, you will see that it appears on the list:
    upload_2024-9-21_23-25-41.png
    Now let's stage Starter and install HomePremium:
    upload_2024-9-21_23-34-11.png
    Now HomePremium can only be upgraded to Ultimate and Professional even if the other editions are also present. This is because EditionMatrix.xml doesn't let that happen. You can see it below that Starter is not removed, it became staged:
    upload_2024-9-21_23-37-29.png
    If I edit EditionMatrix.xml to let HomePremium upgrade to Starter like this:
    upload_2024-9-21_23-42-47.png
    With Get-TargetEdiions you will see this:
    upload_2024-9-21_23-43-47.png

    To summarize the things above you need 2 things to upgrade from one edition to another successfully: it must be supported by EditionMatrix.xml, and the desired edition must be in staged status. Changing edition using dism /Set-Edition removes all editions that cannot be upgraded from the new desired edition including the source edition itself that you are upgrading from.

    Example: You are on Starter and you set the edition to HomePremium, that forces dism to remove the current one which is Starter. Then it removes HomeBasic and Enterprise too, because EditionMatrix.xml doesn't let you upgrade from HomePremium, nor Professional or Ultimate to these editions.

    Windows 10 is a bit trickier since build 17134 because of virtual editions. In EditionMatrix.xml you will see parent editions only, but Get-TargetEdition will list all of the parent's virtual editions, if you can upgrade to them. You can switch between virtual editions using product keys even in an online system, you don't have to use dism to do this.
     
  7. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    614
    219
    30
    Very good explanation. Thank you.
     
  8. kibkalo

    kibkalo MDL Expert

    Sep 8, 2009
    1,025
    362
    60
    Thanks!
    What exactly have you modified in edition package?
    Is it useful for others?
     
  9. pp03

    pp03 MDL Addicted

    Apr 12, 2014
    624
    114
    30
    ok, i asked in ltsc 2021 thread.
    as for not broken, unfortunately it is broken - license is expired with fresh install
     
  10. Ace2

    Ace2 MDL Expert

    Oct 10, 2014
    1,902
    1,586
    60
    From what i have read Starter is not useful to other users, so with this in mind the answer is no & no point in sharing.
     
  11. Ace2

    Ace2 MDL Expert

    Oct 10, 2014
    1,902
    1,586
    60
    expired is not broken.
    expired = no longer valid, having exceeded its period of validity...
     
  12. Ace2

    Ace2 MDL Expert

    Oct 10, 2014
    1,902
    1,586
    60
    You made a mistake of this nature, i am speechless, i will not be so quick to give the benefit of the doubt next time.
     
  13. TesterMachineOS

    TesterMachineOS MDL Addicted

    Apr 20, 2021
    620
    357
    30
    I'm not perfect, I'm not an expert like your friend.

    I still have things to learn when it comes to rebuilding edits.

    but at least I found my mistake and corrected it.

    We all make mistakes, so it's no one's fault. ;)
     
  14. pp03

    pp03 MDL Addicted

    Apr 12, 2014
    624
    114
    30
    do you know date - period of validity for 2021 ltsc eval?
    it's interesting that for ltsc 1809 eval activation works with fresh install
     
  15. TesterMachineOS

    TesterMachineOS MDL Addicted

    Apr 20, 2021
    620
    357
    30
  16. gailium119

    gailium119 MDL Addicted

    Oct 12, 2021
    800
    527
    30
    Can you share 7600 unstaged base image structure?
     
  17. Ace2

    Ace2 MDL Expert

    Oct 10, 2014
    1,902
    1,586
    60
    Windows 11 Starter 10.0.26100.1 updated to 10.0.26100.1742 with custom update.

    Code:
    Microsoft Windows [Version 10.0.26100.1]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\Windows\System32>Dism /Image:C:\mount /Get-CurrentEdition
    
    Deployment Image Servicing and Management tool
    Version: 10.0.26100.1
    
    Image Version: 10.0.26100.1
    
    Current edition is:
    
    Current Edition : Starter
    
    The operation completed successfully.
    
    C:\Windows\System32>Dism /Image:C:\mount /Add-Package /PackagePath:C:\SSU-26100.1738-x64.cab
    
    Deployment Image Servicing and Management tool
    Version: 10.0.26100.1
    
    Image Version: 10.0.26100.1
    
    Processing 1 of 1 - Adding package Package_for_ServicingStack_1738~31bf3856ad364e35~amd64~~26100.1738.1.3
    [==========================100.0%==========================]
    The changes due to package Package_for_ServicingStack_1738 requires the current servicing session to be reloaded.
    All the packages will be processed again.
    The operation completed successfully.
    
    C:\Windows\System32>Dism /Image:C:\mount /Add-Package /PackagePath:C:\SSU-26100.1738-x64.cab
    
    Deployment Image Servicing and Management tool
    Version: 10.0.26100.1
    
    Image Version: 10.0.26100.1
    
    Processing 1 of 1 - Adding package Package_for_ServicingStack_1738~31bf3856ad364e35~amd64~~26100.1738.1.3
    [==========================100.0%==========================]
    The operation completed successfully.
    
    C:\Windows\System32>Dism /Image:C:\mount /Add-Package /PackagePath:C:\Windows11.0-KB5043080-x64.esd
    
    Deployment Image Servicing and Management tool
    Version: 10.0.26100.1
    
    Image Version: 10.0.26100.1
    
    Processing 1 of 1 - Adding package Package_for_RollupFix~31bf3856ad364e35~amd64~~26100.1742.1.10
    [==========================100.0%==========================]
    The operation completed successfully.
    
    C:\Windows\System32>Dism /Image:C:\mount /Get-CurrentEdition
    
    Deployment Image Servicing and Management tool
    Version: 10.0.26100.1
    
    Image Version: 10.0.26100.1742
    
    Current edition is:
    
    Current Edition : Starter
    
    The operation completed successfully.
    
    C:\Windows\System32>
     
  18. TesterMachineOS

    TesterMachineOS MDL Addicted

    Apr 20, 2021
    620
    357
    30
    I assume the package used for starter is zwl29107's 26100 Edition Package.7z, right?

    In the previous thread you were unable to update it, apparently due to a CU modification problem.

    I'm glad to know that you managed to solve it :)
     
  19. kibkalo

    kibkalo MDL Expert

    Sep 8, 2009
    1,025
    362
    60
    Am looking for help to find & port Hotpatch package from Windows Server 2025 (26100.1) to Windows 11 24H2
    As I posted in [DISCUSSION] Hotpatching for Windows Server 2025 (and Windows 11 24H2 - no subscriptions needed!) | My Digital Life Forums - we have now a working Hotpatch in WS2025 without Azure Arc and subscription, and what is even more interesting, we can install hotpatch LCU MSUs on Windows 11 24H2 without reboot on same conditions.
    But Windows 11 doesn't have a Hotpatch Targeting and it can't be locked on hotpatch-only updates in WU.
    A great task is to port that feature, so we reduce number of reboots 3-4 times to Windows 11, as it works on Windows Server 2025