Out of curiosity, how do you use the raw products.xml, like in post #472? I couldn't get it to override MCT's default. Do you have to reformat the raw file to resemble the XML that's inside the products.cab? With the additional XML header tags?
Thanks. I've had a script to do that task for three years. But I was wondering how MCT self-hosting works with the raw products.xml. MCT throws an error with the untouched file. The XML inside products.cab has extra layers of "wrapping", and I was wondering if abbodi knew that was a pre-req or not. AveYo's MCT wrapper allows for a products.xml but none is provided as a reference example.
We stopped doing that years ago, but somewhere the info provided by @abbodi1406 should still be somewhere on the board. https://forums.mydigitallife.net/threads/windows-10-esd-repository.59082/page-85#post-1423606
mct only works with products.cab where the xml include extra MCT.Catalogs.Catalog parent nodes raw products.xml is used by Windows11InstallationAssistant.exe (or the old Windows10Upgrade.exe) you can modify it to mct format and cab it
If you're talking about MediaCreationTool.bat—AveYo's script—when it uses the XML, it adds headers so the MCT processes it as a catalog; then it packages it into products.cab using makecab and passes the /selfhost argument. Of course, that only applies if your XML comes from Windows11InstallationAssistant.exe. There are comments in the code at line 389. Spoiler: Example header: Code: <MCT> <Catalogs> <Catalog version="2.1"> <PublishedMedia id="" release=""> <Files> <File id="">
^^^^^^^^^^^^^^^^ Code: Name: 26300.9711.261011-1601.26h2_ge_release_svc_refresh_CLIENTCONSUMER_RET_A64FRE_en-us.esd Size: 6169241382 bytes : 5883 MiB SHA256: 0ae7c7ea490afa7a40c008ab7bc5ddb457a5a8d3940de2bb136baf44c8569b05 Code: ============================================================ ESD Contents Info ============================================================ Arch: arm64 Language: EN-US Version: 10.0.26300.9711 Branch: 26H2_GE_RELEASE_SVC_REFRESH OS 1: Windows 11 Home OS 2: Windows 11 Home Single Language OS 3: Windows 11 Pro Press any key to continue... Code: ============================================================ Running ESD -> ISO v67t ============================================================ ============================================================ Creating Setup Media Layout . . . ============================================================ ============================================================ Creating boot.wim . . . ============================================================ Using LZX compression with 16 threads Archiving file data: 1327 MiB of 1327 MiB (100%) done Using LZX compression with 16 threads Archiving file data: 113 MiB of 113 MiB (100%) done ============================================================ Creating install.wim . . . ============================================================ Using LZX compression with 16 threads Archiving file data: 14 GiB of 14 GiB (100%) done Using LZX compression with 16 threads Archiving file data: 138 MiB of 138 MiB (100%) done Using LZX compression with 16 threads Archiving file data: 801 MiB of 801 MiB (100%) done ============================================================ Creating ISO . . . ============================================================ OSCDIMG 2.56 CD-ROM and DVD-ROM Premastering Utility Copyright (C) Microsoft, 1993-2012. All rights reserved. Licensed only for producing Microsoft authorized content. Scanning source tree (500 files in 51 directories) Scanning source tree complete (967 files in 96 directories) Computing directory information complete Image file is 8592752640 bytes (before optimization) Writing 967 files in 96 directories to 26300.9711.261012-0208.26H2_GE_RELEASE_SVC_REFRESH_CLIENTCONSUMER_OEMRET_A64FRE_EN-US.ISO 100% complete Storage optimization saved 26 files, 17467392 bytes (1% of image) After optimization, image file is 8577484800 bytes Space saved because of embedding, sparseness or optimization = 17467392 Done. Finished. Press 0 or q to exit. Code: Name: 26300.9711.261011-1601.26h2_ge_release_svc_refresh_CLIENTBUSINESS_VOL_A64FRE_et-ee.esd Size: 5975999365 bytes : 5699 MiB SHA256: 2586577556baa6e2fa622eca7f2f96f7aecf2b9e26f6a712c1a9b64d1f39cd46 Code: ============================================================ ESD Contents Info ============================================================ Arch: arm64 Language: ET-EE Version: 10.0.26300.9711 Branch: 26H2_GE_RELEASE_SVC_REFRESH OS 1: Windows 11 Enterprise OS 2: Windows 11 Pro Press any key to continue... Code: ============================================================ Running ESD -> ISO v67t ============================================================ ============================================================ Creating Setup Media Layout . . . ============================================================ ============================================================ Creating boot.wim . . . ============================================================ Using LZX compression with 16 threads Archiving file data: 1328 MiB of 1328 MiB (100%) done Using LZX compression with 16 threads Archiving file data: 115 MiB of 115 MiB (100%) done ============================================================ Creating install.esd . . . ============================================================ Using LZMS compression with 1 thread Archiving file data: 14 GiB of 14 GiB (100%) done Using LZMS compression with 1 thread Archiving file data: 177 MiB of 177 MiB (100%) done ============================================================ Creating ISO . . . ============================================================ OSCDIMG 2.56 CD-ROM and DVD-ROM Premastering Utility Copyright (C) Microsoft, 1993-2012. All rights reserved. Licensed only for producing Microsoft authorized content. Scanning source tree (1000 files in 98 directories) Scanning source tree complete (1056 files in 104 directories) Computing directory information complete Image file is 6762496000 bytes (before optimization) Writing 1056 files in 104 directories to 26300.9711.261011-1847.26H2_GE_RELEASE_SVC_REFRESH_CLIENTBUSINESS_VOL_A64FRE_ET-EE.ISO 100% complete Storage optimization saved 66 files, 18505728 bytes (1% of image) After optimization, image file is 6746497024 bytes Space saved because of embedding, sparseness or optimization = 18505728 Done. Finished. Press 0 or q to exit. Code: Name: 26300.9711.261011-1601.26h2_ge_release_svc_refresh_CLIENTBUSINESS_VOL_x64FRE_fr-fr.esd Size: 6205035512 bytes : 5917 MiB SHA256: 2ee211dc3974ca639eed0240482b3eb80d1f98e36a5e731f35c561feedbefee0 Code: ============================================================ ESD Contents Info ============================================================ Arch: x64 Language: FR-FR Version: 10.0.26300.9711 Branch: 26H2_GE_RELEASE_SVC_REFRESH OS 1: Windows 11 Éducation OS 2: Windows 11 Éducation N OS 3: Windows 11 Entreprise OS 4: Windows 11 Entreprise N OS 5: Windows 11 Professionnel OS 6: Windows 11 Professionnel N Press any key to continue... Code: ============================================================ Running ESD -> ISO v67t ============================================================ ============================================================ Creating Setup Media Layout . . . ============================================================ ============================================================ Creating boot.wim . . . ============================================================ Using LZX compression with 16 threads Archiving file data: 1265 MiB of 1265 MiB (100%) done Using LZX compression with 16 threads Archiving file data: 121 MiB of 121 MiB (100%) done ============================================================ Creating install.esd . . . ============================================================ Using LZMS compression with 1 thread Archiving file data: 14 GiB of 14 GiB (100%) done Using LZMS compression with 1 thread Archiving file data: 238 MiB of 238 MiB (100%) done Using LZMS compression with 1 thread Archiving file data: 133 MiB of 133 MiB (100%) done Using LZMS compression with 1 thread Archiving file data: 140 MiB of 140 MiB (100%) done Using LZMS compression with 1 thread Archiving file data: 167 MiB of 167 MiB (100%) done Using LZMS compression with 1 thread Archiving file data: 173 MiB of 173 MiB (100%) done ============================================================ Creating ISO . . . ============================================================ OSCDIMG 2.56 CD-ROM and DVD-ROM Premastering Utility Copyright (C) Microsoft, 1993-2012. All rights reserved. Licensed only for producing Microsoft authorized content. Scanning source tree (1000 files in 99 directories) Scanning source tree complete (1070 files in 105 directories) Computing directory information complete Image file is 6979944448 bytes (before optimization) Writing 1070 files in 105 directories to 26300.9711.261011-1848.26H2_GE_RELEASE_SVC_REFRESH_CLIENTBUSINESS_VOL_X64FRE_FR-FR.ISO 100% complete Storage optimization saved 66 files, 18561024 bytes (1% of image) After optimization, image file is 6963914752 bytes Space saved because of embedding, sparseness or optimization = 18561024 Done. Finished. Press 0 or q to exit. Code: Name: 26300.9711.261011-1601.26h2_ge_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_tr-tr.esd Size: 6096708340 bytes : 5814 MiB SHA256: b0a405780d4cbd8f5871a3ee8b058cc6e0a958252004d4296916f9bf503026d4 Code: ============================================================ ESD Contents Info ============================================================ Arch: x64 Language: TR-TR Version: 10.0.26300.9711 Branch: 26H2_GE_RELEASE_SVC_REFRESH OS 1: Windows 11 Home OS 2: Windows 11 Home Single Language OS 3: Windows 11 Education OS 4: Windows 11 Pro Press any key to continue... Code: ============================================================ Running ESD -> ISO v67t ============================================================ ============================================================ Creating Setup Media Layout . . . ============================================================ ============================================================ Creating boot.wim . . . ============================================================ Using LZX compression with 16 threads Archiving file data: 1245 MiB of 1245 MiB (100%) done Using LZX compression with 16 threads Archiving file data: 120 MiB of 120 MiB (100%) done ============================================================ Creating install.esd . . . ============================================================ Using LZMS compression with 1 thread Archiving file data: 13 GiB of 13 GiB (100%) done Using LZMS compression with 1 thread Archiving file data: 144 MiB of 144 MiB (100%) done Using LZMS compression with 1 thread Archiving file data: 944 MiB of 944 MiB (100%) done Using LZMS compression with 1 thread Archiving file data: 175 MiB of 175 MiB (100%) done ============================================================ Creating ISO . . . ============================================================ OSCDIMG 2.56 CD-ROM and DVD-ROM Premastering Utility Copyright (C) Microsoft, 1993-2012. All rights reserved. Licensed only for producing Microsoft authorized content. Scanning source tree (1000 files in 99 directories) Scanning source tree complete (1069 files in 105 directories) Computing directory information complete Image file is 6858833920 bytes (before optimization) Writing 1069 files in 105 directories to 26300.9711.261011-1849.26H2_GE_RELEASE_SVC_REFRESH_CLIENTCONSUMER_OEMRET_X64FRE_TR-TR.ISO 100% complete Storage optimization saved 66 files, 18481152 bytes (1% of image) After optimization, image file is 6842867712 bytes Space saved because of embedding, sparseness or optimization = 18481152 Done. Finished. Press 0 or q to exit.
Code to enable Enterprise editions in products.xml and add new tags Spoiler Code: [xml]$xml=[io.file]::ReadAllText("$pwd\products.xml",[Text.Encoding]::UTF8);$root=$null;if($null -ne $xml.SelectSingleNode('/MCT')){$root=$xml.SelectSingleNode('/MCT/Catalogs/Catalog/PublishedMedia')}else{$root=$xml.SelectSingleNode('/PublishedMedia')};$vid="Windows 11";$CONSUMER="$vid Pro | Edu | Home";if($null -ne $root.Languages){foreach($i in $root.Languages.Language){foreach($l in $i.ChildNodes){$l.InnerText=$l.InnerText.replace("Windows 11",$vid)};if($null -ne $i.CLIENT){$i.CLIENT="$CONSUMER"};if($null -ne $i.CLIENT_K){$i.CLIENT_K="$CONSUMER K"};if($null -ne $i.CLIENT_N){$i.CLIENT_N="$CONSUMER N"};if($null -ne $i.CLIENT_KN){$i.CLIENT_KN="$CONSUMER KN"}}};$BUSINESS="$vid Pro | Edu | Enterprise";$root.Files.File | & { process { if($_.Edition -eq 'Enterprise' -or $_.Edition -eq 'EnterpriseN'){$_.IsRetailOnly='False';$_.Edition_Loc=$BUSINESS} } };$xml.Save("$pwd\products.xml")