yeah, I got it well, please consider to add another workaround for uup-converter: if there's architecture mismatch between x64 and arm64 (it's not possible to build it on x86 anyway) then check another folder with already presented expand.exe and dpx.dll (just checking of expand.exe is enough) but I don't know how to name that folder, maybe something like bin\expand
I could modify uup-converter to remove expand.exe and dpx.dll from bin folder only if the script extracted them if they already present, the script will use bin\temp for the workaround does dpx.dll from arm64 DesktopDeployment.cab work on amd64 system? or we should use x86 dpx.dll from the SSU inside install.wim
yes, this sounds more reasonable it's not working, I was testing this with extracting SSU manually system expand.exe + x64 dpx.dll - works fine system expand.exe + arm64 dpx.dll - can't extract files, so it wasn't used at all if we are going to use x86 dpx.dll from SSU then how to get x86 expand.exe?
thanks, yes it's x86 both expand.exe and cabinet.dll there no idea if it's also there on arm64 systems (files are there but I can't extract it from arm64 professional_en-us.esd) anyway I'm lost, it's up to you how to implement it better I would be happy with manual workaround with bin\temp folder thank you very much for your hard work upd: I've got cabinet.dll dpx.dll expand.exe files from arm64 25381.1 build (without update) from SysWOW64 folder, it extracts SSU without any error on amd64 system all files are 32-bit
I ment to use x86 expand.exe from your Host OS amd64 to extract it: Code: wimlib-imagex.exe extract professional_en-us.esd 3 Windows\SysWOW64\expand.exe --dest-dir=. --no-acls --no-attributes --ref="*WOW64-Package*.esd" yes, x86 rule them all
I was just double checking if it really works and if it's x86, and yes it should work on every system thank you again so.. it should work like this: 1. just extract all 3 files from ESD from SysWOW64 folder - but we can't use this with W10UI 2. use 2 x86 files from host OS and just extract x86 dpx.dll from ESD from SysWOW64 folder - still no idea how to do it using W10UI without mounting install.wim
1. You can defer extraction after creating install.wim W10UI can extract from ESD or WIM, but only from index 1 (i didn't add a parameter to choose index, because 25336+ msu wim is 1-index) Code: $hImage = $WIMG::WIMLoadImage($hWim, 1) extraction example: Code: powershell -nop -c "$f=[IO.File]::ReadAllText('W10UI.cmd') -split ':wimmsu\:.*';iex ($f[1]);E 'install.wim' 'Windows\SysWOW64\expand.exe' 'expand.exe'" however, the extracted file maintain all its attributes and security ACLs, not sure how to skip them WIMExtractImagePath has extraction flag, but not documented https://learn.microsoft.com/en-us/previous-versions/windows/hardware/imaging/dd851957(v=msdn.10)
I see, I don't know how to change that behaviour I've extracted all 3 files (cabinet.dll dpx.dll expand.exe) following your example, ACLs are there but it works fine
https://forums.mydigitallife.net/goto/post?id=1727314#post-1727314 updated the standalone _Apps_CompDB_Parser.cmd which can be used to organize apps files without running convert-UUP.cmd
uup-converter for testing: http://put.nu/files/50u-0R6.zip bin\expand.exe & bin\dpx.dll will be used if detected (although i don't recommend putting them statically) bin\expand.exe will be deleted if bin\dpx.dll is not detected otherwise, the script will extract/copy and use dpx.dll/expand.exe from temp\ folder dpx.dll source depend on the target image and host os architecture: target/host match = DesktopDeployment.cab or install.wim \Windows\System32\ target/host differ = DesktopDeployment_x86.cab from LCU MSU or install.wim \Windows\SysWOW64\
Spoiler: UUP -> ISO v92 Code: ============================================================ Running UUP -> ISO v92 ============================================================ ============================================================ Checking UUP Info . . . ============================================================ ============================================================ Configured Options . . . ============================================================ AutoStart 1 AddUpdates 1 Cleanup ResetBase NetFx3 StartVirtual DisableUpdatingUpgrade ============================================================ Parsing Apps CompDB . . . ============================================================ ============================================================ Preparing Reference ESDs . . . ============================================================ Containers-Dynamic-Image-FoD-Package-arm64 Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package-arm64 Microsoft-OneCore-DirectX-Database-FOD-Package-arm64 Microsoft-Windows-FoDMetadata-Package Microsoft-Windows-Hello-Face-Package-arm64 Microsoft-Windows-InternetExplorer-Optional-Package-arm64 Microsoft-Windows-LanguageFeatures-Basic-en-us-Package-arm64 Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package-arm64 Microsoft-Windows-LanguageFeatures-OCR-en-us-Package-arm64 Microsoft-Windows-LanguageFeatures-Speech-en-us-Package-arm64 Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package-arm64 Microsoft-Windows-MediaPlayer-Package-arm64 Microsoft-Windows-MediaPlayer-Package-arm64.x86 Microsoft-Windows-Notepad-System-FoD-Package-arm64.arm Microsoft-Windows-Notepad-System-FoD-Package-arm64 Microsoft-Windows-Notepad-System-FoD-Package-arm64.x86 Microsoft-Windows-PowerShell-ISE-FOD-Package-arm64 Microsoft-Windows-PowerShell-ISE-FOD-Package-arm64.x86 Microsoft-Windows-Printing-PMCPPC-FoD-Package-arm64 Microsoft-Windows-ProjFS-OptionalFeature-FOD-Package-arm64 Microsoft-Windows-StepsRecorder-Package-arm64.arm Microsoft-Windows-StepsRecorder-Package-arm64 Microsoft-Windows-StepsRecorder-Package-arm64.x86 Microsoft-Windows-TabletPCMath-Package-arm64 Microsoft-Windows-Telnet-Client-FOD-Package-arm64 Microsoft-Windows-TFTP-Client-FOD-Package-arm64 Microsoft-Windows-VBSCRIPT-FoD-Package-arm64.arm Microsoft-Windows-VBSCRIPT-FoD-Package-arm64 Microsoft-Windows-VBSCRIPT-FoD-Package-arm64.x86 Microsoft-Windows-Wallpaper-Content-Extended-FoD-Package-arm64 Microsoft-Windows-WinOcr-FOD-Package-arm64.arm Microsoft-Windows-WinOcr-FOD-Package-arm64 Microsoft-Windows-WinOcr-FOD-Package-arm64.x86 Microsoft-Windows-WMIC-FoD-Package-arm64.arm Microsoft-Windows-WMIC-FoD-Package-arm64 Microsoft-Windows-WMIC-FoD-Package-arm64.x86 Microsoft-Windows-WordPad-FoD-Package-arm64.arm Microsoft-Windows-WordPad-FoD-Package-arm64 Microsoft-Windows-WordPad-FoD-Package-arm64.x86 OpenSSH-Client-Package-arm64 ============================================================ Creating Setup Media Layout . . . ============================================================ ============================================================ Creating install.wim . . . ============================================================ Using LZX compression with 8 threads Archiving file data: 8209 MiB of 8209 MiB (100%) done ============================================================ Updating install.wim / 1 image(s) . . . ============================================================ 1/4: Windows11.0-KB5027849-arm64.msu [Combined UUP] 2/5: Windows10.0-KB5028041-arm64_inout.cab [SSU] 3/5: windows11.0-kb5028042-arm64.cab 4/5: windows11.0-kb5028043-arm64.cab [SafeOS DU] 5/5: windows11.0-kb5028045-arm64.cab [Setup DU] Deployment Image Servicing and Management tool Version: 10.0.22621.1 Mounting image [==========================100.0%==========================] The operation completed successfully. Adding Apps . . . Microsoft.NET.Native.Framework.arm.2.2 Microsoft.NET.Native.Framework.arm64.2.2 Microsoft.NET.Native.Runtime.arm.2.2 Microsoft.NET.Native.Runtime.arm64.2.2 Microsoft.UI.Xaml.arm.2.4 Microsoft.UI.Xaml.arm.2.7 Microsoft.UI.Xaml.arm.2.8 Microsoft.UI.Xaml.arm64.2.4 Microsoft.UI.Xaml.arm64.2.7 Microsoft.UI.Xaml.arm64.2.8 Microsoft.VCLibs.arm.14.00 Microsoft.VCLibs.arm.14.00.Desktop Microsoft.VCLibs.arm64.14.00 Microsoft.VCLibs.arm64.14.00.Desktop Microsoft.VCLibs.x64.14.00 Microsoft.VCLibs.x64.14.00.Desktop Microsoft.WindowsStore_8wekyb3d8bbwe Microsoft.StorePurchaseApp_8wekyb3d8bbwe microsoft.windowscommunicationsapps_8wekyb3d8bbwe Microsoft.People_8wekyb3d8bbwe Microsoft.BingNews_8wekyb3d8bbwe Microsoft.BingWeather_8wekyb3d8bbwe Microsoft.MicrosoftSolitaireCollection_8wekyb3d8bbwe Microsoft.ZuneMusic_8wekyb3d8bbwe Microsoft.ZuneVideo_8wekyb3d8bbwe Microsoft.WindowsAlarms_8wekyb3d8bbwe Microsoft.WindowsCalculator_8wekyb3d8bbwe Microsoft.WindowsNotepad_8wekyb3d8bbwe Microsoft.WindowsTerminal_8wekyb3d8bbwe Microsoft.WindowsFeedbackHub_8wekyb3d8bbwe Microsoft.GetHelp_8wekyb3d8bbwe Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe Microsoft.MicrosoftOfficeHub_8wekyb3d8bbwe Microsoft.ScreenSketch_8wekyb3d8bbwe Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe Microsoft.Todos_8wekyb3d8bbwe Microsoft.XboxSpeechToTextOverlay_8wekyb3d8bbwe Microsoft.XboxGameOverlay_8wekyb3d8bbwe Microsoft.XboxGamingOverlay_8wekyb3d8bbwe Microsoft.XboxIdentityProvider_8wekyb3d8bbwe Microsoft.Xbox.TCUI_8wekyb3d8bbwe Microsoft.Getstarted_8wekyb3d8bbwe Microsoft.Windows.Photos_8wekyb3d8bbwe Microsoft.WindowsMaps_8wekyb3d8bbwe Microsoft.WindowsCamera_8wekyb3d8bbwe Microsoft.DesktopAppInstaller_8wekyb3d8bbwe Microsoft.Paint_8wekyb3d8bbwe Microsoft.WebMediaExtensions_8wekyb3d8bbwe Microsoft.RawImageExtension_8wekyb3d8bbwe Microsoft.HEIFImageExtension_8wekyb3d8bbwe Microsoft.HEVCVideoExtension_8wekyb3d8bbwe Microsoft.VP9VideoExtensions_8wekyb3d8bbwe Microsoft.WebpImageExtension_8wekyb3d8bbwe MicrosoftWindows.Client.WebExperience_cw5n1h2txyewy Microsoft.SecHealthUI_8wekyb3d8bbwe Clipchamp.Clipchamp_yxz26nhyzhsrt MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe Microsoft.YourPhone_8wekyb3d8bbwe Microsoft.549981C3F5F10_8wekyb3d8bbwe MicrosoftCorporationII.MicrosoftFamily_8wekyb3d8bbwe Deployment Image Servicing and Management tool Version: 10.0.22621.1 Saving image [==========================100.0%==========================] The operation completed successfully. Adding Updates . . . Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1 Processing 1 of 1 - Adding package Package_for_ServicingStack_1200~31bf3856ad364e35~arm64~~25387.1200.1.0 [==========================100.0%==========================] The changes due to package Package_for_ServicingStack_1200 requires the current servicing session to be reloaded. All the packages will be processed again. The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1 Processing 1 of 1 - Adding package Package_for_KB5028042~31bf3856ad364e35~arm64~~25387.1200.1.0 [==========================100.0%==========================] The operation completed successfully. Windows11.0-KB5027849-arm64.msu Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1 Processing 1 of 1 - Expand [==========================100.0%==========================] [==========================100.0%==========================] The operation completed successfully. Running DISM Cleaning . . . Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1200 Enabling feature(s) [==========================100.0%==========================] The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1200 Processing 1 of 1 - Expand [==========================100.0%==========================] [==========================100.0%==========================] The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image File : F:\uup-converter-wimlib-arm64\ISOFOLDER\sources\install.wim Image Index : 1 Saving image [==========================100.0%==========================] Unmounting image [==========================100.0%==========================] The operation completed successfully. "ISOFOLDER\sources\install.wim" original size: 3906083 KiB Using LZX compression with 8 threads Archiving file data: 9431 MiB of 9431 MiB (100%) done "ISOFOLDER\sources\install.wim" optimized size: 3743792 KiB Space saved: 162291 KiB ============================================================ Adding setup dynamic update(s) . . . ============================================================ windows11.0-kb5028045-arm64.cab ============================================================ Creating winre.wim . . . ============================================================ Using LZX compression with 8 threads Archiving file data: 1163 MiB of 1163 MiB (100%) done ============================================================ Updating winre.wim / 1 image(s) . . . ============================================================ Deployment Image Servicing and Management tool Version: 10.0.22621.1 Mounting image [==========================100.0%==========================] The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1 Processing 1 of 1 - Adding package Package_for_ServicingStack_1200~31bf3856ad364e35~arm64~~25387.1200.1.0 [==========================100.0%==========================] The changes due to package Package_for_ServicingStack_1200 requires the current servicing session to be reloaded. All the packages will be processed again. The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1 Processing 1 of 1 - Adding package Package_for_KB5028043~31bf3856ad364e35~arm64~~25387.1200.1.0 [==========================100.0%==========================] The operation completed successfully. Windows11.0-KB5027849-arm64.msu Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1 Processing 1 of 1 - Expand [==========================100.0%==========================] [==========================100.0%==========================] The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1200 [============= 23.6% ] The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.22621.1 Saving image [==========================100.0%==========================] The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image Version: 10.0.25387.1200 Processing 1 of 1 - Adding package Package_for_KB5028042~31bf3856ad364e35~arm64~~25387.1200.1.0 [==========================100.0%==========================] The operation completed successfully. Deployment Image Servicing and Management tool Version: 10.0.22621.1 Image File : F:\uup-converter-wimlib-arm64\temp\winre.wim Image Index : 1 Saving image [==========================100.0%==========================] Unmounting image [==========================100.0%==========================] The operation completed successfully. Using LZX compression with 8 threads Archiving file data: 1255 MiB of 1255 MiB (100%) done ============================================================ Adding winre.wim to install.wim . . . ============================================================ ============================================================ Creating boot.wim . . . ============================================================ "ISOFOLDER\sources\boot.wim" original size: 505065 KiB Using LZX compression with 8 threads Archiving file data: 1302 MiB of 1302 MiB (100%) done "ISOFOLDER\sources\boot.wim" optimized size: 456896 KiB Space saved: 48169 KiB ============================================================ Checking Distribution Info . . . ============================================================ ============================================================ Configured Virtual Options . . . ============================================================ AutoStart AutoEditions: Enterprise,Education,ProfessionalEducation,ProfessionalWorkstation,EnterpriseN,EducationN,ProfessionalEducationN,ProfessionalWorkstationN,CoreSingleLanguage,ServerRdsh,IoTEnterprise,IoTEnterpriseS,CloudEdition,CloudEditionN ============================================================ Copying install.wim . . . ============================================================ ============================================================ Creating Edition: Enterprise ============================================================ Setting the WINDOWS/EDITIONID property of image 2 to "Enterprise". Setting the FLAGS property of image 2 to "Enterprise". Setting the DISPLAYNAME property of image 2 to "Windows 11 Enterprise". Setting the DISPLAYDESCRIPTION property of image 2 to "Windows 11 Enterprise". ============================================================ Creating Edition: Education ============================================================ Setting the WINDOWS/EDITIONID property of image 3 to "Education". Setting the FLAGS property of image 3 to "Education". Setting the DISPLAYNAME property of image 3 to "Windows 11 Education". Setting the DISPLAYDESCRIPTION property of image 3 to "Windows 11 Education". ============================================================ Creating Edition: Pro Education ============================================================ Setting the WINDOWS/EDITIONID property of image 4 to "ProfessionalEducation". Setting the FLAGS property of image 4 to "ProfessionalEducation". Setting the DISPLAYNAME property of image 4 to "Windows 11 Pro Education". Setting the DISPLAYDESCRIPTION property of image 4 to "Windows 11 Pro Education". ============================================================ Creating Edition: Pro for Workstations ============================================================ Setting the WINDOWS/EDITIONID property of image 5 to "ProfessionalWorkstation". Setting the FLAGS property of image 5 to "ProfessionalWorkstation". Setting the DISPLAYNAME property of image 5 to "Windows 11 Pro for Workstations". Setting the DISPLAYDESCRIPTION property of image 5 to "Windows 11 Pro for Workstations". ============================================================ Creating Edition: Enterprise multi-session ============================================================ Setting the WINDOWS/EDITIONID property of image 6 to "ServerRdsh". Setting the FLAGS property of image 6 to "ServerRdsh". Setting the DISPLAYNAME property of image 6 to "Windows 11 Enterprise multi-session". Setting the DISPLAYDESCRIPTION property of image 6 to "Windows 11 Enterprise multi-session". ============================================================ Creating Edition: IoT Enterprise ============================================================ Setting the WINDOWS/EDITIONID property of image 7 to "IoTEnterprise". Setting the FLAGS property of image 7 to "IoTEnterprise". Setting the DISPLAYNAME property of image 7 to "Windows 11 IoT Enterprise". Setting the DISPLAYDESCRIPTION property of image 7 to "Windows 11 IoT Enterprise". ============================================================ Creating Edition: SE ============================================================ Setting the WINDOWS/EDITIONID property of image 8 to "CloudEdition". Setting the FLAGS property of image 8 to "CloudEdition". Setting the DISPLAYNAME property of image 8 to "Windows 11 SE". Setting the DISPLAYDESCRIPTION property of image 8 to "Windows 11 SE". ============================================================ Rebuilding install.wim . . . ============================================================ "ISOFOLDER\sources\install.wim" original size: 4452638 KiB Using LZX compression with 8 threads Archiving file data: 10 GiB of 10 GiB (100%) done "ISOFOLDER\sources\install.wim" optimized size: 4352675 KiB Space saved: 99963 KiB ============================================================ 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 44 directories) Scanning source tree complete (938 files in 84 directories) Computing directory information complete Image file is 5191696384 bytes (before optimization) Writing 938 files in 84 directories to 25387.1200.230604-1305.ZN_RELEASE_SVC_PROD1_CLIENTMULTI_A64FRE_EN-US.ISO 100% complete Storage optimization saved 24 files, 14200832 bytes (1% of image) After optimization, image file is 5179633664 bytes Space saved because of embedding, sparseness or optimization = 14200832 Done. ============================================================ Removing temporary files . . . ============================================================ Press 0 to exit. changelog looks complicated, everything works fine now on amd64 system with arm64 UUP set
uup-converter v92 - Enhanced workaround for using target image dpx.dll to extract updates cab files for builds 22000+ --- W10UI v10.30 - Added workaround for using target image dpx.dll to extract updates cab files for builds 22000+ - Suppress DISM cleanup output for builds 25380+
if I intentionally don't put certain packages (for example, Microsoft-Windows-Hello-Face-Package-amd64.cab or Microsoft-Windows-TabletPCMath-Package-amd64.cab since I don't need those features), can uup converter still work with the remaining UUP files to create an ISO?
Thanks for the answer. So the UUP fullset is necessary to build the ISO, and debloating is allowed only after the image is created. Well. another reason why I prefer collecting full ESD than full ISO.