Questions About CompositionEditionID.

Discussion in 'Windows 10' started by PolidelticusFire, Jun 22, 2020.

  1. PolidelticusFire

    PolidelticusFire MDL Addicted

    May 7, 2020
    996
    390
    30
    Out of curiosity (as I'm kind of a nerdy geek when it comes to these technical details)...


    - If I understand it correctly... There are several CompositionEditionIDs which are themselves subdivided in smaller EditionIDs, each one deriving code and features from the main CompositionEditionID (which from now on I'll just call "CEID" to avoid repeating myself )

    - However, all of these features are at first locked/disabled and will be unlocked/enabled if the user inputs the proper product key.
    - If the user for whatever reason decides to go back and puts in a product key for a lower SKU, then those extra features will be disabled/relocked.


    So for example:

    If Core is the CEID...
    The features/code get subdivided into Core and CoreSingleLanguage, etc... (also counting the N variants)

    If CEID is Enterprise...
    The features/code get subdivided into Enterprise, Education, ProfessionalWorkstation, ProfessionalEducation and lastly Professional.

    Then there are some special SKUs where the CEID has no subdivision. Such cases would be EnterpriseS and EnterpriseG


    Is my understanding correct?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. awuctl

    awuctl MDL Member

    Jun 6, 2020
    118
    436
    10
    The CompositionEditionID is the edition upon which your current edition is derived from/based on.
    Your composition edition is the edition "above" in the hierarchy.

    Here's all the composition editions and their "children":
    • Core is the base of Core and CoreSingleLanguage
    • CoreN is the base of CoreN
    • CoreCountrySpecific is the base of CoreCountrySpecific
    • Enterprise is the base of Pro, Pro for Workstations, Education
    • EnterpriseN is the base of EnterpriseN, Pro for Workstations N, EducationN
    • EnterpriseEval is the base of EnterpriseEval
    • EnterpriseNEval is the base of EnterpriseNEval
    • EnterpriseG is the base of EnterpriseG
    • EnterpriseS is the base of EnterpriseS
    • EnterpriseSN is the base of EnterpriseSN
    Example:
    Enterprise has all features enabled and its children will be (regarding the amount of features) identical (like Education) or 'inferior' (like Pro/ProWS). Same applies to all others.

    There's more where that came from but that's the simplest way to put it. If you want a more in-depth explanation feel free to ask.

    It's more of a parent-child relation. They are not subdivided as the composition edition is not a "special category of editions" but rather just an edition that is higher in the hierarchy.

    In the case of Pro and Enterprise:
    Enterprise is a virtual edition based on Pro. Virtual editions are editions that have no upgrade behavior in relation to their parent (you don't need to change anything in the system) and you can switch to them simply by installing the appropriate key.

    Downgrades are not allowed.

    The N variants are separate.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. PolidelticusFire

    PolidelticusFire MDL Addicted

    May 7, 2020
    996
    390
    30
    Wow, very in-depth and interesting explanation. Thanks. Will have to read it a few more times to understand it better.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. awuctl

    awuctl MDL Member

    Jun 6, 2020
    118
    436
    10
    I'll elaborate on that so it's hopefully easier to understand when I have some free time later today.
    In the meantime if you have any questions feel free to ask.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,736
    14,444
    340
    #5 xinso, Jun 22, 2020
    Last edited: Jun 22, 2020
    C:\Windows\servicing\Editions\EditionMappings.xml
     
  6. Roke Beedell

    Roke Beedell MDL Novice

    Jul 1, 2019
    1
    0
    0
    #6 Roke Beedell, Nov 30, 2024
    Last edited: Nov 30, 2024
    What's that? For me,
    Code:
    Start-Process "$Env:SystemDrive\Windows\servicing\Editions\EditionMappings.xml"
    shows:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <WindowsEditions xmlns:e="urn:schemas-microsoft-com:windows:editions:v1">
        <Edition virtual="true">
            <Name>Education</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>EducationN</Name>
            <ParentEdition>ProfessionalN</ParentEdition>
        </Edition>
        <Edition>
            <Name>EnterpriseS</Name>
        </Edition>
        <Edition>
            <Name>EnterpriseSEval</Name>
        </Edition>
        <Edition>
            <Name>EnterpriseSN</Name>
        </Edition>
        <Edition>
            <Name>EnterpriseSNEval</Name>
        </Edition>
        <Edition virtual="true">
            <Name>IoTEnterpriseS</Name>
            <ParentEdition>EnterpriseS</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>IoTEnterpriseSEval</Name>
            <ParentEdition>EnterpriseSEval</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>IoTEnterpriseSK</Name>
            <ParentEdition>EnterpriseS</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>ProfessionalCountrySpecific</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>ProfessionalEducation</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>ProfessionalEducationN</Name>
            <ParentEdition>ProfessionalN</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>ProfessionalSingleLanguage</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>ProfessionalWorkstation</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>ProfessionalWorkstationN</Name>
            <ParentEdition>ProfessionalN</ParentEdition>
        </Edition>
        <Edition>
            <Name>CoreCountrySpecific</Name>
        </Edition>
        <Edition>
            <Name>Starter</Name>
        </Edition>
        <Edition>
            <Name>StarterN</Name>
        </Edition>
        <Edition>
            <Name>EnterpriseGN</Name>
        </Edition>
        <Edition virtual="true">
            <Name>EnterpriseN</Name>
            <ParentEdition>ProfessionalN</ParentEdition>
        </Edition>
        <Edition>
            <Name>EnterpriseNEval</Name>
        </Edition>
        <Edition virtual="true">
            <Name>CoreSingleLanguage</Name>
            <ParentEdition>Core</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>Enterprise</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition>
            <Name>EnterpriseG</Name>
        </Edition>
        <Edition virtual="true">
            <Name>IoTEnterprise</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>IoTEnterpriseK</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition virtual="true">
            <Name>ServerRdsh</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition>
            <Name>EnterpriseEval</Name>
        </Edition>
        <Edition>
            <Name>Core</Name>
        </Edition>
        <Edition>
            <Name>CoreN</Name>
        </Edition>
        <Edition virtual="true">
            <Name>CloudEditionN</Name>
            <ParentEdition>ProfessionalN</ParentEdition>
        </Edition>
        <Edition>
            <Name>ProfessionalN</Name>
        </Edition>
        <Edition virtual="true">
            <Name>CloudEdition</Name>
            <ParentEdition>Professional</ParentEdition>
        </Edition>
        <Edition>
            <Name>Professional</Name>
        </Edition>
        <Edition>
            <Name>WNC</Name>
        </Edition>
    </WindowsEditions>