[GUIDE] [DISCUSSION] Windows Editions Reconstructions

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

  1. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    286
    162
    10
    So tell me one thing, you're the one who assembles the .mum, for example the professionaedition is all in the sessions.xml, right, and the specific is all copied from the update .mum of the package, is that it?
     
  2. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    286
    162
    10
    I want to learn how to do the reconstructions of each one, understand, learning how to make packages and modify the .mum and make
     
  3. Ace2

    Ace2 MDL Expert

    Oct 10, 2014
    1,861
    1,521
    60
    I have no idea what you talk about... i assembles nothing....
     
  4. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    286
    162
    10
    Well, it's difficult, without a horizon you can't do anything about reconstruction, I know how to do many other things in programming, I'm looking for a theory to learn, because if I keep banging my head without knowing where I came from and where I'm going, it doesn't work, good reconstructions for you.
     
  5. Ace2

    Ace2 MDL Expert

    Oct 10, 2014
    1,861
    1,521
    60
    no, i don't understand why it is so hard for you, when everything you need is already there on uup dump, all you need is to understand the basics of how to put it all together,...
     
  6. TesterMachineOS

    TesterMachineOS MDL Addicted

    Apr 20, 2021
    569
    264
    30
    I think what @Bira basically means is that he wants to learn about reconstructing editions.

    First you need a script, you can start with Whatever127's scripts, these are basic but their function is easy to understand..

    As for the esd files, I need to see better what you mean, so I can help you.

    Before using any script, you should know what this script does, what command it applies, so starting with whatever127 scripts is an option.
     
  7. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    286
    162
    10
    I've understood everything you said for a long time, I want to know how to make packages, and modify .mum just like xinso and others did, just put it in a specific edition and that's it, no complications, now for those of us who are starting to understand this, it's a 0 in the head, rectifying, let's learn not the reconstruction, but rather make the packages for reconstruction, leaving the .mum ready to just install and rebuild, but I have to understand the theory of .mum and the packages, how it's done
     
  8. TesterMachineOS

    TesterMachineOS MDL Addicted

    Apr 20, 2021
    569
    264
    30
  9. Ace2

    Ace2 MDL Expert

    Oct 10, 2014
    1,861
    1,521
    60
    Windows\servicing\Sessions\Sessions.xml is what you need to learn... for each version you are going to build...
     
  10. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    286
    162
    10
    Okay, let's go, Acer, we're starting to talk about the right thing, where I wanted to get to

    This goes in Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15.mum, right? Can I copy these updates by taking an update.mum and an update.cat from the package?
    Code:
    <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-Foundation-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-EditionSpecific-EnterpriseG-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-EditionSpecific-EnterpriseG-WOW64-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-Client-Features-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-Client-Features-WOW64-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-EditionPack-Enterprise-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-EditionPack-Enterprise-WOW64-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-RegulatedPackages-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-RegulatedPackages-WOW64-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-Holographic-Desktop-Merged-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-Holographic-Desktop-Merged-WOW64-Package"/>
                <Resolve package="Microsoft-Windows-EnterpriseGEdition~31bf3856ad364e35~amd64~~10.0.16299.15" update="Microsoft-Windows-Holographic-Desktop-Analog-Package"/>
    making this shape
    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-StarterEdition" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" version="10.0.15063.0"/>
      <package identifier="Windows Starter Edition" releaseType="Product">
       <update name="Microsoft-Windows-Foundation-Package">
         <package contained="false" integrate="visible">
           <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-Foundation-Package" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" version="10.0.15063.0"/>
         </package>
       </update>
       <update name="Microsoft-Windows-EditionSpecific-Starter-Package">
         <package contained="false" integrate="hidden">
           <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-EditionSpecific-Starter-Package" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" version="10.0.15063.0"/>
         </package>
       </update>
       <update name="Microsoft-Windows-EditionSpecific-Starter-WOW64-Package">
         <package contained="false" integrate="hidden">
           <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-EditionSpecific-Starter-WOW64-Package" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" version="10.0.15063.0"/>
         </package>
       </update>
       <update name="Microsoft-Windows-Client-Features-Package">
         <package contained="false" integrate="hidden">
           <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-Client-Features-Package" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" version="10.0.15063.0"/>
         </package>
       </update>
       <update name="Microsoft-Windows-RegulatedPackages-Package">
         <package contained="false" integrate="hidden">
           <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-RegulatedPackages-Package" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" version="10.0.15063.0"/>
         </package>
       </update>
       <update name="Microsoft-Windows-RegulatedPackages-WOW64-Package">
         <package contained="false" integrate="hidden">
           <assemblyIdentity buildType="release" language="neutral" name="Microsoft-Windows-RegulatedPackages-WOW64-Package" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" version="10.0.15063.0"/>
         </package>
       </update>
      </package>
    </assembly>
    and rename update.mum and update.cat to this Microsoft-Windows-EditionSpecific-EnterpriseG-Package~31bf3856ad364e35~amd64~~10.0.16299.15
     
  11. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    286
    162
    10
    Is this a product or a Feature Pack?
    Code:
    <package identifier="Windows Starter Edition" releaseType="Product">
     
  12. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    538
    190
    30
    #612 liliactr, Oct 13, 2024
    Last edited: Oct 13, 2024
    @iamaHUN
    How do you find the minimal file list need for an edition at sxs folder ( mums, manifets, folders)

    Also can you share Enterprise LTSC and other editions. Previously shared construction packages in here was edited files. Original files will be better.
     
  13. Bira

    Bira MDL Senior Member

    Oct 4, 2017
    286
    162
    10
    Now I believe it was changed from product to feature knowing which one and the image is fine
    Code:
    ═══════════════════════════════════════════════════════════════════════════════
     ### IMAGE RECONSTRUCTION #####################################################
    ═══════════════════════════════════════════════════════════════════════════════
    
     Build           16299
     Architecture    x64
     Reconstruction  Core  EnterpriseG
    
     Building  Mounting install.wim
    
    Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
    Versão: 10.0.26100.1
    
    Montando a imagem
    [==========================100.0%==========================]
    A operação foi concluída com êxito.
    
     Building  Start building convert XML EnterpriseG
    
    Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
    Versão: 10.0.26100.1
    
    Versão da Imagem: 10.0.16299.15
    
    Removing package Microsoft-Windows-CoreEdition~31bf3856ad364e35~amd64~~10.0.16299.15
    Removing package Microsoft-Windows-CoreEdition~31bf3856ad364e35~amd64~~10.0.16299.15
    [==========================100.0%==========================]
    
    A operação foi concluída com êxito.
    . .
     Integrate  Set EnterpriseG key
    
     Integrate  Try applying  edition unattend
    
    Ferramenta de Gerenciamento e Manutenção de Imagens de Implantação
    Versão: 10.0.26100.1
    
    Versão da Imagem: 10.0.16299.15
    
    A operação foi concluída com êxito.
    
     Current Edition  EnterpriseG [Volume] ....................
     
  14. iamaHUN

    iamaHUN MDL Member

    Jun 6, 2018
    106
    152
    10
    It looks like I accidentally merged the folder with another one that contained the files from 19041.1 arm64 reconstruction. You can ignore those of course.
     
  15. pp03

    pp03 MDL Addicted

    Apr 12, 2014
    566
    94
    30
  16. iamaHUN

    iamaHUN MDL Member

    Jun 6, 2018
    106
    152
    10
    Which one do you mean it is edited?
     
  17. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    538
    190
    30
    Microsoft started to use reverse deltas with the update 1742? Thats how you can reverse back. All reconstructed editions before 1 October should be edited files as far as i know. I do not know how it is for windows 10. I have EnterpriseS-19041.1-x64.7z and EnterpriseS-19041.1-x64_rev.7z Do not know whose packages are they. Better to use reverse delta created packages if you make new ones.

    You did not answered how do you find which files need.
     
  18. iamaHUN

    iamaHUN MDL Member

    Jun 6, 2018
    106
    152
    10
    Those two 7z archives are absolutely fine, they contents are also created using reverse deltas. Otherwise they wouldn't be updatable. Microsoft uses reverse/forward delta patches since Windows 10 build 18362 (1903/19H1).

    About your other question, if you need the minimum files to add another edition to your image (e.g. EnterpriseS to Professional), mount Pro to C:\mount1 and C:\mount2. Then from EnterpriseS copy everything from its \Windows\servicing\Packages folder to C:\sxs, do the same with \Windows\winsxs and \Windows\winsxs\Manifests to have everything in one folder. After this just simply stage EnterpriseS from C:\sxs to C:\mount2 (do not remove Pro), then compare the content of C:\mount1 and C:\mount2 with a program that can show the differences. Then you can collect the files from C:\mount2 that don't exist in C:\mount1.
     
  19. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    538
    190
    30
    Yes they are fine and updateable. Just thought they were edited from other mums and manifests.
    Good info thats does not explained previously in here.
     
  20. iamaHUN

    iamaHUN MDL Member

    Jun 6, 2018
    106
    152
    10
    Manifests, mums and catalogs cannot be recreated using deltas. They are the only ones that you have to create yourself. But it's not a problem, since the next rollup will probably contain a new version of them, and you can get rid of the old ones using resetbase. There's one exeption for sure, it's Microsoft-Windows-MediaPlaceholder-Package which never gets a new version. That's why in ARM64 N editions its catalog stays "edited", but it won't cause any problem.

    BTW in build 17763 and earlier, the inappropriate catalogs can cause errors, because they never get replaced with newer ones by updates. In this case they can prevent online edition upgrades using product keys (e.g. from Home to Pro), since their signature is invalid.