[GUIDE] [DISCUSSION] Windows Editions Reconstructions

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

  1. Skylined

    Skylined MDL Senior Member

    Nov 10, 2008
    259
    105
    10
    One way is to add these to server - it can be upgraded as server with the official CU. It's server with all the client features:

    Microsoft-Windows-Client-Desktop-Required-Package
    Microsoft-Windows-Client-Desktop-Required-WOW64-Package
    Microsoft-Windows-Client-Features-Package
    Microsoft-Windows-Client-Features-WOW64-Package
    Microsoft-Windows-Common-RegulatedPackages-Package
    Microsoft-Windows-Common-RegulatedPackages-WOW64-Package
    Microsoft-Windows-Required-ShellExperiences-Desktop-Package
     
  2. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,913
    14,627
    340
  3. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,913
    14,627
    340
    #1763 xinso, Mar 28, 2025
    Last edited: Mar 29, 2025
    Yes. But it is still Server with duplicated components and too big, isn't it? If as Client, Branding is a hassle.

    What about ServerRdsh in EnterpriseS\EnterpriseSN structure with preferred Server feature(s)? e.g. Dedup and Server Backup.

    And up to date with customized CU if necessary. (17763.1\26100.1)
     
  4. ohault

    ohault MDL Member

    Dec 27, 2022
    206
    62
    10
    @gailium119 @xinso
    About managing the definition of Windows components, I wonder if a GitHub repo could be used to host (somehow as a database) all the meta files to define all Windows components over Windows versions/builds?

    This using JSON files, GitHub branches, releases, tags
     
  5. zwl29107

    zwl29107 MDL Addicted

    Jul 10, 2022
    613
    721
    30
    Converting manifests (XML) to JSON may not be a good idea.
     
  6. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,913
    14,627
    340
    Sorry but it is beyond my ability. Please wait for gailium119 or zwl29107's answer.
     
  7. pp03

    pp03 MDL Addicted

    Apr 12, 2014
    634
    116
    30
    #1767 pp03, Mar 29, 2025
    Last edited: Mar 29, 2025
    hi,

    maybe someone had similar problem.

    touchpad works, unfortunately i can't see pointer (cursor).

    surface laptop 7 (intel) supports win11, but i am using win10.
     
  8. ohault

    ohault MDL Member

    Dec 27, 2022
    206
    62
    10
    #1768 ohault, Mar 29, 2025
    Last edited: Mar 29, 2025
    The goal is to define Windows components in agnostic manner, in a human readable format and manage into a repo. This should provide a way to generate manifest files and/or any others formats and/or databases and documentation for any Windows versions/builds.

    e.g. let’s try to define a ODBC component, and later a MDAC component.
     
  9. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,913
    14,627
    340
    #1769 xinso, Mar 29, 2025
    Last edited: Mar 30, 2025
    With TSForge, 15063.0 Starter License can be activated on builds from 14393.0 forward. But, no "WinX menu" on Windows 11.

    Q1: Is there "Windows 11" Starter leaked?

    Q2: How to enable "WinX menu" for Windows 10 Starter License on Windows 11?
     
  10. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,913
    14,627
    340
  11. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,913
    14,627
    340
  12. zwl29107

    zwl29107 MDL Addicted

    Jul 10, 2022
    613
    721
    30
    #1772 zwl29107, Mar 30, 2025
    Last edited: Mar 30, 2025
    Code:
    PkgGen INFO ThreadId4936 Microsoft (C) PkgGen 0.0.0.0
    
    Usage: PkgGen.exe [project] [output] [version] [cpu] [languages] [resolutions] [variables] [diagnostic] [wmxsd] [convert] [testpkg] [universalbsp] [fortestpkg] [foroempkg] [useLegacyName] [generateCustomizations] [stress] [product] [wowdir] [subdir] [wowbuild] [usentverp] [processInf] [quiet] [toc] [compress] [config] [build] [xsd] [onecore] [nohives] [sdxRoot] [razzleToolPath] [razzleDataPath] [taskXmlOutputDir] [serviceXmlOutputDir] [registryXmlOutputDir] [nttree] [buildNttree] [objdir] [buildBranch] [manifestSddlTxt] [bldNumpH] [cmiV2Dll] [spkgGenToolDirs] [json] [toolPaths] [testOnly] [isRazzleEnv] [cfg]
      [project]················ Full path to input file : .wm.xml, .pkg.xml, .man
                                Values:<Free Text> Default=NULL
      [output]················· Output directory or file.
                                Values:<Free Text> Default="C:\tools\bin\i386"
      [version]················ Version string in the form of <major>.<minor>.<qfe>.<build>
                                Values:<Free Text> Default="1.0.0.0"
      [cpu]···················· CPU type. Values: (x86|arm|arm64|amd64)
                                Values:<Free Text> Default="arm"
      [languages]·············· Supported language identifier list, separated by ';'
                                Values:<Free Text> Default=NULL
      [resolutions]············ Supported resolution identifier list, separated by ';'
                                Values:<Free Text> Default=NULL
      [variables]·············· Additional variables used in the project file,syntax:<name>=<value>;<name>=<value>;....
                                Values:<Free Text> Default=NULL
      [diagnostic]············· Enable debug output.
                                Values:<true | false> Default=False
      [wmxsd]·················· Path to write the windows manifest schema.
                                Values:<Free Text> Default=NULL
      [convert]················ The type of conversion operation to perform. Values: (wm2csi|csi2wm|pkg2wm|pkg2cab)
                                Values:<wm2csi | csi2wm | pkg2wm | pkg2cab | wmxsd | csi2cmi> Default=pkg2cab
      [testpkg]················ Convert wm.xml test package to cab
                                Values:<true | false> Default=False
      [universalbsp]··········· Convert wm.xml BSP package to cab
                                Values:<true | false> Default=False
      [fortestpkg]············· Convert pkg.xml to wm.xml for a test package
                                Values:<true | false> Default=False
      [foroempkg]·············· Convert pkg.xml to wm.xml for an OEM package
                                Values:<true | false> Default=False
      [useLegacyName]·········· Convert pkg.xml to wm.xml and preserve the package's legacy name
                                Values:<true | false> Default=False
      [generateCustomizations]· Generate WCOS customizations metadata during wm2csi manifest generation
                                Values:<true | false> Default=False
      [stress]················· Stress multi-threaded pacakge generation (specify the number of threads)
                                Values:<Number> Default=1
      [product]················ Supported product identifier
                                Values:<Free Text> Default="windows"
      [wowdir]················· Output directory for guest packages
                                Values:<Free Text> Default=NULL
      [subdir]················· Output sub-directory for test packages
                                Values:<Free Text> Default=NULL
      [wowbuild]··············· HostOnly, GuestOnly, or Both
                                Values:<HostOnly | GuestOnly | Both> Default=Both
      [usentverp]·············· Use NtverpUtils to get the Windows product version
                                Values:<true | false> Default=False
      [processInf]············· Process the driver's INF like the build does
                                Values:<true | false> Default=False
      [quiet]·················· Only log warnings and errors
                                Values:<true | false> Default=False
      [toc]···················· Building TOC files instead of the actual package
                                Values:<true | false> Default=False
      [compress]··············· Compressing the generated package.
                                Values:<true | false> Default=False
      [config]················· File with globally defined variables.
                                Values:<Free Text> Default=NULL
      [build]·················· Build type string Values: (fre|chk)
                                Values:<fre | chk> Default=fre
      [xsd]···················· Path to write the auto-generated windows phone manifest schema
                                Values:<Free Text> Default=NULL
      [onecore]················ The package is for onecore products, this sets nohives = true for BSP’s
                                Values:<true | false> Default=False
      [nohives]················ Indicates whether or not this package has no hive dependency
                                Values:<true | false> Default=False
      [sdxRoot]················ Location of SdxRoot.
                                Values:<Free Text> Default="%sdxroot%"
      [razzleToolPath]········· Location of RazzleToolPath.
                                Values:<Free Text> Default="%RazzleToolPath%"
      [razzleDataPath]········· Location of RazzleDataPath
                                Values:<Free Text> Default="%RazzleDataPath%"
      [taskXmlOutputDir]······· Location of task xml files
                                Values:<Free Text> Default="%build.nttree%\PkgBldr.Tasks"
      [serviceXmlOutputDir]···· Location of service xml files
                                Values:<Free Text> Default="%build.nttree%\PkgBldr.Service"
      [registryXmlOutputDir]··· Location of regisry key xml files
                                Values:<Free Text> Default="%build.nttree%\PkgBldr.Registry"
      [nttree]················· Location of _NTTREE
                                Values:<Free Text> Default="%_nttree%"
      [buildNttree]············ Location of build.nttree
                                Values:<Free Text> Default="%build.nttree%"
      [objdir]················· Location of obj_dir
                                Values:<Free Text> Default=NULL
      [buildBranch]············ _BuildBranch
                                Values:<Free Text> Default="%_BuildBranch%"
      [manifestSddlTxt]········ Location of manifest_sddl.txt
                                Values:<Free Text> Default="%RazzleToolPath%\manifest_sddl.txt"
      [bldNumpH]··············· Location of bldnump.h
                                Values:<Free Text> Default="%PUBLIC_ROOT%\sdk\inc\bldnump.h"
      [cmiV2Dll]··············· Location of cmiv2.dll
                                Values:<Free Text> Default="%RazzleToolPath%\x86\cmiv2.dll"
      [spkgGenToolDirs]········ Directories containing tools needed by spkggen.exe
                                Values:<Free Text> Default="%RazzleToolPath%\x86"
      [json]··················· Generate JSON's in the specifed depot when conerting from pkg.xml to wm.xml
                                Values:<Free Text> Default=NULL
      [toolPaths]·············· Dictionary of tool paths needed by pkggen.exe
                                Values:<String=String>, Multiple values seperated by ';' Default=System.Collections.Generic.Dictionary`2[System.String,System.String]
      [testOnly]··············· Indicates that the package should be test signed only
                                Values:<true | false> Default=False
      [isRazzleEnv]············
                                Values:<true | false> Default=False
      [cfg]···················· A configuration file used to configure the enviornment.
                                If supplied the configuration file will override the command line. Used as named argument only.
                                Values:<Free Text>
     
  13. liliactr

    liliactr MDL Addicted

    Sep 3, 2009
    646
    247
    30
    What is pkggen.exe and how it is used in real life examples at reconstruction.
     
  14. zwl29107

    zwl29107 MDL Addicted

    Jul 10, 2022
    613
    721
    30
    An ADK tool to generate packages.
     
  15. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,913
    14,627
    340
    #1776 xinso, Mar 31, 2025
    Last edited: Mar 31, 2025
    Tnank you. I figured it out finally.
     
  16. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,913
    14,627
    340
    #1777 xinso, Mar 31, 2025
    Last edited: Mar 31, 2025
    [Preview]
    Time-based Spp + Time-based License ---> Windows\System32\spp\store_test

    [Evaluation]
    Official Spp + Time-based License --> Windows\System32\spp\store

    [Official]
    Official Spp + Official License --> Windows\System32\spp\store
     
  17. pm67310

    pm67310 MDL Guru

    Sep 6, 2011
    3,493
    2,720
    120
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. xinso

    xinso MDL Guru

    Mar 5, 2009
    13,913
    14,627
    340
    #1779 xinso, Mar 31, 2025
    Last edited: Mar 31, 2025
    Q: What is Microsoft-Windows-SysMet-SKU-Starter-Package for Starter(N)?
    A:
    It installs amd64_microsoft-windows-s..-starter-deployment_31bf3856ad364e35_10.0.15063.0_none_a5fec04b27449a9f.manifest.
    Then amd64_microsoft-windows-s..-starter-deployment_31bf3856ad364e35_10.0.15063.0_none_a5fec04b27449a9f.manifest installs amd64_microsoft-windows-s..mponent-sku-starter_31bf3856ad364e35_10.0.15063.0_none_fd41b37294e59327.manifest.
    Then amd64_microsoft-windows-s..mponent-sku-starter_31bf3856ad364e35_10.0.15063.0_none_fd41b37294e59327.manifest adds this Key to registry.
    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-SysMet-Component-SKU-Starter" version="10.0.15063.0" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
      <registryKeys>
        <registryKey keyName="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\starter">
          <registryValue name="starterbuildnumber" valueType="REG_SZ" value="6.0" />
          <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
        </registryKey>
      </registryKeys>
    
    Q: What does this registry Key do? Is it the same "starterbuildnumber 6.0" among all builds?
    A: amd64_microsoft-windows-s..mponent-sku-starter_31bf3856ad364e35_10.0.10586.0_none_78b37292066e0cf0.manifest.
    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-SysMet-Component-SKU-Starter" version="10.0.10586.0" processorArchitecture="amd64" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
      <registryKeys>
        <registryKey keyName="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\starter">
          <registryValue name="starterbuildnumber" valueType="REG_SZ" value="6.0" />
          <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
        </registryKey>
      </registryKeys>
    
     
  19. ohault

    ohault MDL Member

    Dec 27, 2022
    206
    62
    10
    #1780 ohault, Mar 31, 2025
    Last edited: Mar 31, 2025