Browse Source

20230510

pull/27/head
abbodi1406 2 years ago
parent
commit
e85af6c4c2
  1. BIN
      ESD2WIM-WIM2ESD/bin/bin64/libwim-15.dll
  2. BIN
      ESD2WIM-WIM2ESD/bin/bin64/wimlib-imagex.exe
  3. BIN
      ESD2WIM-WIM2ESD/bin/libwim-15.dll
  4. BIN
      ESD2WIM-WIM2ESD/bin/wimlib-imagex.exe
  5. 295
      W10MUI/Updates/W10UI.cmd
  6. 3
      W10UI/README.md
  7. 6
      W10UI/W10UI.cmd
  8. BIN
      esd-decrypter-wimlib/bin/bin64/libwim-15.dll
  9. BIN
      esd-decrypter-wimlib/bin/bin64/wimlib-imagex.exe
  10. BIN
      esd-decrypter-wimlib/bin/libwim-15.dll
  11. BIN
      esd-decrypter-wimlib/bin/wimlib-imagex.exe
  12. 8
      esd-decrypter-wimlib/decrypt.cmd
  13. BIN
      uup-converter-wimlib/bin/bin64/libwim-15.dll
  14. BIN
      uup-converter-wimlib/bin/bin64/wimlib-imagex.exe
  15. BIN
      uup-converter-wimlib/bin/libwim-15.dll
  16. BIN
      uup-converter-wimlib/bin/wimlib-imagex.exe
  17. 6
      uup-converter-wimlib/convert-UUP.cmd

BIN
ESD2WIM-WIM2ESD/bin/bin64/libwim-15.dll

Binary file not shown.

BIN
ESD2WIM-WIM2ESD/bin/bin64/wimlib-imagex.exe

Binary file not shown.

BIN
ESD2WIM-WIM2ESD/bin/libwim-15.dll

Binary file not shown.

BIN
ESD2WIM-WIM2ESD/bin/wimlib-imagex.exe

Binary file not shown.

