Browse Source

20240506

pull/48/head
abbodi1406 1 year ago
parent
commit
ab90596495
  1. 116
      PSFX_MSU/PSFX2MSU.cmd
  2. 7
      PSFX_MSU/README.md
  3. BIN
      PSFX_MSU/bin/imagex_x64.exe
  4. BIN
      PSFX_MSU/bin/imagex_x86.exe
  5. 4
      W10MUI/README.md
  6. 3
      uup-converter-wimlib/CustomAppsList.txt
  7. 4
      uup-converter-wimlib/ReadMe.html
  8. 2
      uup-converter-wimlib/bin/bootmui.txt
  9. 3
      uup-converter-wimlib/bin/bootwim.txt
  10. 4
      uup-converter-wimlib/bin/veData.cmd
  11. 82
      uup-converter-wimlib/convert-UUP.cmd
  12. 3
      uup-converter-wimlib/create_virtual_editions.cmd

116
PSFX_MSU/PSFX2MSU.cmd

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
@setlocal DisableDelayedExpansion
@set uivr=v0.3
@set uivr=v0.4
@echo off
:: Change to 0 to skip adding SSU to the msu file
set IncludeSSU=1
@ -19,7 +19,7 @@ exit /b @@ -19,7 +19,7 @@ exit /b
)
set _dpx=0
set _exd=0
set fail=0
set _fail=0
set DD64create=0
set DD86create=0
set "sdl=dpx.dll ReserveManager.dll TurboStack.dll UpdateAgent.dll UpdateCompression.dll wcp.dll"
@ -35,35 +35,49 @@ if "%~1"=="" set "_args="&goto :NoProgArgs @@ -35,35 +35,49 @@ if "%~1"=="" set "_args="&goto :NoProgArgs
:NoProgArgs
set "SysPath=%SystemRoot%\System32"
set "Path=%SystemRoot%\System32;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\"
set "Path=%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\"
if exist "%SystemRoot%\Sysnative\reg.exe" (
set "SysPath=%SystemRoot%\Sysnative"
set "Path=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%"
set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%"
)
set "xOS=amd64"
if /i "%PROCESSOR_ARCHITECTURE%"=="arm64" set "xOS=arm64"
if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "xOS=x86"
if /i "%PROCESSOR_ARCHITEW6432%"=="amd64" set "xOS=amd64"
if /i "%PROCESSOR_ARCHITEW6432%"=="arm64" set "xOS=arm64"
set "xBT=x64"
if /i "%PROCESSOR_ARCHITECTURE%"=="arm64" set "xBT=x86"
if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "xBT=x86"
if /i "%PROCESSOR_ARCHITEW6432%"=="amd64" set "xBT=x64"
if /i "%PROCESSOR_ARCHITEW6432%"=="arm64" set "xBT=x86"
set "_log=%~dpn0"
set "_work=%~dp0"
set "_work=%_work:~0,-1%"
set _drv=%~d0
set "_temp=%TEMP%"
for /f "skip=2 tokens=2*" %%a in ('reg.exe query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "_dsk=%%b"
if exist "%PUBLIC%\Desktop\desktop.ini" set "_dsk=%PUBLIC%\Desktop"
setlocal EnableDelayedExpansion
if defined _args goto :chkarg
if exist "!_work!\*.AggregatedMetadata*.cab" if exist "!_work!\Windows1*-KB*.cab" if exist "!_work!\Windows1*-KB*.psf" (
if not exist "!_work!\*.AggregatedMetadata*.cab" (goto :continue
) else if not exist "!_work!\Windows1*-KB*.psf" (goto :continue
)
if not exist "!_work!\Windows1*-KB*.cab" if not exist "!_work!\Windows1*-KB*.wim" goto :continue
if exist "!_work!\*DesktopDeployment*.cab" set "_repo=!_work!"
if exist "!_work!\SSU-*-*.cab" set "_repo=!_work!"
if not defined _repo goto :continue
if exist "!_work!\Windows1*-KB*.cab" (set xmf=cab
) else if exist "!_work!\Windows1*-KB*.wim" (set xmf=wim
)
goto :continue
:chkarg
if not defined _args goto :continue
if exist "!_args!\*.AggregatedMetadata*.cab" if exist "!_args!\Windows1*-KB*.cab" if exist "!_args!\Windows1*-KB*.psf" (
if not exist "!_args!\*.AggregatedMetadata*.cab" (goto :continue
) else if not exist "!_args!\Windows1*-KB*.psf" (goto :continue
)
if not exist "!_args!\Windows1*-KB*.cab" if not exist "!_args!\Windows1*-KB*.wim" goto :continue
if exist "!_args!\*DesktopDeployment*.cab" set "_repo=!_args!"
if exist "!_args!\SSU-*-*.cab" set "_repo=!_args!"
if not defined _repo goto :continue
if exist "!_args!\Windows1*-KB*.cab" (set xmf=cab
) else if exist "!_args!\Windows1*-KB*.wim" (set xmf=wim
)
goto :continue
:continue
if %_Debug% equ 0 (
@ -98,34 +112,57 @@ echo The window will be closed when finished @@ -98,34 +112,57 @@ echo The window will be closed when finished
title PSFXv2 MSU Maker %uivr%
if %_Debug% equ 0 if not defined _args @cls
if not defined _repo goto :N_PT
if %xmf%==wim if not exist "!_work!\bin\imagex_%xBT%.exe" goto :E_Bin
pushd "!_repo!"
for /f "delims=" %%# in ('dir /b /a:-d "*.AggregatedMetadata*.cab"') do set "metaf=%%#"
if /i "%metaf%"=="%onf%" (
ren "%metaf%" "org_%metaf%"
set "metaf=org_%metaf%"
)
if %xmf%==cab (
expand.exe -f:LCUCompDB*.xml.cab "%metaf%" . %_Null%
if not exist "LCUCompDB*.xml.cab" goto :E_DB
)
if %xmf%==wim (
if exist "_tMSU\" rmdir /s /q "_tMSU\" %_Nul3%
mkdir "_tMSU"
expand.exe -f:*.AggregatedMetadata*.cab "%metaf%" "_tMSU" %_Null%
if not exist "_tMSU\*.AggregatedMetadata*.cab" goto :E_DB
for /f %%# in ('dir /b /a:-d "_tMSU\*.AggregatedMetadata*.cab"') do expand.exe -f:*.xml "_tMSU\%%#" "_tMSU" %_Null%
if not exist "_tMSU\LCUCompDB*.xml" goto :E_DB
for /f %%# in ('dir /b /a:-d "_tMSU\LCUCompDB*.xml"') do (
%_Null% makecab.exe /D Compress=ON /D CompressionType=MSZIP "_tMSU\%%~n#.xml" "_tMSU\%%~n#.xml.cab"
)
if exist "_tMSU\SSUCompDB*.xml" for /f %%# in ('dir /b /a:-d "_tMSU\SSUCompDB*.xml"') do (
%_Null% makecab.exe /D Compress=ON /D CompressionType=MSZIP "_tMSU\%%~n#.xml" "_tMSU\%%~n#.xml.cab"
)
if not exist "_tMSU\LCUCompDB*.xml.cab" (echo makecab.exe LCUCompDB failed&goto :TheEnd)
del /f /q "_tMSU\*.AggregatedMetadata*.cab" %_Nul3%
copy /y "_tMSU\*.cab" . %_Nul3%
rmdir /s /q "_tMSU\" %_Nul3%
)
for /f %%# in ('dir /b /a:-d "LCUCompDB*.xml.cab"') do set "dblcu=%%#"
for /f "tokens=2 delims=_." %%# in ('echo %dblcu%') do set "kbn=%%#"
if not exist "Windows1*%kbn%*.cab" set xtn=cab&goto :E_KB
if not exist "Windows1*%kbn%*.%xmf%" set xtn=%xmf%&goto :E_KB
if not exist "Windows1*%kbn%*.psf" set xtn=psf&goto :E_KB
for /f "tokens=3 delims=-_" %%# in ('dir /b /a:-d "Windows1*%kbn%*.cab"') do set "bit=%%~n#"
for /f "tokens=3 delims=-_" %%# in ('dir /b /a:-d "Windows1*%kbn%*.psf"') do set "bit=%%~n#"
if exist "Windows1*%kbn%*%bit%*.msu" goto :N_MS
for /f "delims=" %%# in ('dir /b /a:-d "Windows1*%kbn%*%bit%*.cab"') do set "_sCAB=%%#"
for /f "delims=" %%# in ('dir /b /a:-d "Windows1*%kbn%*%bit%*.%xmf%"') do set "_sCAB=%%#"
for /f "delims=" %%# in ('dir /b /a:-d "Windows1*%kbn%*%bit%*.psf"') do set "_sPSF=%%#"
set "kbf=Windows10.0-%kbn%-%bit%"
if /i "%_sCAB:~0,10%"=="Windows11." set "kbf=Windows11.0-%kbn%-%bit%"
if /i "%_sCAB:~0,10%"=="Windows12." set "kbf=Windows12.0-%kbn%-%bit%"
if exist "SSU-*%bit%*.cab" (
for /f "tokens=2 delims=-" %%# in ('dir /b /a:-d "SSU-*%bit%*.cab"') do set "suf=SSU-%%#-%bit%.cab"
for /f "delims=" %%# in ('dir /b /a:-d "SSU-*%bit%*.cab"') do set "_sSSU=%%#"
expand.exe -f:SSUCompDB*.xml.cab "%metaf%" . %_Null%
if exist "SSU*-express.xml.cab" del /f /q "SSU*-express.xml.cab"
if not exist "SSUCompDB*.xml.cab" set IncludeSSU=0
) else (
set IncludeSSU=0
)
if %IncludeSSU% equ 1 for /f %%# in ('dir /b /a:-d "SSUCompDB*.xml.cab"') do set "dbssu=%%#"
if %IncludeSSU% equ 1 if not exist "SSUCompDB*.xml.cab" (
expand.exe -f:SSUCompDB*.xml.cab "%metaf%" . %_Null%
if exist "SSU*-express.xml.cab" del /f /q "SSU*-express.xml.cab"
)
if exist "SSUCompDB*.xml.cab" (for /f %%# in ('dir /b /a:-d "SSUCompDB*.xml.cab"') do set "dbssu=%%#") else (set IncludeSSU=0)
set "_sDDD=DesktopDeployment_x86.cab"
if exist "*DesktopDeployment*.cab" (
for /f "delims=" %%# in ('dir /b /a:-d "*DesktopDeployment*.cab" ^|find /i /v "%_sDDD%"') do set "_sDDC=%%#"
@ -135,13 +172,15 @@ if not defined _sDDC ( @@ -135,13 +172,15 @@ if not defined _sDDC (
call set "_sDDC=DesktopDeployment.cab"
call :DDCAB
)
if %fail% equ 1 goto :TheEnd
if %_fail% equ 1 goto :TheEnd
if defined suf if /i not %bit%==x86 if not exist "%_sDDD%" call :DDC86
call :DDF %onf%
(echo "%dblcu%"
if %IncludeSSU% equ 1 echo "%dbssu%"
)>>zzz.ddf
%_Null% makecab.exe /F zzz.ddf /D Compress=ON /D CompressionType=MSZIP
if %ERRORLEVEL% neq 0 (echo makecab.exe %onf% failed&goto :TheEnd)
if %xmf%==wim goto :DDWIM
call :DDF %kbf%.msu
(echo "%_sDDC%" "DesktopDeployment.cab"
if exist "%_sDDD%" echo "%_sDDD%" "DesktopDeployment_x86.cab"
@ -151,6 +190,26 @@ echo "%_sCAB%" "%kbf%.cab" @@ -151,6 +190,26 @@ echo "%_sCAB%" "%kbf%.cab"
echo "%_sPSF%" "%kbf%.psf"
)>>zzz.ddf
%_Null% makecab.exe /F zzz.ddf /D Compress=OFF
if %ERRORLEVEL% neq 0 (echo makecab.exe %kbf%.msu failed&goto :TheEnd)
echo.
echo Finished
echo.
goto :TheEnd
:DDWIM
echo.
echo Creating: %kbf%.msu
if exist "_tWIM\" rmdir /s /q "_tWIM\" %_Nul3%
mkdir "_tWIM"
copy /y "%_sDDC%" "_tWIM\DesktopDeployment.cab" %_Nul3%
if exist "%_sDDD%" copy /y "%_sDDD%" "_tWIM\DesktopDeployment_x86.cab" %_Nul3%
copy /y "%onf%" "_tWIM\%onf%" %_Nul3%
if %IncludeSSU% equ 1 copy /y "%_sSSU%" "_tWIM\%suf%" %_Nul3%
copy /y "%_sCAB%" "_tWIM\%kbf%.wim" %_Nul3%
copy /y "%_sPSF%" "_tWIM\%kbf%.psf" %_Nul3%
:: %_Nul3% dism.exe /Capture-Image /ImageFile:%kbf%.msu /CaptureDir:_tWIM\ /Name:content /Compress:none /noacl:all
%_Nul3% "!_work!\bin\imagex_%xBT%.exe" /CAPTURE _tWIM\ %kbf%.msu content /COMPRESS none /NOACL ALL /NOTADMIN /TEMP "!_temp!"
if %ERRORLEVEL% neq 0 (echo wim capture %kbf%.msu failed&goto :TheEnd)
echo.
echo Finished
echo.
@ -167,7 +226,7 @@ expand.exe -f:* %_sSSU% _tmpSSU %_Null% || ( @@ -167,7 +226,7 @@ expand.exe -f:* %_sSSU% _tmpSSU %_Null% || (
echo.
echo Provide ready DesktopDeployment.cab and try again
echo.
set fail=1
set _fail=1
goto :eof
)
set xbt=%bit%
@ -234,8 +293,7 @@ exit /b @@ -234,8 +293,7 @@ exit /b
:dodpx
set _nat=0
set _wow=0
if /i %bit%==%xOS% set _nat=1
if /i %bit%==x64 if /i %xOS%==amd64 set _nat=1
if /i %bit%==%xBT% set _nat=1
if %_nat% equ 0 set _wow=1
if exist "!_repo!\dpx.dll" if not exist "!_repo!\expand.exe" (
@ -262,6 +320,14 @@ if exist "!_repo!\dpx.dll" ( @@ -262,6 +320,14 @@ if exist "!_repo!\dpx.dll" (
)
exit /b
:E_Bin
echo.
echo %_err%
echo.
echo Required file "bin\imagex_%xBT%.exe" is missing
echo.
goto :TheEnd
:E_KB
echo.
echo %_err%
@ -308,6 +374,8 @@ if %_dpx% equ 1 ( @@ -308,6 +374,8 @@ if %_dpx% equ 1 (
if exist "dpx.dll" del /f /q "dpx.dll" %_Nul3%
if exist "expand.exe" del /f /q "expand.exe" %_Nul3%
)
if exist "_tWIM\" rmdir /s /q "_tWIM\" %_Nul3%
if exist "_tMSU\" rmdir /s /q "_tMSU\" %_Nul3%
%_Exit%
%_Pause%
goto :eof

7
PSFX_MSU/README.md

@ -6,7 +6,8 @@ @@ -6,7 +6,8 @@
## Requirements
- Mandatory : LCU cab and psf files
- Mandatory : LCU psf file
- Mandatory : LCU cab or wim file
- Mandatory : AggregatedMetadata cab file
- Mandatory : DesktopDeployment cab file or SSU cab file
- Recommended: DesktopDeployment cab file and SSU cab file
@ -82,3 +83,7 @@ the installed update will be missing the reverse differentials @@ -82,3 +83,7 @@ the installed update will be missing the reverse differentials
New:
add the msu file directly, even on current running live OS
the installation process will generate the reverse differentials
- Windows 11 build 25336 and later introduced new format for LCU msu container
it's now a wim file instead cab file, and the inner manifests file is also wim instead cab

BIN
PSFX_MSU/bin/imagex_x64.exe

Binary file not shown.

BIN
PSFX_MSU/bin/imagex_x86.exe

Binary file not shown.

4
W10MUI/README.md

@ -74,6 +74,10 @@ ______________________________ @@ -74,6 +74,10 @@ ______________________________
Windows ADK (Deployment Tools & Preinstallation Environment).
Notice:
if full ISO url did not work, replace `software-download.microsoft.com/download`
with `software-static.download.prss.microsoft.com/dbazure`
<details><summary>ADK Links</summary>

3
uup-converter-wimlib/CustomAppsList.txt

@ -12,13 +12,12 @@ @@ -12,13 +12,12 @@
Microsoft.WindowsStore_8wekyb3d8bbwe
Microsoft.StorePurchaseApp_8wekyb3d8bbwe
Microsoft.SecHealthUI_8wekyb3d8bbwe
Microsoft.VCLibs.140.00_8wekyb3d8bbwe
Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
# Microsoft.Windows.Photos_8wekyb3d8bbwe
# Microsoft.WindowsCamera_8wekyb3d8bbwe
# Microsoft.WindowsNotepad_8wekyb3d8bbwe
# Microsoft.Paint_8wekyb3d8bbwe
# Microsoft.WindowsTerminal_8wekyb3d8bbwe
# Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
# MicrosoftWindows.Client.WebExperience_cw5n1h2txyewy
# Microsoft.WindowsAlarms_8wekyb3d8bbwe
# Microsoft.WindowsCalculator_8wekyb3d8bbwe

4
uup-converter-wimlib/ReadMe.html

@ -230,9 +230,9 @@ @@ -230,9 +230,9 @@
<b>AppsLevel</b><br /><br />
Control added Apps for Client editions (except Team).<br /><br />
Set to <strong>0</strong> to add all referenced Apps<br />
Set to <strong>1</strong> to add Store, Security Health only<br />
Set to <strong>1</strong> to add Store, Security Health, App Installer<br />
Set to <strong>2</strong> to add level 1 apps + Photos, Camera, Notepad, Paint<br />
Set to <strong>3</strong> to add level 2 apps + Terminal, App Installer, Widgets<br />
Set to <strong>3</strong> to add level 2 apps + Terminal, Widgets, Mail / Outlook, Clipchamp<br />
Set to <strong>4</strong> to add level 3 apps + Media apps (Music, Video, Codecs, Phone Link) / not for N editions
</li>
<br />

2
uup-converter-wimlib/bin/bootmui.txt

@ -3,6 +3,7 @@ arunres.dll.mui @@ -3,6 +3,7 @@ arunres.dll.mui
cmisetup.dll.mui
compatctrl.dll.mui
compatprovider.dll.mui
deployprovider.dll.mui
dism.exe.mui
dismapi.dll.mui
dismcore.dll.mui
@ -13,6 +14,7 @@ input.dll.mui @@ -13,6 +14,7 @@ input.dll.mui
logprovider.dll.mui
MediaSetupUIMgr.dll.mui
nlsbres.dll.mui
osimageprovider.dll.mui
pnpibs.dll.mui
reagent.adml
reagent.dll.mui

3
uup-converter-wimlib/bin/bootwim.txt

@ -110,8 +110,9 @@ WinDlp.dll @@ -110,8 +110,9 @@ WinDlp.dll
winsetup.dll
wpx.dll
xmllite.dll
deployprovider.dll
osimageprovider.dll
pnppropmig.dll
testplugin.dll
UnattendMgr.dll
UpdateCompression.dll
WinSetupBoot.hiv

4
uup-converter-wimlib/bin/veData.cmd

@ -10,8 +10,8 @@ set "channel=OEM" @@ -10,8 +10,8 @@ set "channel=OEM"
set "ProductId=00486-90000-00000-AAOEM"
set "OSProductContentId=43c78df7-53a1-cf2a-da31-7b8945b3044b"
set "OSProductPfn=Microsoft.Windows.205.X23-15042_8wekyb3d8bbwe"
set "DigitalProductId="
set "DigitalProductId4="
set "DigitalProductId=A40000000300000030303438362D39303030302D30303030302D41414F454D00051300005B4E695D5832332D3135303432000000051300000000BCCCD991AFD48641080000000000969E2566E77E6C8F0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F2A0EFC6"
set "DigitalProductId4=F804000004000000300033003600310032002D00300034003800360039002D003000300030002D003000300030003000300030002D00300032002D0031003000330033002D00320036003100300030002E0030003000300030002D003100310032003200300032003400000000000000000000000000000000000000000000000000000000000000350061003800350033003000300061002D0062006600630065002D0034003700340066002D0061006300300037002D0061003300300039003800330065003300660062003900300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049006F00540045006E007400650072007000720069007300650053004B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051300000000BCCCD991AFD486410800B4FCD7641FA390E5D9061EF16F5399BD255E8E96E125A2E4CD363528E19E8D05765FDDC2238529058FD62928FF3789176AE1E7D39096EB5C98C05AED7DF4F4935B004E0069005D005800320033002D00310035003000340032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004F0045004D003A0044004D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004F0045004D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
set "Print=1"
set "Insecure=0"
set "DumpLv=0"

82
uup-converter-wimlib/convert-UUP.cmd

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<!-- : Begin batch script
@setlocal DisableDelayedExpansion
@set uivr=v103
@set uivr=v104
@echo off
:: Change to 1 to enable debug mode
set _Debug=0
@ -89,9 +89,9 @@ set SkipApps=0 @@ -89,9 +89,9 @@ set SkipApps=0
:: # Control added Apps for Client editions (except Team)
:: 0 / all referenced Apps
:: 1 / only Store, Security Health
:: 1 / only Store, Security Health, App Installer
:: 2 / level 1 + Photos, Camera, Notepad, Paint
:: 3 / level 2 + Terminal, App Installer, Widgets, Mail
:: 3 / level 2 + Terminal, Widgets, Mail / Outlook, Clipchamp
:: 4 / level 3 + Media apps (Music, Video, Codecs, Phone Link) / not for N editions
set AppsLevel=0
@ -911,7 +911,8 @@ if !_ESDSrv%%#! equ 1 ( @@ -911,7 +911,8 @@ if !_ESDSrv%%#! equ 1 (
)
)
if %_updexist% equ 1 if %_build% geq 22000 if exist "%SysPath%\ucrtbase.dll" if not exist "bin\dpx.dll" if not exist "temp\dpx.dll" call :uups_dpx
if %_reMSU% equ 1 if %SkipLCUmsu% equ 0 call :uups_msu
if %_reMSU% equ 1 if %_build% geq 25336 call :uups_msu
if %_reMSU% equ 1 if %_build% lss 25336 if %SkipLCUmsu% equ 0 call :uups_msu
if exist "!_cabdir!\" rmdir /s /q "!_cabdir!\"
del /f /q %_dLog%\* %_Nul3%
if not exist "%_dLog%\" mkdir "%_dLog%" %_Nul3%
@ -1107,6 +1108,7 @@ for %%# in (ru-ru,zh-cn,zh-tw,zh-hk) do if /i !langid%%A!==%%# set "_os%%A=!_oNa @@ -1107,6 +1108,7 @@ for %%# in (ru-ru,zh-cn,zh-tw,zh-hk) do if /i !langid%%A!==%%# set "_os%%A=!_oNa
>nul chcp %oemcp%
del /f /q bin\info*.txt
if %_build% geq 21382 if exist "!_UUP!\*.AggregatedMetadata*.cab" if exist "!_UUP!\*Windows1*-KB*.cab" if exist "!_UUP!\*Windows1*-KB*.psf" set _reMSU=1
if %_build% geq 25336 if exist "!_UUP!\*.AggregatedMetadata*.cab" if exist "!_UUP!\*Windows1*-KB*.wim" if exist "!_UUP!\*Windows1*-KB*.psf" set _reMSU=1
if %_build% geq 22563 if exist "!_UUP!\*.AggregatedMetadata*.cab" (
if exist "!_UUP!\*.*xbundle" set _IPA=1
if exist "!_UUP!\*.appx" set _IPA=1
@ -1489,16 +1491,29 @@ set "_MSUdll=dpx.dll ReserveManager.dll TurboStack.dll UpdateAgent.dll UpdateCom @@ -1489,16 +1491,29 @@ set "_MSUdll=dpx.dll ReserveManager.dll TurboStack.dll UpdateAgent.dll UpdateCom
set "_MSUonf=onepackage.AggregatedMetadata.cab"
set "_MSUssu="
set IncludeSSU=1
set xmf=cab
set _mcfail=0
for /f "delims=" %%# in ('dir /b /a:-d "*.AggregatedMetadata*.cab"') do set "_MSUmeta=%%#"
if exist "_tMSU\" rmdir /s /q "_tMSU\" %_Nul3%
mkdir "_tMSU"
if %_build% lss 25336 (
expand.exe -f:LCUCompDB*.xml.cab "%_MSUmeta%" "_tMSU" %_Null%
if not exist "_tMSU\LCUCompDB*.xml.cab" (
echo.
echo LCUCompDB file is missing from AggregatedMetadata, skip operation.
(echo.&echo LCUCompDB file is missing from AggregatedMetadata)>>"!logerr!"
goto :msu_uups
if not exist "_tMSU\LCUCompDB*.xml.cab" goto :msu_uups
)
if %_build% geq 25336 (
expand.exe -f:*.AggregatedMetadata*.cab "%_MSUmeta%" "_tMSU" %_Null%
if not exist "_tMSU\*.AggregatedMetadata*.cab" goto :msu_uups
for /f %%# in ('dir /b /a:-d "_tMSU\*.AggregatedMetadata*.cab"') do expand.exe -f:*.xml "_tMSU\%%#" "_tMSU" %_Null%
if not exist "_tMSU\LCUCompDB*.xml" goto :msu_uups
for /f %%# in ('dir /b /a:-d "_tMSU\LCUCompDB*.xml"') do (
%_Null% makecab.exe /D Compress=ON /D CompressionType=MSZIP "_tMSU\%%~n#.xml" "_tMSU\%%~n#.xml.cab"
)
if exist "_tMSU\SSUCompDB*.xml" for /f %%# in ('dir /b /a:-d "_tMSU\SSUCompDB*.xml"') do (
%_Null% makecab.exe /D Compress=ON /D CompressionType=MSZIP "_tMSU\%%~n#.xml" "_tMSU\%%~n#.xml.cab"
)
if not exist "_tMSU\LCUCompDB*.xml.cab" goto :msu_uups
del /f /q "_tMSU\*.xml" %_Nul3%
set xmf=wim
)
for /f %%# in ('dir /b /a:-d "_tMSU\LCUCompDB*.xml.cab"') do set "_MSUcdb=%%#"
for /f "tokens=2 delims=_." %%# in ('echo %_MSUcdb%') do set "_MSUkbn=%%#"
@ -1507,10 +1522,10 @@ echo. @@ -1507,10 +1522,10 @@ echo.
echo LCU %_MSUkbn% msu file already exist, skip operation.
goto :msu_uups
)
if not exist "*Windows1*%_MSUkbn%*%arch%*.cab" (
if not exist "*Windows1*%_MSUkbn%*%arch%*.%xmf%" (
echo.
echo LCU %_MSUkbn% cab file is missing, skip operation.
(echo.&echo LCU %_MSUkbn% cab file is missing)>>"!logerr!"
echo LCU %_MSUkbn% %xmf% file is missing, skip operation.
(echo.&echo LCU %_MSUkbn% %xmf% file is missing)>>"!logerr!"
goto :msu_uups
)
if not exist "*Windows1*%_MSUkbn%*%arch%*.psf" (
@ -1519,7 +1534,7 @@ echo LCU %_MSUkbn% psf file is missing, skip operation. @@ -1519,7 +1534,7 @@ echo LCU %_MSUkbn% psf file is missing, skip operation.
(echo.&echo LCU %_MSUkbn% psf file is missing)>>"!logerr!"
goto :msu_uups
)
for /f "delims=" %%# in ('dir /b /a:-d "*Windows1*%_MSUkbn%*%arch%*.cab"') do set "_MSUcab=%%#"
for /f "delims=" %%# in ('dir /b /a:-d "*Windows1*%_MSUkbn%*%arch%*.%xmf%"') do set "_MSUcab=%%#"
for /f "delims=" %%# in ('dir /b /a:-d "*Windows1*%_MSUkbn%*%arch%*.psf"') do set "_MSUpsf=%%#"
set "_MSUkbf=Windows10.0-%_MSUkbn%-%arch%"
echo %_MSUcab%| findstr /i "Windows11\." %_Nul1% && set "_MSUkbf=Windows11.0-%_MSUkbn%-%arch%"
@ -1527,13 +1542,14 @@ echo %_MSUcab%| findstr /i "Windows12\." %_Nul1% && set "_MSUkbf=Windows12.0-%_M @@ -1527,13 +1542,14 @@ echo %_MSUcab%| findstr /i "Windows12\." %_Nul1% && set "_MSUkbf=Windows12.0-%_M
if exist "SSU-*%arch%*.cab" (
for /f "tokens=2 delims=-" %%# in ('dir /b /a:-d "SSU-*%arch%*.cab"') do set "_MSUtsu=SSU-%%#-%arch%.cab"
for /f "delims=" %%# in ('dir /b /a:-d "SSU-*%arch%*.cab"') do set "_MSUssu=%%#"
expand.exe -f:SSUCompDB*.xml.cab "%_MSUmeta%" "_tMSU" %_Null%
if exist "_tMSU\SSU*-express.xml.cab" del /f /q "_tMSU\SSU*-express.xml.cab"
if not exist "_tMSU\SSUCompDB*.xml.cab" set IncludeSSU=0
) else (
set IncludeSSU=0
)
if %IncludeSSU% equ 1 for /f %%# in ('dir /b /a:-d "_tMSU\SSUCompDB*.xml.cab"') do set "_MSUsdb=%%#"
if %IncludeSSU% equ 1 if not exist "_tMSU\SSUCompDB*.xml.cab" (
expand.exe -f:SSUCompDB*.xml.cab "%_MSUmeta%" "_tMSU" %_Null%
if exist "_tMSU\SSU*-express.xml.cab" del /f /q "_tMSU\SSU*-express.xml.cab"
)
if exist "_tMSU\SSUCompDB*.xml.cab" (for /f %%# in ('dir /b /a:-d "_tMSU\SSUCompDB*.xml.cab"') do set "_MSUsdb=%%#") else (set IncludeSSU=0)
set "_MSUddd=DesktopDeployment_x86.cab"
if exist "*DesktopDeployment*.cab" (
for /f "delims=" %%# in ('dir /b /a:-d "*DesktopDeployment*.cab" ^|find /i /v "%_MSUddd%"') do set "_MSUddc=%%#"
@ -1558,6 +1574,7 @@ call :dk_color1 %Red% "makecab.exe %_MSUonf% failed, skip operation." 4 @@ -1558,6 +1574,7 @@ call :dk_color1 %Red% "makecab.exe %_MSUonf% failed, skip operation." 4
(echo.&echo makecab.exe %_MSUonf% failed)>>"!logerr!"
goto :msu_uups
)
if %_build% geq 25336 goto :msu_wim
call :crDDF %_MSUkbf%.msu
(echo "%_MSUddc%" "DesktopDeployment.cab"
if /i not %arch%==x86 echo "%_MSUddd%" "DesktopDeployment_x86.cab"
@ -1570,11 +1587,29 @@ echo "%_MSUpsf%" "%_MSUkbf%.psf" @@ -1570,11 +1587,29 @@ echo "%_MSUpsf%" "%_MSUkbf%.psf"
if %ERRORLEVEL% neq 0 (
call :dk_color1 %Red% "makecab.exe %_MSUkbf%.msu failed, skip operation." 4
(echo.&echo makecab.exe %_MSUkbf%.msu failed)>>"!logerr!"
)
goto :msu_uups
:msu_wim
echo.
echo Creating: %_MSUkbf%.msu
if exist "_tWIM\" rmdir /s /q "_tWIM\" %_Nul3%
mkdir "_tWIM"
copy /y "%_MSUddc%" "_tWIM\DesktopDeployment.cab" %_Nul3%
if /i not %arch%==x86 copy /y "%_MSUddd%" "_tWIM\DesktopDeployment_x86.cab" %_Nul3%
copy /y "_tMSU\%_MSUonf%" "_tWIM\%_MSUonf%" %_Nul3%
if %IncludeSSU% equ 1 copy /y "%_MSUssu%" "_tWIM\%_MSUtsu%" %_Nul3%
copy /y "%_MSUcab%" "_tWIM\%_MSUkbf%.wim" %_Nul3%
copy /y "%_MSUpsf%" "_tWIM\%_MSUkbf%.psf" %_Nul3%
wimlib-imagex.exe capture _tWIM\ %_MSUkbf%.msu content --compress=none --nocheck --no-acls %_Nul3%
if %ERRORLEVEL% neq 0 (
call :dk_color1 %Red% "capture %_MSUkbf%.msu failed, skip operation." 4
(echo.&echo capture %_MSUkbf%.msu failed)>>"!logerr!"
)
:msu_uups
if exist "zzz.ddf" del /f /q "zzz.ddf"
if exist "_tWIM\" rmdir /s /q "_tWIM\" %_Nul3%
if exist "_tSSU\" rmdir /s /q "_tSSU\" %_Nul3%
rmdir /s /q "_tMSU\" %_Nul3%
popd
@ -2331,6 +2366,7 @@ goto :eof @@ -2331,6 +2366,7 @@ goto :eof
if exist "%~1\Microsoft-Windows-SV2Moment4Enablement-Package~*.mum" set "_fixSV=22631"&set "_fixEP=22631"
if exist "%~1\Microsoft-Windows-23H2Enablement-Package~*.mum" set "_fixSV=22631"&set "_fixEP=22631"
if exist "%~1\Microsoft-Windows-SV2BetaEnablement-Package~*.mum" set "_fixSV=22635"&set "_fixEP=22635"
if exist "%~1\Microsoft-Windows-Ge-Client-Server-Beta-Version-Enablement-Package~*.mum" set "_fixSV=26120"&set "_fixEP=26120"
goto :eof
:inrenupd
@ -3832,15 +3868,15 @@ goto :eof @@ -3832,15 +3868,15 @@ goto :eof
:postVars
set "_wsr=Windows Server 2022"
set "pub=_8wekyb3d8bbwe"
set "_appBase=Microsoft.WindowsStore%pub%,Microsoft.StorePurchaseApp%pub%,Microsoft.SecHealthUI%pub%,microsoft.windowscommunicationsapps%pub%,Microsoft.WindowsCalculator%pub%,Microsoft.Windows.Photos%pub%,Microsoft.WindowsMaps%pub%,Microsoft.WindowsCamera%pub%,Microsoft.WindowsFeedbackHub%pub%,Microsoft.Getstarted%pub%,Microsoft.WindowsAlarms%pub%"
set "_appClnt=Microsoft.WindowsNotepad%pub%,Microsoft.WindowsTerminal%pub%,Microsoft.DesktopAppInstaller%pub%,Microsoft.Paint%pub%,MicrosoftWindows.Client.WebExperience_cw5n1h2txyewy,Microsoft.People%pub%,Microsoft.ScreenSketch%pub%,Microsoft.MicrosoftStickyNotes%pub%,Microsoft.XboxIdentityProvider%pub%,Microsoft.XboxSpeechToTextOverlay%pub%,Microsoft.XboxGameOverlay%pub%,OutlookForWindows%pub%,MicrosoftTeams%pub%,MSTeams%pub%"
set "_appBase=Microsoft.WindowsStore%pub%,Microsoft.StorePurchaseApp%pub%,Microsoft.SecHealthUI%pub%,Microsoft.DesktopAppInstaller%pub%,microsoft.windowscommunicationsapps%pub%,Microsoft.OutlookForWindows%pub%,Microsoft.WindowsCalculator%pub%,Microsoft.Windows.Photos%pub%,Microsoft.WindowsMaps%pub%,Microsoft.WindowsCamera%pub%,Microsoft.WindowsFeedbackHub%pub%,Microsoft.Getstarted%pub%,Microsoft.WindowsAlarms%pub%"
set "_appClnt=Microsoft.WindowsNotepad%pub%,Microsoft.WindowsTerminal%pub%,Microsoft.Paint%pub%,MicrosoftWindows.Client.WebExperience_cw5n1h2txyewy,Microsoft.People%pub%,Microsoft.ScreenSketch%pub%,Microsoft.MicrosoftStickyNotes%pub%,Microsoft.XboxIdentityProvider%pub%,Microsoft.XboxSpeechToTextOverlay%pub%,Microsoft.XboxGameOverlay%pub%,Clipchamp.Clipchamp_yxz26nhyzhsrt,MicrosoftTeams%pub%,MSTeams%pub%"
set "_appCodec=Microsoft.WebMediaExtensions%pub%,Microsoft.RawImageExtension%pub%,Microsoft.HEIFImageExtension%pub%,Microsoft.HEVCVideoExtension%pub%,Microsoft.VP9VideoExtensions%pub%,Microsoft.WebpImageExtension%pub%,Microsoft.DolbyAudioExtension%pub%,Microsoft.AVCEncoderVideoExtension%pub%,Microsoft.MPEG2VideoExtension%pub%"
set "_appMedia=Microsoft.ZuneMusic%pub%,Microsoft.ZuneVideo%pub%,Microsoft.WindowsSoundRecorder%pub%,Microsoft.GamingApp%pub%,Microsoft.XboxGamingOverlay%pub%,Microsoft.Xbox.TCUI%pub%,Microsoft.YourPhone%pub%,Clipchamp.Clipchamp_yxz26nhyzhsrt,Microsoft.Windows.DevHome%pub%"
set "_appMedia=Microsoft.ZuneMusic%pub%,Microsoft.ZuneVideo%pub%,Microsoft.WindowsSoundRecorder%pub%,Microsoft.GamingApp%pub%,Microsoft.XboxGamingOverlay%pub%,Microsoft.Xbox.TCUI%pub%,Microsoft.YourPhone%pub%,Microsoft.Windows.DevHome%pub%"
set "_appPPIP=Microsoft.MicrosoftPowerBIForWindows%pub%,microsoft.microsoftskydrive%pub%,Microsoft.MicrosoftTeamsforSurfaceHub%pub%,MicrosoftCorporationII.MailforSurfaceHub%pub%,Microsoft.Whiteboard%pub%,Microsoft.SkypeApp_kzf8qxf38zg5c"
set "_appMin1=Microsoft.WindowsStore%pub%,Microsoft.StorePurchaseApp%pub%,Microsoft.SecHealthUI%pub%"
set "_appMin1=Microsoft.WindowsStore%pub%,Microsoft.StorePurchaseApp%pub%,Microsoft.SecHealthUI%pub%,Microsoft.DesktopAppInstaller%pub%"
set "_appMin2=Microsoft.Windows.Photos%pub%,Microsoft.WindowsCamera%pub%,Microsoft.WindowsNotepad%pub%,Microsoft.Paint%pub%"
set "_appMin3=Microsoft.WindowsTerminal%pub%,Microsoft.DesktopAppInstaller%pub%,microsoft.windowscommunicationsapps%pub%,MicrosoftWindows.Client.WebExperience_cw5n1h2txyewy"
set "_appMin4=%_appCodec%,Microsoft.ZuneMusic%pub%,Microsoft.ZuneVideo%pub%,Microsoft.YourPhone%pub%,Clipchamp.Clipchamp_yxz26nhyzhsrt"
set "_appMin3=Microsoft.WindowsTerminal%pub%,MicrosoftWindows.Client.WebExperience_cw5n1h2txyewy,microsoft.windowscommunicationsapps%pub%,Microsoft.OutlookForWindows%pub%,Clipchamp.Clipchamp_yxz26nhyzhsrt"
set "_appMin4=%_appCodec%,Microsoft.ZuneMusic%pub%,Microsoft.ZuneVideo%pub%,Microsoft.YourPhone%pub%"
set ksub=SOFTWIM
set ERRTEMP=
set PREPARED=0

3
uup-converter-wimlib/create_virtual_editions.cmd

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<!-- : Begin batch script
@setlocal DisableDelayedExpansion
@set uivr=v100
@set uivr=v104
@echo off
:: ### Creation Method ###
::
@ -673,7 +673,6 @@ if %modded% equ 1 (goto :ISOCREATE) else (goto :E_None) @@ -673,7 +673,6 @@ if %modded% equ 1 (goto :ISOCREATE) else (goto :E_None)
:doData
if defined _term exit /b
if /i %1==IoTEnterpriseSK (
if %UseDism% neq 1 exit /b
if %_build% lss 25193 exit /b
)
if /i %1==IoTEnterpriseK (

Loading…
Cancel
Save