295
W10MUI/Updates/W10UI.cmd

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
@setlocal DisableDelayedExpansion
@set uiv=v10.25
@set uiv=v10.27
@echo off
:: enable debug mode, you must also set target and repo (if updates are not beside the script)
set _Debug=0
@ -136,7 +136,6 @@ for /f "skip=2 tokens=2*" %%a in ('reg.exe query "HKCU\Software\Microsoft\Window @@ -136,7 +136,6 @@ for /f "skip=2 tokens=2*" %%a in ('reg.exe query "HKCU\Software\Microsoft\Window
if exist "%PUBLIC%\Desktop\desktop.ini" set "_dsk=%PUBLIC%\Desktop"
set psfnet=0
if exist "%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\ngen.exe" set psfnet=1
if exist "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\ngen.exe" set psfnet=1
if %_pwsh% equ 0 set psfnet=0
for %%# in (E F G H I J K L M N O P Q R S T U V W X Y Z) do (
set "_adr%%#=%%#"
@ -386,11 +385,42 @@ if %_init%==1 (goto :check) else (goto :mainmenu) @@ -386,11 +385,42 @@ if %_init%==1 (goto :check) else (goto :mainmenu)
:check
if /i "!target!"=="%SystemDrive%" (
if /i %xOS%==x86 (set arch=x86) else if /i %xOS%==amd64 (set arch=x64) else (set arch=arm64)
set _build=%winbuild%
reg.exe query %_SxS% /v W10UIclean %_Nul3% && (set onlineclean=1&set online=1&set cleanup=1)
reg.exe query %_SxS% /v W10UIrebase %_Nul3% && (set onlineclean=1&set online=1&set cleanup=1&set resetbase=1)
reg.exe query %_SxS% /v W10UIclean %_Nul3% && (set onlineclean=1)
reg.exe query %_SxS% /v W10UIrebase %_Nul3% && (set onlineclean=1)
)
if defined onlineclean goto :main2board
if not defined onlineclean goto :main1board
:main0board
set _elr=0
@cls
echo ======================= W10UI %uiv% ==========================
echo.
echo Detected pending "Cleanup System Image" for Current OS:
echo.
echo [1] Execute Cleanup
echo.
echo [2] Skip Cleanup and continue
echo.
echo ============================================================
choice /c 129 /n /m "Choose a menu option, or press 9 to exit: "
set _elr=%errorlevel%
if %_elr%==3 goto :eof
if %_elr%==2 (
set onlineclean=
reg.exe delete %_SxS% /v W10UIclean /f %_Nul3%
reg.exe delete %_SxS% /v W10UIrebase /f %_Nul3%
goto :main1board
)
if %_elr%==1 (
reg.exe query %_SxS% /v W10UIclean %_Nul3% && (set online=1&set cleanup=1)
reg.exe query %_SxS% /v W10UIrebase %_Nul3% && (set online=1&set cleanup=1&set resetbase=1)
goto :main2board
)
goto :main0board
:main1board
call :counter
set "brep=!repo!"
if %_sum%==0 set "repo="
@ -657,12 +687,19 @@ if !skip!==1 (set /a _sum-=1&if %msuchk% equ 1 (set /a _msu-=1&goto :eof) else ( @@ -657,12 +687,19 @@ if !skip!==1 (set /a _sum-=1&if %msuchk% equ 1 (set /a _msu-=1&goto :eof) else (
:cab1proceed
if %msuchk% equ 0 goto :eof
set uupmsu=0
set msuwim=0
cd /d "!repo!"
for /f "tokens=2 delims=: " %%# in ('expand.exe -d -f:*Windows*.cab !package! ^| findstr /i %kb%') do set kbcab=%%#
expand.exe -d -f:*Windows*.psf !package! | findstr /i %arch%\.psf %_Nul3% && set uupmsu=1
expand.exe -d -f:*Windows*.psf !package! %_Nul2% | findstr /i %arch%\.psf %_Nul3% && set uupmsu=1
if %uupmsu% equ 0 if %_build% geq 21382 (
dism.exe /English /List-Image /ImageFile:!package! /Index:1 %_Nul2% | findstr /i %arch%\.psf %_Nul3% && (set uupmsu=1&set msuwim=1)
)
if %uupmsu% equ 0 for /f "tokens=2 delims=: " %%# in ('expand.exe -d -f:*Windows*.cab !package! %_Nul6% ^| findstr /i %kb%') do set kbcab=%%#
cd /d "!_work!"
set /a count+=1
if %uupmsu% equ 1 goto :msu1
if %uupmsu% equ 1 (
if %_pwsh% equ 0 goto :eof
goto :msu1
)
if %_embd% equ 0 (
set "msucab=!msucab! %kbcab%"
) else (
@ -678,11 +715,21 @@ cd /d "!_cabdir!" @@ -678,11 +715,21 @@ cd /d "!_cabdir!"
if %_embd% equ 0 if exist "%dest%\" rmdir /s /q "%dest%\" %_Nul3%
if not exist "%dest%\chck\" mkdir "%dest%\chck"
echo %count%/%_msu%: %package% [Combined UUP]
if %msuwim% equ 0 (
expand.exe -f:*Windows*.cab "!repo!\!package!" "%dest%\chck" %_Null%
for /f "tokens=* delims=" %%# in ('dir /b /on "%dest%\chck\*Windows1*-KB*.cab"') do set "compkg=%%#
expand.exe -f:SSU-*%arch%*.cab "!repo!\!package!" "%dest%\chck" %_Null%
) else (
for /f "tokens=1 delims=\" %%# in ('dism.exe /English /List-Image /ImageFile:"!repo!\!package!" /Index:1 ^| findstr /i /r "SSU-.* %arch%\.wim"') do powershell -nop -c "$f=[IO.File]::ReadAllText('!_batp!') -split ':wimmsu\:.*';iex ($f[1]);E '!repo!\!package!' '%%#' '%dest%\chck\%%#'"
)
:: dism.exe /English /Apply-Image /ImageFile:"!repo!\!package!" /Index:1 /ApplyDir:"%dest%\chck" /NoAcl:all %_Null%
:: del /f /q "%dest%\chck\*.psf" %_Nul3%
for /f "tokens=* delims=" %%# in ('dir /b /on "%dest%\chck\*Windows1*-KB*.*"') do set "compkg=%%#
if %msuwim% equ 0 (
expand.exe -f:update.mum "%dest%\chck\%compkg%" "%dest%" %_Null%
expand.exe -f:%sss%_microsoft-updatetargeting-*os_*.manifest "%dest%\chck\%compkg%" "%dest%" %_Null%
expand.exe -f:SSU-*%arch%*.cab "!repo!\!package!" "%dest%\chck" %_Null%
) else (
for /f "tokens=1 delims=\" %%# in ('dism.exe /English /List-Image /ImageFile:"%dest%\chck\%compkg%" /Index:1 ^| findstr /i /r "update.mum %sss%_microsoft-updatetargeting-.*os_"') do powershell -nop -c "$f=[IO.File]::ReadAllText('!_batp!') -split ':wimmsu\:.*';iex ($f[1]);E '%dest%\chck\%compkg%' '%%#' '%dest%\%%#'"
)
if exist "%dest%\chck\SSU-*%arch%*.cab" for /f "tokens=* delims=" %%# in ('dir /b /on "%dest%\chck\SSU-*%arch%*.cab"') do (set "compkg=%%#"&call :uupssu)
rmdir /s /q "%dest%\chck\" %_Nul3%
set msu_%dest%=1
@ -779,7 +826,7 @@ if exist "checker\*_netfx4*.manifest" findstr /i /m "Package_for_RollupFix" "che @@ -779,7 +826,7 @@ if exist "checker\*_netfx4*.manifest" findstr /i /m "Package_for_RollupFix" "che
)
if not defined _type (
expand.exe -f:*_microsoft-windows-s..boot-firmwareupdate_*.manifest "!repo!\!package!" "checker" %_Null%
if exist "checker\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" set "_type=[SecureBoot]"
if exist "checker\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" findstr /i /m "Package_for_RollupFix" "checker\update.mum" %_Nul3% || set "_type=[SecureBoot]"
)
set /a _fixSV=%_build%+1
if not defined _type if %_build% geq 18362 (
@ -834,22 +881,14 @@ if not exist "%package%" ( @@ -834,22 +881,14 @@ if not exist "%package%" (
copy /y "!repo!\%pkgn%.*" . %_Nul3%
if not exist "%pkgn%.psf" for /f %%# in ('dir /b /a:-d "!repo!\*%pkgid%*%arch%*.psf"') do copy /y "!repo!\%%#" %pkgn%.psf %_Nul3%
)
if not exist "PSFExtractor.exe" if %psfcpp% equ 0 (
setlocal
set "TMP=%SystemRoot%\Temp"
set "TEMP=%SystemRoot%\Temp"
)
)
if defined psf_%pkgn% (
if not exist "PSFExtractor.exe" if %psfcpp% equ 0 (
%_Nul3% powershell -nop -c "$d='!cd!';$f=[IO.File]::ReadAllText('!_batp!') -split ':embdbin\:.*';iex ($f[1]);X 1"
endlocal
if %psfcpp% equ 0 (
%_Nul3% powershell -nop -c "$f=[IO.File]::ReadAllText('!_batp!') -split ':cabpsf\:.*';iex ($f[1]);P '%package%'"
)
if not exist "PSFExtractor.exe" if %psfcpp% equ 1 (
%_Nul3% copy /y "!_exe!" .
if %psfcpp% equ 1 (
copy /y "!_exe!" . %_Nul3%
PSFExtractor.exe %package% %_Null%
)
PSFExtractor.exe %package% %_Null%
if !errorlevel! neq 0 (
dir /b /ad "%dest%\*_microsoft*" %_Null% || (
echo Error: failed to extract PSF update
rmdir /s /q "%dest%\" %_Nul3%
set psf_%pkgn%=
@ -1194,21 +1233,13 @@ if not exist "%lcupkg%" ( @@ -1194,21 +1233,13 @@ if not exist "%lcupkg%" (
copy /y "!repo!\%lcupkg:~0,-4%.*" . %_Nul3%
if not exist "%lcupkg:~0,-4%.psf" for /f %%# in ('dir /b /a:-d "!repo!\%lcupkg:~0,-12%*.psf"') do copy /y "!repo!\%%#" %lcupkg:~0,-4%.psf %_Nul3%
)
if not exist "PSFExtractor.exe" if %psfcpp% equ 0 (
setlocal
set "TMP=%SystemRoot%\Temp"
set "TEMP=%SystemRoot%\Temp"
if %psfcpp% equ 0 (
%_Nul3% powershell -nop -c "$f=[IO.File]::ReadAllText('!_batp!') -split ':cabpsf\:.*';iex ($f[1]);P '%lcupkg%'"
)
)
if exist "%lcudir%\*.psf.cix.xml" (
if not exist "PSFExtractor.exe" if %psfcpp% equ 0 (
%_Nul3% powershell -nop -c "$d='!cd!';$f=[IO.File]::ReadAllText('!_batp!') -split ':embdbin\:.*';iex ($f[1]);X 1"
endlocal
if %psfcpp% equ 1 (
copy /y "!_exe!" . %_Nul3%
PSFExtractor.exe %lcupkg% %_Null%
)
if not exist "PSFExtractor.exe" if %psfcpp% equ 1 (
%_Nul3% copy /y "!_exe!" .
)
PSFExtractor.exe %lcupkg% %_Null%
if !_sbst! equ 1 popd
if !_sbst! equ 1 subst %_sdr% /d %_Nul3%
)
@ -1327,7 +1358,7 @@ if %verb%==1 (set /a _sum-=1&goto :eof) @@ -1327,7 +1358,7 @@ if %verb%==1 (set /a _sum-=1&goto :eof)
set "safeos=!safeos! /PackagePath:%dest%\update.mum"
goto :eof
)
if exist "%dest%\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" (
if exist "%dest%\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" findstr /i /m "Package_for_RollupFix" "%dest%\update.mum" %_Nul3% || (
if exist "!mumtarget!\Windows\Servicing\Packages\*WinPE-LanguagePack*.mum" (set /a _sum-=1&goto :eof)
if %winbuild% lss 9600 (set /a _sum-=1&goto :eof)
set secureboot=!secureboot! /PackagePath:"!repo!\!package!"
@ -2041,8 +2072,7 @@ goto :eof @@ -2041,8 +2072,7 @@ goto :eof
if %cleanup%==0 call :cleanmanual&goto :eof
if exist "!mumtarget!\Windows\WinSxS\pending.xml" (
if %online%==1 (
if %resetbase%==0 (set rValue=W10UIclean) else (set rValue=W10UIrebase)
reg.exe add %_SxS% /v !rValue! /t REG_DWORD /d 1 /f %_Nul1%
call :onlinepending
goto :eof
)
call :cleanmanual&goto :eof
@ -2115,6 +2145,45 @@ for /f "tokens=* delims=" %%# in ('dir /b /ad "!mumtarget!\Windows\CbsTemp\" %_N @@ -2115,6 +2145,45 @@ for /f "tokens=* delims=" %%# in ('dir /b /ad "!mumtarget!\Windows\CbsTemp\" %_N
del /s /f /q "!mumtarget!\Windows\CbsTemp\*" %_Nul3%
goto :eof
:onlinepending
if %resetbase%==0 (set rValue=W10UIclean) else (set rValue=W10UIrebase)
reg.exe add %_SxS% /v !rValue! /t REG_DWORD /d 1 /f %_Nul1%
(
echo @echo off
echo reg.exe query "HKU\S-1-5-19" 1^>nul 2^>nul ^|^| ^(echo Run the script as administrator^&pause^&exit^)
echo if exist "%%SystemRoot%%\winsxs\pending.xml" ^(echo Restart the system first^&pause^&exit^)
echo set "_sbs=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Configuration"
echo set _build=%_build%
echo set resetbase=%resetbase%
echo set savc=0^&set savr=1
echo if %%_build%% geq 18362 ^(set savc=3^&set savr=3^)
echo net stop trustedinstaller 1^>nul 2^>nul
echo net stop wuauserv 1^>nul 2^>nul
echo del /f /q %%SystemRoot%%\Logs\CBS\* 2^>nul
echo reg.exe delete %%_sbs%% /v W10UIclean /f 1^>nul 2^>nul
echo reg.exe delete %%_sbs%% /v W10UIrebase /f 1^>nul 2^>nul
echo if %%resetbase%%==0 ^(
echo echo.
echo echo ============================================================
echo echo Cleaning up OS image...
echo echo ============================================================
echo reg.exe add %%_sbs%% /v DisableResetbase /t REG_DWORD /d 1 /f 1^>nul 2^>nul
echo reg.exe add %%_sbs%% /v SupersededActions /t REG_DWORD /d %%savc%% /f 1^>nul 2^>nul
echo dism.exe /Online /Cleanup-Image /StartComponentCleanup
echo ^) else ^(
echo echo.
echo echo ============================================================
echo echo Resetting OS image base...
echo echo ============================================================
echo reg.exe add %%_sbs%% /v DisableResetbase /t REG_DWORD /d 0 /f 1^>nul 2^>nul
echo reg.exe add %%_sbs%% /v SupersededActions /t REG_DWORD /d %%savr%% /f 1^>nul 2^>nul
echo dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
echo ^)
echo ^(goto^) 2^>nul ^&del /f /q %%0 ^&exit /b
)>"W10Cln.cmd"
move /y "W10Cln.cmd" "!_dsk!\RunOnce_AfterRestart_DismCleanup.cmd"
goto :eof
:MeltdownSpectre
reg.exe load HKLM\TEMP "!mumtarget!\Windows\System32\Config\SYSTEM" %_Nul1%
reg.exe add "HKLM\TEMP\ControlSet001\Control\Session Manager\Kernel" /v DisableTsx /t REG_DWORD /d 1 /f %_Nul1%
@ -2413,6 +2482,7 @@ if "!isodir!"=="" set "isodir=!_work!" @@ -2413,6 +2482,7 @@ if "!isodir!"=="" set "isodir=!_work!"
call :DATEISO
if %_cwmi% equ 1 for /f "tokens=2 delims==." %%# in ('wmic os get localdatetime /value') do set "_date=%%#"
if %_cwmi% equ 0 for /f "tokens=1 delims=." %%# in ('powershell -nop -c "([WMI]'Win32_OperatingSystem=@').LocalDateTime"') do set "_date=%%#"
if not defined _date set "_date=000000-0000"
if not defined isodate set "isodate=%_date:~2,6%-%_date:~8,4%"
for %%# in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (
set isolab=!isolab:%%#=%%#!
@ -2568,68 +2638,87 @@ function :DIR2ISO ($dir, $iso, $efi=0, $vol='DVD_ROM') { if (!(test-path -Path $ @@ -2568,68 +2638,87 @@ function :DIR2ISO ($dir, $iso, $efi=0, $vol='DVD_ROM') { if (!(test-path -Path $
$obj=$fsi.CreateResultImage(); [dir2iso]::Create($iso,[ref]$obj.ImageStream,$obj.BlockSize,$obj.TotalBlocks) };[GC]::Collect()
} $:DIR2ISO: #,# export directory as (bootable) udf iso - lean and mean snippet by AveYo, 2021
:embdbin:
Add-Type -Language CSharp -TypeDefinition @"
using System.IO; public class BAT85{ public static void Decode(string tmp, string s) { MemoryStream ms=new MemoryStream(); n=0;
byte[] b85=new byte[255]; string a85="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$&()+,-./;=?@[]^_{|}~";
int[] p85={52200625,614125,7225,85,1}; for(byte i=0;i<85;i++){b85[(byte)a85[i]]=i;} bool k=false;int p=0; foreach(char c in s){
switch(c){ case'\0':case'\n':case'\r':case'\b':case'\t':case'\xA0':case' ':case':': k=false;break; default: k=true;break; }
if(k){ n+= b85[(byte)c] * p85[p++]; if(p == 5){ ms.Write(n4b(), 0, 4); n=0; p=0; } } } if(p>0){ for(int i=0;i<5-p;i++){
n += 84 * p85[p+i]; } ms.Write(n4b(), 0, p-1); } File.WriteAllBytes(tmp, ms.ToArray()); ms.SetLength(0); }
private static byte[] n4b(){ return new byte[4]{(byte)(n>>24),(byte)(n>>16),(byte)(n>>8),(byte)n}; } private static long n=0; }
"@; function X([int]$r=1){ $tmp="$r._"; [BAT85]::Decode($tmp, $f[$r+1]); expand.exe -R $d\$tmp -F:* . 1>$nul; del $tmp -force }
:embdbin:
::O/bZg000006B7Uc00000EC2ui000000|5a50ssI200000bpQYW0RRIP04e|g00000008)?S,9QWP,X.lcyw}MV{~tFE[gOS0J/DG001fg0002zQui|/08mp#MR/]^
::VPkY}axP^fWiDfHZf0p_07u$kq@Qu8DqDbnjRFv+s{jBaGgdPI0B.=jy=)irrEE+,wn;8aq@RR&OO~x8ODFwg?ntp)mXWNljMsx)Z#Hq$.rC,|lZSw92r((HrnE]P
::)qb]8Psv[0G1#VJlMX{kVo5&ia3C=aXHNpAxlQ=pos-/AasdDtnE/~$0Cy/D-jToj)h^!10xVEZ5-.4ApDi{K,X^Rch9d0iUR[||uHs)z-D2;,uXZ)6(o(OX9VcqH
::l~xGtIKfScMrji=0Ya!qjJ9!2lJbw=PyP2P{{RpG0FeS9nxF#hZkF7);cLBfct8LL[jd@U[dfjb=W]VG9stxTFg_11(U-PnKwy0H6;C@|Zkx/F2Yb5Ts|vJxGAJK|
::h=--x8WM3p98[AFqar!MDJ9g4IK/4[#,jE7WOki3c51yH(8ie2Fx0_mWCbT${ekEOd@@7d75T/Ao/Y)-pw^DN=SnfU.nG)t$vR~]8_k1Zm+gg&.IUk0&@TQujx)[W
::+2YL^F#DV{=/z=5HFNw{EUo&Z9bqm!Ip]iuOR5B3tmp^1;Q0HyuP#3Mvi(o)?vT3TDqEUvt-)1~KTxe,{Y.hrR8srTtzXXt-feC-M2D?6Ujp&GSNc2LIr[3/XMqEr
::q7$9h/r(tb54Wd}[~nP$)RJqq]yDfte+/3Fccb@^qcalz&wXhhe&-gON&S.H3y[WQ7[~R?=48+)[6Qb#doJW&?=C.u!1$XwQy8JoE@AAEJ1O4BTKEvmyK30WR4p|4
::Gu6rr^@ek{pE#}bR=.oa4&t7!0?IB5C^(|Ub0f3d=/WR(sK2ZSE]tr5tIpGO&~l$eyxx8h8_&F8|2|Nl87P(8SJ]4JrR89.je8}6NlPrB{orB]]rAE^!Wh.y=J|bV
::-$FiZ#-PV1-cUHTu9m[eDc.dnNx&}XLEt3wy@P1RC1cQ!lVK(_eQ-Dss3EpvJv[PTmYyux[!jQ,&cl-Iy9|?XF~/}4epAu$Ia_Tfx,c6L.FdU#Sti$XtS,dAmTD5x
::U~KMaMSItitH_~TaaM//Asu@)n5/.rZ}_Srd-x4qCponvvj=1^Y4(U4,!{tr@B-YHb6+5Ln6nQzx1M{&2y5]w_#/c]u_EmA)a8Otko(Cyi@KD&!{z;/TN$Hg_E90$
::kZsNIh5ZC~F#YF(6AZP2{WMq.1y4G[4{}+zcm@{jbZ;Qb/r?Xm(H1fVZof5pPd~]H2~i,pSzNNB@/hLwtk_V3d|yS{9bG8p/F,j+,C#TFw&T+/81],LY9TxWC._l9
::6Vx#tg!m}DXe$ICKCGDTnh_d7lixa.-scb1t7UcUx{pXV@!6_{2)tE^&@W)(v9v+lgAnXk3{+1em$k4;S!(Qg#U~bkjexaJ?#y$3e}x9fss)svYYk^7Zm8{tTTv)E
::jHi{nVKwm@3iKnTtZd.gMgY[LKcXJ,DY}DQw[h2Z0/rZ1ykVIHTQ8xV,y1KGiH!N#_Y|GWdvh0KW5GKN4f)j?yXw&F&LFkKjbhnkw0[4GtZ8Gt3voJ9yRYD5(t/[L
::IpFinb9~@py)V[+@k]MBc&H$JzR;;a_]3!T+wzFumTSkp3q{Ob,;+RX@5#Qm^vWT6Hy0dN#Sow1[E[kPAN&DY^yD=DbunS1E8c|qN#(G9nYzP1$voxpOuXdylk_ec
::^Yyr(v=fxU|72LLKkGhyr~4GH,OTv4k2]0fkFZ-Js$.$/MM9Ct^HCcf5Bu2+q^Oev]9rVCOQaPjn?oJTg7Fv!f7e1oA6dp,vNdGQpMiz#36X!qBys]~BUd;c_1ts(
::aM,n.HFgB.1P(w&7DWr_8si#Tn+_y!!)u!k2ro?hj}jd-S(205D8W1nX@!Mw9FWH?n_Fo0/(N73j1=V]Cej!pJ1p3Os#llqOoi@T1^!^8,=~lL3oeny;ZhC./k65e
::ztjWI+3ArV0H~nL]4Lq;a#!&zQYSE}El8oW)w1H=Ut})CIYV;9e95;fe;c+qN4N;(Dl3d8nx.^{cfEyGm[J$+_?dpe=s;9iRFPlJFEo}R4A]|XY7!8y!(j,,zIrX@
::o2P-7hl5QmpKW#1Z=a)Mpq}tKkki.P61mKtk9GkrhZG(l=#$13_#-$am#E[uXMU1T?Q)9#Aav8Ea=B$~4a,[G]j(S+toT}GwJLSAU@5&Q9.h!SbR2#yxmKvtZ;tGr
::-CpZ)nwXZ{F;NfSWIW(1TPz2oYT?T1dxDnwg{S0/p^Z56{NVlVRF}zu=sAuh.vY/1_Us[xCegh|4-Xr[Ssq7Yb&ftWt5~)EIlaHD2c_@c2;f+-ap(=XFaqi]VBHsb
::F6#2DjV]9q!HxS$Xy|IZt,BW_;SZ^l2s9};u!W]fR#^Gdq$SuYvP_U?qFQ#Ef{]_YDy+B}xKJ$1RMMCY;?v4eT@.cJYqhL!-Az@#1ot?$XyK,erT,n#-LwQq5F)(,
::?QDVm5,,y7W;VV;IP|Yy0JaDY2qJ/?45#M]4]B[ITa@~($_{}Vhf,taT)#fKnLh+7_JnsGNe)FbS~@QsjwZ_.UzA1j1Jgm^6}Wan,-u,vg.#I{D7dh_)7fWuCE6M[
::-+a]~1L_mDLB(B_gprKwFF?mUZgRo@!DC$m!?]kzn7[3k=gJ]tqu{qqm63jYS^^5]i&A_(e!-j3JGQ[FB@B5Z;GEz}fF#JD4@uEuFGe3AxV9hM-DdpYs0-iKrW[k7
::?fUdOasaPg7yxHg16cmF&,FKrUKUa}EGnQ2=W@nrLL{E#CdNiWd_0(.#VcLjMrRu5MnomABXCh&[;F}edM(T#pcKV_]^OrL7}[q~$$v$J[sMBWP+si20?0(5mY]Jc
::SrG(fIFm##2Z84&kGLcATb7QOA3ERwlnLSk&TY8rsvy^/0bQZjr&ZyofCN&&bN4/o/P_]$VYvbbg9WG{b9h{iyur9KZ_UKC[D$hCmDRB6&Y0C[xZtU$/Fxe@Fat7B
::AzX|jP~)rYV#f(r5r=VoIy5raN$|?$lvJEzhe6|-3{!@G65=#KWrUF33_m-9gUL9kF[~BFJ#s;NX]2zfsiy?}OhN55NMUN]QW1qC2&iQa!&3cwvwa6GXF21B-a9JO
::o,E]$v)hxfA&jAs(yh#y@3B1BM1dGvB+-#;uU1e)ozyc7q)._rnnYxxNsNzlpwI#k[$JxeE-14zlE1U#$#s?ZRmHf7008N]#,a@8R|oMvV?p9xaGPwSDI#$[Y;?b}
::&P}fi5?~bzpE0HDC|b+CY)=cdtD0k@nnl}=p0T(Dc^K9mrXdkdhJv0[kz~Zm)m/zM$sMwrWR;zKE|Zg~WM(pJiP),-i]OoEHxWjAOz2.-[P!EBZnm6ljx3U-ppdn6
::$+9He70Qaol)bUYjk8T@+5ei&k{(Ez)|BA4LNyhxH?Q3nZ][Ll3Q+{ygySdLhalqfPtcxqy.dV~rIeH6)O9=siOc9H$!klv2iQqlRPBHZFnn|LoTL2Fg=WP-ETLo1
::+KGUVhzBeU)n]bghLVk=-eKt2W)V!.cq7?R#vlx-4;eDOgjazruxNvE1vNESum]4797_GDd39L2@QO?j-ASBdxxMew(.;hYj^wqfEW_;gI)w;yv/r=T+(gOXh_zte
::)}3/+8RHu_Qvu+ivL$jBYIE2[hIK~SbCRYGYenAI#]IFIl=wG|Dg#~|i^wd+k;a@v8tRTqb;T2aNSSOdwMI|4KOtS9dr9rX0itd4B2gmXY[~=1szwW/tRPZOcPAU[
::$JLHWq8g;{fq/N+WR+.=7n?]~qq_#vKkIa_eT+PAm{s.,pRlIi-x}9(@0Uv+!)?v$SRVBnIpQO-,W0Lp_rL6V{.7?)MEgQV9z}PHkga2v9XpB?/=NrnG-0,QXwfE9
::&/(.naS(//5gj~uLeXbZvN&mq8Cnq@C8wo3|5LPSTMqD7TRnhKJdDiFNa^nfd}YJ[Z/P0M(1;cu{3UMD=GC{x;P&nh{zh}FK9JHJH!3hkbpMJ^jW@YKVM,87d_ZlH
::QDu^/jO{G+uWqgzq40z!wN4#$=TaI0[k=FEWo!AALF;pt{gn.ae{kj05g4FF)CT;^!T}C}05Wvo[IWMJrAox}00;SROo9?-2,Y4pvSKI5I@+QCgkh=?7|5|v8Uvt{
::7YqTLq]UG]O{nZxAzI./B!MB)4#A@,7=M8zine+e!n$G9r4f-8RX|ca?D]3ajMOg?U7=BN-9)Y{W;L!iF6/F~RjMMpktc|da}e26+d5q17-FcaMoNmrdn903EZ$8,
::?([4JWGEAScD9j$fjQSqe^IK3McV-h2dvMPNR3#Bc)G-q@8;,39JVMi2Nz1aiLgP99zi+mtO3HWDdi(7jgOe}1JqVQNfR#&vJ[KOO57d}VD.lwHaiGYrUh2RjypIb
::LV#?G#Hoe5O(+/1a/Mm$grapdPX]0DAOQ1$5980gtu@atSkkH_9xXw($uHpQlak;=o],k=ES9yZ8X4(kDtZnD_5SRjY/IMH@P}o&ukA=Aso+&OFYQ,QTiqd^g+U6.
::xlNQKp(0NSTU{B=b;=i@v/z5xr95|xR,EljuJ8a,btgx6jL3nCwsx;-dE.|mVH!{-BZF6Y)^?X)BWJXU$Rk#czk|omeftCLTTId/u0T7{IG@mY?&|BgX&H.].0U3=
::S|4.=f(74FU.uKV.xZTz)q69x-yqXL5!l)6Mec4y]kv]hDJ8KL&-[z58Da_h3RKI|49VQUlCUT!z07!~[ssyQ7ebFF[GFER!b8G|W-UwxFL.)d1&^5]!60g7FUCZY
::zPxX#[jBDK)M7V(E?CF;irR,zF5UXG;nRQnr2!iGmfH-j[3c]~sFn5ruD/.,MCowKui_MUcFcE|=8Z;?Dh5[lWpf.9I6}cfnhmh-X(6mLZ)Xgt,FM?_,~MENV_1ct
::g4OWP.jIb|&6-gI7xkG!hyBd(z6_K/cYNC&!FK;En)eqgF(S+^)1keD2.wq;xU.^f!JkJ^j.MmHL8c09Jgl&s@u82x5-)&p5DywG1}-Tf8S,GYmt]]}Nm!ot_I{i2
::M?#!j5Sp.MRQJgKjpM-KDlDAUs0,Ro6#;|oS8i@pg^]Xt[)t|wWN)$)#HkjD.9B1zP)rwA0wqP(.R@R{-qwouraIM(Ls8_r7GNRDZ,Gpf$C-~-(4GdiJv{-Df=qJ(
::qk5|@JV$#4q41@BaFB2~7&VIXEDRe2c^aiVBsG$u^98+mAZBl1c$+P}xT,}huGY[4+v_YL5&rl@?HJ9lNpFJd5u$ILdZl.ecjJ+guG7U;yg)l5[dyPtBt95}{td{&
::BYDVxMi8QgEdK3~NrTAwud)V[K#n~,ivKZb-pDgKfhh8Pp&b!;Z[wsXS;axEUm2VBvOS.m=$;ZI5&A7)Osnhtr|4xIUD~OrKT5gZD.EZpS2V_{Ac{^t!2y)@{lsN5
::P{?Oezmct@Vi@!;+!T#V6[GIxaJVdN@G0T8=e}.eB5bn)2/2YK{CvrfW^#02+wD-$0U83H5R6I[Gke#)0!HDu#y$;IyH=~8a.cnYf7B~nk)YHcdks.087-h.K}W06
::T6~TE@WMH&HA7qonzeOlz)V#sicszF-I,sMmum(9N!O{6nLz8K/Yc-@,=k2Zjlkp0I+T5f3AwX&F,Luo;+D!pSI#^b3Xlf_+y4=;A^!80i@gaS#.UP40iilmvnuEh
::!yqn5DDfqh&|8z;fH!ktg&k]#kSz/GVaLm[,!?$tZZ_6gCH@n[Jr?$zj/jWZf[~vOP(/r=2EC&nY.)E/N}/78nlBdlNFg(v(1V!JaQE-zNc]Q]o{JGA&yLHHR=yk0
::c/P!z!5N]H4={~5Ic+qZ1VRQ9aS[@28.,1qQp]_AUf0/fVD;]+b(8FOl&QI/bP#edO0Lu,0RtpJj7icO/3m0+9d=0bRMJ)b#D&0BYr3Xvl85t&6-X28R-/0@wU}=N
::Y9yi$tfwF)&?)z,[hd3#;|3.pasLrw2+esnP&7^?Fb0KDjm5#J&c!g|RI1bxRb)-b==iRfgQ}|3zN{iJ)+L?O-}TH6jgC(0GS?0y!BF2BiUtB!dm&Zv5yehfeaiPx
::@Ss.?EnxmYb_)2oz~XDyfe,xD{&S6Dm6d;p{d;2/s7[qoFN22Z{w@eX,;SO6QlQ(Fdl/syef/k^(xxZOT;?gdn,VE4$OY6szM8nMf;S=
:embdbin:
:cabpsf:
function G($DirectoryName) {
$DeltaList = [ordered] @{}
$doc = New-Object xml
$doc.Load($DirectoryName + "\express.psf.cix.xml")
$child = $doc.FirstChild.NextSibling.FirstChild
while (!$child.LocalName.Equals("Files")) {$child = $child.NextSibling}
$FileList = $child.ChildNodes
foreach ($file in $FileList)
{
$fileChild = $file.FirstChild
while (!$fileChild.LocalName.Equals("Delta")) {$fileChild = $fileChild.NextSibling}
$deltaChild = $fileChild.FirstChild
while (!$deltaChild.LocalName.Equals("Source")) {$deltaChild = $deltaChild.NextSibling}
$DeltaList[$($file.id)] = @{name=$file.name; time=$file.time; stype=$deltaChild.type; offset=$deltaChild.offset; length=$deltaChild.length};
}
return $DeltaList
}
function P($CabFile) {
$DirectoryName = $CabFile.Substring(0, $CabFile.LastIndexOf('.'))
$PSFFile = $DirectoryName + ".psf"
$null = [IO.Directory]::CreateDirectory($DirectoryName)
$DeltaList = G $DirectoryName
$AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1)
$ModuleBuilder = $AssemblyBuilder.DefineDynamicModule(2, $False)
$TypeBuilder = $ModuleBuilder.DefineType(0)
[void]$TypeBuilder.DefinePInvokeMethod('ApplyDeltaW', 'msdelta.dll', 'Public, Static', 1, [int], @([Int64], [String], [String], [String]), 1, 3)
$MSD = $TypeBuilder.CreateType()
$PSFFileStream = [IO.File]::OpenRead([IO.Path]::GetFullPath($PSFFile))
$cwd = [IO.Path]::GetFullPath($DirectoryName)
[Environment]::CurrentDirectory = $cwd
$null = [IO.Directory]::CreateDirectory("000")
foreach ($DeltaFile in $DeltaList.Values)
{
$FullFileName = $DeltaFile.name
if (Test-Path $FullFileName) {continue}
$ShortFold = [IO.Path]::GetDirectoryName($FullFileName)
$ShortFile = [IO.Path]::GetFileName($FullFileName)
[bool]$UseRobo = (($cwd + '\' + $FullFileName).Length -gt 255) -or (($cwd + '\' + $ShortFold).Length -gt 248)
if ($UseRobo -eq 0 -and $ShortFold.IndexOf("_") -ne -1) {$null = [IO.Directory]::CreateDirectory($ShortFold)}
if ($UseRobo -eq 0) {$WhereFile = $FullFileName}
Else {$WhereFile = "000\" + $ShortFile}
try {[void]$PSFFileStream.Seek($DeltaFile.offset, 0)} catch {}
$Buffer = New-Object byte[] $DeltaFile.length
try {[void]$PSFFileStream.Read($Buffer, 0, $DeltaFile.length)} catch {}
$OutputFileStream = [IO.File]::Create($WhereFile)
try {[void]$OutputFileStream.Write($Buffer, 0, $DeltaFile.length)} catch {}
[void]$OutputFileStream.Close()
if ($DeltaFile.stype -eq "PA30") {[void]$MSD::ApplyDeltaW(0, $null, $WhereFile, $WhereFile)}
$null = [IO.File]::SetLastWriteTimeUtc($WhereFile, [DateTime]::FromFileTimeUtc($DeltaFile.time))
if ($UseRobo -eq 0) {continue}
Start-Process robocopy.exe -NoNewWindow -Wait -ArgumentList ('"' + $cwd + '\000' + '"' + ' ' + '"' + $cwd + '\' + $ShortFold + '"' + ' ' + $ShortFile + ' /MOV /R:1 /W:1 /NS /NC /NFL /NDL /NP /NJH /NJS')
}
[void]$PSFFileStream.Close()
$null = [IO.Directory]::Delete("000", $True)
}
:cabpsf:
:: ============
:wimmsu:
function E($WimPath, $InnFile, $OutFile) {
$DllPath = 'wimgapi.dll'
$AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1)
$ModuleBuilder = $AssemblyBuilder.DefineDynamicModule(2, $False)
$TypeBuilder = $ModuleBuilder.DefineType(0)
[void]$TypeBuilder.DefinePInvokeMethod('WIMCreateFile', $DllPath, 'Public, Static', 1, [IntPtr], @([String], [UInt32], [Int32], [Int32], [Int32], [Int32].MakeByRefType()), 1, 3).SetImplementationFlags(128)
[void]$TypeBuilder.DefinePInvokeMethod('WIMLoadImage', $DllPath, 'Public, Static', 1, [IntPtr], @([IntPtr], [Int32]), 1, 3).SetImplementationFlags(128)
[void]$TypeBuilder.DefinePInvokeMethod('WIMSetTemporaryPath', $DllPath, 'Public, Static', 1, [int], @([IntPtr], [String]), 1, 3)
[void]$TypeBuilder.DefinePInvokeMethod('WIMExtractImagePath', $DllPath, 'Public, Static', 1, [int], @([IntPtr], [String], [String], [Int32]), 1, 3)
[void]$TypeBuilder.DefinePInvokeMethod('WIMCloseHandle', $DllPath, 'Public, Static', 1, [int], @([IntPtr]), 1, 3)
$WIMG = $TypeBuilder.CreateType()
$hWim = 0
$hImage = 0
$hWim = $WIMG::WIMCreateFile($WimPath, "0x80000000", 3, "0x20000000", 0, [ref]$null)
[void]$WIMG::WIMSetTemporaryPath($hWim, [Environment]::GetEnvironmentVariable('SystemDrive'))
$hImage = $WIMG::WIMLoadImage($hWim, 1)
[void]$WIMG::WIMExtractImagePath($hImage, $InnFile, $OutFile, 0)
[void]$WIMG::WIMCloseHandle($hImage)
[void]$WIMG::WIMCloseHandle($hWim)
}
:wimmsu:
:: ============
:EndDebug

3
W10UI/README.md

@ -189,6 +189,9 @@ wait until command prompt window is closed and W10UI_Debug.log is created @@ -189,6 +189,9 @@ wait until command prompt window is closed and W10UI_Debug.log is created
<details><summary>changelog</summary>
10.27:
- Updated detection for separate Secure Boot updates
10.26:
- Added support for new msu wim files (LCU for builds 25336+)
- Replaced embedded PSFExtractor.exe with Powershell code (external PSFExtractor.exe still supported)

6
W10UI/W10UI.cmd

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
@setlocal DisableDelayedExpansion
@set uiv=v10.26
@set uiv=v10.27
@echo off
:: enable debug mode, you must also set target and repo (if updates are not beside the script)
set _Debug=0
@ -826,7 +826,7 @@ if exist "checker\*_netfx4*.manifest" findstr /i /m "Package_for_RollupFix" "che @@ -826,7 +826,7 @@ if exist "checker\*_netfx4*.manifest" findstr /i /m "Package_for_RollupFix" "che
)
if not defined _type (
expand.exe -f:*_microsoft-windows-s..boot-firmwareupdate_*.manifest "!repo!\!package!" "checker" %_Null%
if exist "checker\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" set "_type=[SecureBoot]"
if exist "checker\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" findstr /i /m "Package_for_RollupFix" "checker\update.mum" %_Nul3% || set "_type=[SecureBoot]"
)
set /a _fixSV=%_build%+1
if not defined _type if %_build% geq 18362 (
@ -1358,7 +1358,7 @@ if %verb%==1 (set /a _sum-=1&goto :eof) @@ -1358,7 +1358,7 @@ if %verb%==1 (set /a _sum-=1&goto :eof)
set "safeos=!safeos! /PackagePath:%dest%\update.mum"
goto :eof
)
if exist "%dest%\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" (
if exist "%dest%\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" findstr /i /m "Package_for_RollupFix" "%dest%\update.mum" %_Nul3% || (
if exist "!mumtarget!\Windows\Servicing\Packages\*WinPE-LanguagePack*.mum" (set /a _sum-=1&goto :eof)
if %winbuild% lss 9600 (set /a _sum-=1&goto :eof)
set secureboot=!secureboot! /PackagePath:"!repo!\!package!"

BIN
esd-decrypter-wimlib/bin/bin64/libwim-15.dll

Binary file not shown.

BIN
esd-decrypter-wimlib/bin/bin64/wimlib-imagex.exe

Binary file not shown.

BIN
esd-decrypter-wimlib/bin/libwim-15.dll

Binary file not shown.

BIN
esd-decrypter-wimlib/bin/wimlib-imagex.exe

Binary file not shown.

8
esd-decrypter-wimlib/decrypt.cmd

@ -701,11 +701,7 @@ rmdir /s /q bin\temp\ @@ -701,11 +701,7 @@ rmdir /s /q bin\temp\
set _rfr=refresh
set _rsr=release_svc_%_rfr%
if %revmaj%==22626 (set _label=%revver%.%_time%.ni_%_rsr%&set branch=ni_%_rsr%)
if %revmaj%==22625 (set _label=%revver%.%_time%.ni_%_rsr%&set branch=ni_%_rsr%)
if %revmaj%==22624 (set _label=%revver%.%_time%.ni_%_rsr%&set branch=ni_%_rsr%)
if %revmaj%==22623 (set _label=%revver%.%_time%.ni_%_rsr%&set branch=ni_%_rsr%)
if %revmaj%==22622 (set _label=%revver%.%_time%.ni_%_rsr%&set branch=ni_%_rsr%)
if %revver%==22621.1702 (set _label=22621.1702.230505-1222.ni_%_rsr%&set branch=ni_%_rsr%&set ISOnameESD=0)
if %revver%==22621.525 (set _label=22621.525.220925-0207.ni_%_rsr%&set branch=ni_%_rsr%&set ISOnameESD=0)
if %revver%==22621.382 (set _label=22621.382.220806-0833.ni_%_rsr%&set branch=ni_%_rsr%&set ISOnameESD=0)
if %revver%==22000.318 (set _label=22000.318.211104-1236.co_%_rsr%&set branch=co_%_rsr%&set ISOnameESD=0)
@ -713,6 +709,8 @@ if %revver%==22000.258 (set _label=22000.258.211007-1642.co_%_rsr%&set branch=co @@ -713,6 +709,8 @@ if %revver%==22000.258 (set _label=22000.258.211007-1642.co_%_rsr%&set branch=co
if %revver%==22000.194 (set _label=22000.194.210913-1444.co_%_rsr%&set branch=co_%_rsr%&set ISOnameESD=0)
if %revver%==22000.132 (set _label=22000.132.210809-2349.co_%_rsr%&set branch=co_%_rsr%&set ISOnameESD=0)
if %revmaj%==19045 (set _label=%revver%.%_time%.22h2_%_rsr%&set branch=22h2_%_rsr%)
if %revver%==19045.2965 (set _label=19045.2965.230505-1139.22h2_%_rsr%&set branch=22h2_%_rsr%&set ISOnameESD=0)
if %revver%==19045.2486 (set _label=19045.2486.230107-0437.22h2_%_rsr%&set branch=22h2_%_rsr%&set ISOnameESD=0)
if %revver%==19045.2006 (set _label=19045.2006.220908-0225.22h2_%_rsr%&set branch=22h2_%_rsr%&set ISOnameESD=0)
if %revver%==19045.1826 (set _label=19045.1826.220707-2303.22h2_%_rsr%&set branch=22h2_%_rsr%&set ISOnameESD=0)
if %revmaj%==19044 (set _label=%revver%.%_time%.21h2_%_rsr%&set branch=21h2_%_rsr%)

BIN
uup-converter-wimlib/bin/bin64/libwim-15.dll

Binary file not shown.

BIN
uup-converter-wimlib/bin/bin64/wimlib-imagex.exe

Binary file not shown.

BIN
uup-converter-wimlib/bin/libwim-15.dll

Binary file not shown.

BIN
uup-converter-wimlib/bin/wimlib-imagex.exe

Binary file not shown.

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

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<!-- : Begin batch script
@setlocal DisableDelayedExpansion
@set uivr=v88
@set uivr=v89
@echo off
:: Change to 1 to enable debug mode
set _Debug=0
@ -2122,7 +2122,7 @@ if exist "!dest!\*_netfx4*.manifest" findstr /i /m "Package_for_RollupFix" "!des @@ -2122,7 +2122,7 @@ if exist "!dest!\*_netfx4*.manifest" findstr /i /m "Package_for_RollupFix" "!des
)
if not defined _type (
expand.exe -f:*_microsoft-windows-s..boot-firmwareupdate_*.manifest "!_UUP!\%package%" "!dest!" %_Null%
if exist "!dest!\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" set "_type=[SecureBoot]"
if exist "!dest!\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" findstr /i /m "Package_for_RollupFix" "!dest!\update.mum" %_Nul3% || set "_type=[SecureBoot]"
)
if not defined _type if %_build% geq 18362 (
expand.exe -f:microsoft-windows-*enablement-package~*.mum "!_UUP!\%package%" "!dest!" %_Null%
@ -2580,7 +2580,7 @@ if not exist "%mumtarget%\Windows\Servicing\Packages\WinPE-Rejuv-Package~*.mum" @@ -2580,7 +2580,7 @@ if not exist "%mumtarget%\Windows\Servicing\Packages\WinPE-Rejuv-Package~*.mum"
set "safeos=!safeos! /PackagePath:!dest!\update.mum"
goto :eof
)
if exist "!dest!\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" (
if exist "!dest!\*_microsoft-windows-s..boot-firmwareupdate_*.manifest" findstr /i /m "Package_for_RollupFix" "!dest!\update.mum" %_Nul3% || (
if exist "%mumtarget%\Windows\Servicing\Packages\*WinPE-LanguagePack*.mum" goto :eof
if %winbuild% lss 9600 goto :eof
set secureboot=!secureboot! /PackagePath:"!_UUP!\%package%"

Loading…
Cancel
Save