[DISCUSSION] Windows 10 (1703 RS2) "Creators Update" Final 15063 (PC)

Discussion in 'Windows 10' started by Enthousiast, Mar 21, 2017.

  1. Bird333

    Bird333 MDL Novice

    Nov 3, 2017
    3
    0
    0
    What about ESDs? Are there any multi-versions with those versions?
     
  2. Saurav

    Saurav MDL Addicted

    Jul 6, 2015
    620
    399
    30
    Yes, ESD/UUP has all the editions. Check OP for links.
     
  3. Senjanov

    Senjanov MDL Member

    Jul 29, 2011
    217
    44
    10
    hemm.. less size than originally..maybe from cleanupimage = 1 and resetbase = 0 in W10UI_3.6? @abbodi1406 and @Enthousiast
    try to update from 15063.502 until 15063.674 from originall esd(15063.483) 15063.0.170710-1358.rs2_release_svc_refresh_CLIENTENTERPRISE_VOL_x64fre_en-us_5477ecbdb80b477d3cb049d0d64831b72797be8b.esd
     

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. Senjanov

    Senjanov MDL Member

    Jul 29, 2011
    217
    44
    10
    @abbodi1406 and @Enthousiast
    hem..weird.. I think enable net 3.5 but when try in VM..and update from 15063.502 to 15063.674(.502, .540, .608, .632, .674) result just only show kb4041676(15063.674) and enable net 3.5 path source right.
    I'm wrong step or did wrong in someway?
     

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    49,842
    104,322
    450
    Showing the settings without showing the progress is not enough to make conclusions.
     
  6. Senjanov

    Senjanov MDL Member

    Jul 29, 2011
    217
    44
    10
    i dont have time waiting while that progress. and the end just less 1 pic.. that rebuilding to iso.. first and end not show updating net 3.5. and process update it 1 mcu finish then 1 mcu again.. not it include all update.. means 6 .mcu in folder W10UI_3.6.
     

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    49,842
    104,322
    450
    Just select all txt and copy/paste it here using code tags.
     
  8. Senjanov

    Senjanov MDL Member

    Jul 29, 2011
    217
    44
    10
    here. btw folder name "ISOFOLDER" I create manually not from process convert esd to iso
    Code:
    @echo off
    cd /d "%~dp0"
    rem when changing below options, be sure to set the new values between = and " marks
    
    rem for updating current os, leave this option as %SystemDrive%
    set "target=C:\ISOFOLDER"
    
    rem updates location, %cd% represent the current script directory
    set "repo=C:\update"
    
    rem dism.exe tool path (default is system's if the host os is win10)
    set "dismroot=%windir%\system32\dism.exe"
    
    rem enable .NET 3.5 feature
    set net35=1
    
    rem optional, specify custom "folder" path for microsoft-windows-netfx3-ondemand-package.cab
    set "net35source=C:\netfx\microsoft-windows-netfx3-ondemand-package.cab"
    
    rem Cleanup OS images to "compress" superseded components (might take long time to complete)
    set cleanup=1
    
    rem Rebase OS images to "remove" superseded components (warning: break "Reset this PC" feature)
    rem require first to set cleanup=1
    set resetbase=0
    
    rem create new iso file if the target is a distribution folder
    rem require placing oscdimg.exe or cdimage.exe next to W10UI.cmd
    set iso=1
    
    rem set this to 1 to start the process directly once you execute the script
    rem make sure you set the above options correctly first
    set autostart=0
    
    rem optional, set temporary directory for extracted files
    set "cab_dir=%~d0\W10UItemp"
    
    rem optional, set mount directory for updating wim files
    set "mountdir=%SystemDrive%\W10UImount"
    set "winremount=%SystemDrive%\W10UImountre"
    
    ' I dont change any code below
    rem ##################################################################
    rem # NORMALY THERE IS NO NEED TO CHANGE ANYTHING BELOW THIS COMMENT #
    rem ##################################################################
    
    title Installer for Windows 10 Updates
    %windir%\system32\reg.exe query "HKU\S-1-5-19" 1>nul 2>nul || goto :E_Admin
    
    :detect
    set directcab=0
    set dvd=0
    set wim=0
    set offline=0
    set online=0
    if "%target:~-1%"=="\" set "target=%target:~0,-1%"
    if /i "%target%"=="%SystemDrive%" goto :check
    echo %target%| findstr /E /I "\.wim" >nul
    if %errorlevel%==0 (
    set wim=1
    ) else (
    if exist "%target%\boot\bcd" set dvd=1
    if exist "%target%\Windows\regedit.exe" set offline=1
    )
    if %offline%==0 if %wim%==0 if %dvd%==0 (set "target=%SystemDrive%"&goto :check)
    if %offline%==1 (
    dir /b "%target%\Windows\servicing\Version\10.0.*" 1>nul 2>nul || (set "MESSAGE=Detected target offline image is not Windows 10"&goto :E_Target)
    set "mountdir=%target%"
    if exist "%target%\Windows\SysWOW64\*" (set arch=x64) else (set arch=x86)
    )
    if %dvd%==1 (
    dism /english /get-wiminfo /wimfile:"%target%\sources\install.wim" /index:1 | find /i "Version : 10.0" >nul || (set "MESSAGE=Detected install.wim version is not Windows 10"&goto :E_Target)
    for /f "tokens=4 delims=:. " %%i in ('dism /english /get-wiminfo /wimfile:"%target%\sources\install.wim" /index:1 ^| find /i "Version :"') do set build=%%i
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%\sources\install.wim" /index:1 ^| find /i "Architecture"') do set arch=%%i
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%\sources\install.wim" ^| findstr "Index"') do set imgcount=%%i
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%\sources\boot.wim" ^| findstr "Index"') do set bootimg=%%i
    )
    if %wim%==1 (
    dism /english /get-wiminfo /wimfile:"%target%" /index:1 | find /i "Version : 10.0" >nul || (set "MESSAGE=Detected wim version is not Windows 10"&goto :E_Target)
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%" /index:1 ^| find /i "Architecture"') do set arch=%%i
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%" ^| findstr "Index"') do set imgcount=%%i
    )
    
    :check
    if /i "%target%"=="%SystemDrive%" (if exist "%target%\Windows\SysWOW64\*" (set arch=x64) else (set arch=x86))
    call :counter
    if %_sum%==0 set "repo="
    
    for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
    rem if %winbuild% geq 10240 goto :mainmenu
    if /i "%dismroot%" neq "%windir%\system32\dism.exe" goto :mainmenu
    
    :adk
    SET regKeyPathFound=1
    SET wowRegKeyPathFound=1
    REG QUERY "HKLM\Software\Wow6432Node\Microsoft\Windows Kits\Installed Roots" /v KitsRoot10 1>NUL 2>NUL || SET wowRegKeyPathFound=0
    REG QUERY "HKLM\Software\Microsoft\Windows Kits\Installed Roots" /v KitsRoot10 1>NUL 2>NUL || SET regKeyPathFound=0
    if %wowRegKeyPathFound% EQU 0 (
      if %regKeyPathFound% EQU 0 (
        goto :mainmenu
      ) else (
        SET regKeyPath=HKLM\Software\Microsoft\Windows Kits\Installed Roots
      )
    ) else (
        SET regKeyPath=HKLM\Software\Wow6432Node\Microsoft\Windows Kits\Installed Roots
    )
    FOR /F "skip=2 tokens=2*" %%i IN ('REG QUERY "%regKeyPath%" /v KitsRoot10') DO (SET "KitsRoot=%%j")
    SET "DandIRoot=%KitsRoot%Assessment and Deployment Kit\Deployment Tools"
    SET "dismroot=%DandIRoot%\%PROCESSOR_ARCHITECTURE%\DISM\dism.exe"
    if not exist "%dismroot%" set "dismroot=%windir%\system32\dism.exe"
    
    :mainmenu
    if %autostart%==1 goto :mainboard
    set _pp=
    cls
    echo ============================================================
    echo.
    if /i "%target%"=="%SystemDrive%" (
    if %winbuild% lss 10240 (echo 1. Select offline target) else (echo 1. Target ^(%arch%^): Current OS)
    ) else (
    echo 1. Target ^(%arch%^): "%target%"
    )
    echo.
    if "%repo%"=="" (echo 2. Select updates location) else (echo 2. Updates: "%repo%")
    echo.
    if %winbuild% lss 10240 (
    if /i "%dismroot%"=="%windir%\system32\dism.exe" (echo 3. Select Windows 10 dism.exe) else (echo 3. DISM: "%dismroot%")
    ) else (
    echo 3. DISM: "%dismroot%"
    )
    echo.
    if %net35%==1 (echo 4. Enable .NET 3.5: YES) else (echo 4. Enable .NET 3.5: NO)
    echo.
    if %cleanup%==0 (
    echo 5. Cleanup System Image: NO
    ) else (
    if %resetbase%==0 (echo 5. Cleanup System Image: YES      6. Reset Image Base: NO) else (echo 5. Cleanup System Image: YES      6. Reset Image Base: YES)
    )
    echo.
    echo ============================================================
    echo 0. Start the process
    echo ============================================================
    echo.
    choice /c 12345609 /n /m "Change a menu option, press 0 to start, or 9 to exit: "
    if errorlevel 8 goto :eof
    if errorlevel 7 goto :mainboard
    if errorlevel 6 (if %resetbase%==1 (set resetbase=0) else (set resetbase=1))&goto :mainmenu
    if errorlevel 5 (if %cleanup%==1 (set cleanup=0) else (set cleanup=1))&goto :mainmenu
    if errorlevel 4 (if %net35%==1 (set net35=0) else (set net35=1))&goto :mainmenu
    if errorlevel 3 goto :dismmenu
    if errorlevel 2 goto :repomenu
    if errorlevel 1 goto :targetmenu
    goto :mainmenu
    
    :mainboard
    if %winbuild% lss 10240 (
    if /i "%target%"=="%SystemDrive%" (goto :mainmenu)
    if /i "%dismroot%"=="%windir%\system32\dism.exe" (goto :mainmenu)
    )
    if "%repo%"=="" (goto :mainmenu)
    if /i "%target%"=="%SystemDrive%" (set dismtarget=/online&set "mountdir=%target%"&set online=1) else (set dismtarget=/image:"%mountdir%")
    cls
    setlocal enableextensions
    setLocal EnableDelayedExpansion
    DEL /F /Q %systemroot%\Logs\DISM\* >nul 2>&1
    call :extract
    if %_sum%==0 goto :fin
    if %online%==1 (
    call :update
    if %net35%==1 call :enablenet35
    )
    if %offline%==1 (
    call :update
    if %net35%==1 call :enablenet35
    )
    if %wim%==1 call :mount "%target%"
    if %dvd%==1 (
    call :mount "%target%\sources\install.wim"
    set imgcount=%bootimg%&call :mount "%target%\sources\boot.wim"
    if defined isoupdate (
      for %%a in (%isoupdate%) do (expand.exe -f:* "%repo%\%%a" "%target%\sources" >nul)
    )
    xcopy /CRY "%target%\efi\microsoft\boot\fonts" "%target%\boot\fonts" >nul
    if %net35%==1 if exist "%target%\sources\sxs" (rmdir /s /q "%target%\sources\sxs" >nul)
    )
    if exist "%~dp0winre.wim" del /f /q "%~dp0winre.wim" >nul
    goto :fin
    
    :extract
    title Preparing Packages
    call :cleaner
    cls
    if not exist "%cab_dir%" mkdir "%cab_dir%"
    call :counter
    if %_cab% neq 0 (set msu=0&for /f %%G in ('dir /b *Windows10*%arch%*.cab') do (set package=%%G&call :cab1))
    if %_msu% neq 0 (
    echo ============================================================
    echo Extracting .cab files from .msu files
    echo ============================================================
    echo.
    set msucab=&set msu=1&set count=0
    for /f %%G in ('dir /b *Windows10*%arch%*.msu') do (set package=%%G&call :cab1)
    )
    if %_sum%==0 (echo.&echo All detected updates are found installed&goto :eof)
    echo.
    echo ============================================================
    echo Extracting files from update cabinets ^(.cab^)
    echo *** This will require some disk space, please be patient ***
    echo ============================================================
    echo.
    set count=0&set isoupdate=
    rem cd /d "%cab_dir%"
    for /f %%G in ('dir /b *Windows10*%arch%*.cab') do (call :cab2 %%G)
    title Installer for Windows 10 Updates
    goto :eof
    
    :cab1
    for /f "tokens=2 delims=-" %%V in ('dir /b %package%') do set kb=%%V
    if %online%==1 if exist "%target%\Windows\servicing\packages\package_*_for_%kb%~*10.0*.mum" (set /a _sum-=1&goto :eof)
    if %offline%==1 if exist "%target%\Windows\servicing\packages\package_*_for_%kb%~*10.0*.mum" (set /a _sum-=1&goto :eof)
    if %msu% equ 0 goto :eof
    set "msucab=!msucab! %kb%"
    set /a count+=1
    echo %count%/%_msu%: %package%
    expand.exe -f:*Windows*.cab %package% "%repo%" >nul
    goto :eof
    
    :cab2
    set "package=%1"
    set "dest=%cab_dir%\%~n1"
    set /a count+=1
    echo %count%/%_sum%: %package%
    rmdir /s /q "%dest%" 1>nul 2>nul
    mkdir "%dest%"
    expand.exe -f:* "%package%" "%dest%" 1>nul 2>nul || (set "directcab=!directcab! %package%")
    if not exist "%dest%\update.mum" (set "isoupdate=!isoupdate! %package%"&goto :eof)
    if not exist "%dest%\*cablist.ini" goto :eof
    expand.exe -f:* "%dest%\*.cab" "%dest%" 1>nul 2>nul || (set "directcab=!directcab! %package%")
    del /f /q "%dest%\*cablist.ini" 1>nul 2>nul
    del /f /q "%dest%\*.cab" 1>nul 2>nul
    goto :eof
    
    :mount
    if exist "%mountdir%" (
    "%dismroot%" /Unmount-Wim /MountDir:"%mountdir%" /Discard >nul 2>&1
    "%dismroot%" /Cleanup-Wim >nul 2>&1
    rmdir /s /q "%mountdir%" >nul
    )
    if exist "%winremount%" (
    "%dismroot%" /Unmount-Wim /MountDir:"%winremount%" /Discard >nul 2>&1
    "%dismroot%" /Cleanup-Wim >nul 2>&1
    rmdir /s /q "%winremount%" >nul
    )
    if not exist "%mountdir%" mkdir "%mountdir%"
    for /L %%i in (1, 1, %imgcount%) do (
    echo.
    echo ============================================================
    echo Mounting %~nx1 - index %%i/%imgcount%
    echo ============================================================
    "%dismroot%" /Mount-Wim /Wimfile:%1 /Index:%%i /MountDir:"%mountdir%"
    if %errorlevel% neq 0 goto :E_MOUNT
    call :update
    if %net35%==1 call :enablenet35
    if %dvd%==1 if exist "%mountdir%\sources\setup.exe" (
    xcopy /CDRY "%mountdir%\sources" "%target%\sources" 1>nul 2>nul
    del /f /q "%target%\sources\background.bmp" 1>nul 2>nul
    del /f /q "%target%\sources\xmllite.dll" 1>nul 2>nul
    )
    attrib -S -H -I "%mountdir%\Windows\System32\Recovery\winre.wim" 1>nul 2>nul
    if exist "%mountdir%\Windows\System32\Recovery\winre.wim" if not exist "%~dp0winre.wim" (
      mkdir "!winremount!"
      echo.
      echo ============================================================
      echo Updating winre.wim
      echo ============================================================
      copy "!mountdir!\Windows\System32\Recovery\winre.wim" "%~dp0winre.wim" >nul
      "!dismroot!" /Mount-Wim /Wimfile:"%~dp0winre.wim" /Index:1 /MountDir:"!winremount!"
      if %errorlevel% neq 0 goto :E_MOUNT
      call :update winre
      if !discardre!==1 (
      "!dismroot!" /Unmount-Wim /MountDir:"!winremount!" /Discard
      if !errorlevel! neq 0 goto :E_MOUNT
      ) else (
      "!dismroot!" /Image:"!winremount!" /Cleanup-Image /StartComponentCleanup /ResetBase
      if exist "!winremount!\Windows\WinSxS\ManifestCache\*.bin" (
      takeown /f "!winremount!\Windows\WinSxS\ManifestCache\*.bin" /A >nul 2>&1
      icacls "!winremount!\Windows\WinSxS\ManifestCache\*.bin" /grant *S-1-5-32-544:F >nul 2>&1
      del /f /q "!winremount!\Windows\WinSxS\ManifestCache\*.bin" >nul 2>&1
      )
      if exist "!winremount!\Windows\WinSxS\Temp\PendingDeletes\*" (
      takeown /f "!winremount!\Windows\WinSxS\Temp\PendingDeletes\*" /A >nul 2>&1
      icacls "!winremount!\Windows\WinSxS\Temp\PendingDeletes\*" /grant *S-1-5-32-544:F >nul 2>&1
      del /f /q "!winremount!\Windows\WinSxS\Temp\PendingDeletes\*" >nul 2>&1
      )
      if exist "!winremount!\Windows\WinSxS\Temp\TransformerRollbackData\*" (
      takeown /f "!winremount!\Windows\WinSxS\Temp\TransformerRollbackData\*" /R /A >nul 2>&1
      icacls "!winremount!\Windows\WinSxS\Temp\TransformerRollbackData\*" /grant *S-1-5-32-544:F /T >nul 2>&1
      del /s /f /q "!winremount!\Windows\WinSxS\Temp\TransformerRollbackData\*" >nul 2>&1
      )
      if exist "!winremount!\Windows\inf\*.log" (
      del /f /q "!winremount!\Windows\inf\*.log" >nul 2>&1
      )
      "!dismroot!" /Unmount-Wim /MountDir:"!winremount!" /Commit
      if !errorlevel! neq 0 goto :E_MOUNT
      "!dismroot!" /Export-Image /SourceImageFile:"%~dp0winre.wim" /SourceIndex:1 /DestinationImageFile:"%~dp0temp.wim"
      move /y "%~dp0temp.wim" "%~dp0winre.wim" >nul
      )
    )
    if exist "%mountdir%\Windows\System32\Recovery\winre.wim" if exist "%~dp0winre.wim" (
    echo.
    echo ============================================================
    echo Adding updated winre.wim
    echo ============================================================
    echo.
    copy /y "%~dp0winre.wim" "%mountdir%\Windows\System32\Recovery"
    )
    echo.
    echo ============================================================
    echo Unmounting %~nx1 - index %%i/%imgcount%
    echo ============================================================
    if !discard!==1 (
    "%dismroot%" /Unmount-Wim /MountDir:"%mountdir%" /Discard
    ) else (
    "%dismroot%" /Unmount-Wim /MountDir:"%mountdir%" /Commit
    )
    if %errorlevel% neq 0 goto :E_MOUNT
    )
    echo.
    echo ============================================================
    echo Rebuilding %~nx1
    echo ============================================================
    "%dismroot%" /Export-Image /SourceImageFile:%1 /All /DestinationImageFile:"%~dp0temp.wim"
    move /y "%~dp0temp.wim" %1 >nul
    goto :eof
    
    :update
    title Processing Updates
    if [%1]==[] (
    echo.
    echo ============================================================
    echo Checking Updates...
    echo ============================================================
    echo.
    if %online%==1 (set dismtarget=/online) else (set dismtarget=/image:"%mountdir%")
    set "mumtarget=%mountdir%"
    ) else (
    echo.
    set dismtarget=/image:"%winremount%"
    set "mumtarget=%winremount%"
    )
    set servicingstack=
    set cumulative=
    set discard=0
    set discardre=0
    set ldr=&set listc=0&set list=1&set AC=100
    rem cd /d "%cab_dir%"
    set _sum=0
    if exist "*.cab" (for /f %%G in ('dir /b *Windows10*%arch%*.cab') do (call set /a _sum+=1))
    if exist "*.cab" (for /f %%G in ('dir /b *Windows10*%arch%*.cab') do (call :mum %%G))
    if [%1]==[] if %_sum%==0 if exist "%mountdir%\sources\recovery\RecEnv.exe" (call set discard=1&echo All applicable updates are found installed&goto :eof)
    if [%1]==[] if %_sum%==0 (echo All applicable updates are found installed&goto :eof)
    if not [%1]==[] if %_sum%==0 (call set discardre=1&echo All applicable updates are found installed&goto :eof)
    if %listc% lss %ac% (set ldr%list%=%ldr%)
    title Installer for Windows 10 Updates
    if defined servicingstack (
    if [%1]==[] (
    echo.
    echo ============================================================
    echo Installing servicing stack update...
    echo ============================================================
    )
    "%dismroot%" %dismtarget% /NoRestart /Add-Package %servicingstack%
    )
    if not defined ldr goto :eof
    if [%1]==[] (
    echo.
    echo ============================================================
    echo Installing updates...
    echo ============================================================
    )
    "%dismroot%" %dismtarget% /NoRestart /Add-Package %ldr%
    if %errorlevel% equ 1726 (
    echo.
    echo retrying..
    "%dismroot%" %dismtarget% /Get-Packages >nul
    "%dismroot%" %dismtarget% /NoRestart /Add-Package %ldr%
    )
    if [%1]==[] call :cleanup
    goto :eof
    
    :mum
    if %listc% geq %ac% (set /a AC+=100&set /a list+=1&set ldr%list%=%ldr%&set ldr=)
    set /a listc+=1
    set "package=%1"
    set "dest=%cab_dir%\%~n1"
    if not exist "%dest%\update.mum" (set /a _sum-=1&goto :eof)
    for /f "tokens=2 delims=-" %%V in ('dir /b %package%') do set kb=%%V
    if exist "%mumtarget%\Windows\servicing\packages\package_*_for_%kb%~*10.0*.mum" (set /a _sum-=1&goto :eof)
    if exist "%mumtarget%\sources\recovery\RecEnv.exe" (
    findstr /i /m "WinPE" "%dest%\update.mum" 1>nul 2>nul || (set /a _sum-=1&goto :eof)
    if exist "%dest%\*_netfx4-netfx_skuidentifier_*.manifest" (set /a _sum-=1&goto :eof)
    )
    if exist "%dest%\*_adobe-flash-for-windows_*.manifest" if not exist "%mumtarget%\Windows\servicing\packages\Adobe-Flash-For-Windows-Package*.mum" (set /a _sum-=1&goto :eof)
    if exist "%dest%\*_microsoft-windows-servicingstack_*.manifest" (set "servicingstack=!servicingstack! /packagepath:%dest%\update.mum"&goto :eof)
    findstr /i /m "Package_for_RollupFix" "%dest%\update.mum" 1>nul 2>nul && (set "cumulative=!cumulative! /packagepath:%dest%\update.mum")
    for %%a in (%directcab%) do (
    if /i !package!==%%a (set "ldr=!ldr! /packagepath:!package!"&goto :eof)
    )
    set ldr=!ldr! /packagepath:%dest%\update.mum
    goto :eof
    
    :enablenet35
    if exist "%mumtarget%\sources\recovery\RecEnv.exe" goto :eof
    if exist "%mumtarget%\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe" goto :eof
    if not defined net35source (
    for %%b in (D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do if exist "%%b:\sources\sxs\*netfx3*.cab" set "net35source=%%b:\sources\sxs"
    if %dvd%==1 if exist "%target%\sources\sxs\*netfx3*.cab" (set "net35source=%target%\sources\sxs")
    if %wim%==1 for /f "delims=" %%i in ('dir /b /s "%target%"') do if exist "%%~dpisxs\*netfx3*.cab" set "net35source=%%~dpisxs"
    )
    if not defined net35source goto :eof
    title Processing .NET 3.5
    echo.
    echo ============================================================
    echo Adding .NET Framework 3.5 feature
    echo ============================================================
    "%dismroot%" %dismtarget% /NoRestart /Enable-Feature /FeatureName:NetFx3 /Source:"%net35source%"
    if defined cumulative (
    echo.
    echo ============================================================
    echo Reinstalling cumulative update...
    echo ============================================================
    "%dismroot%" %dismtarget% /NoRestart /Add-Package %cumulative%
    )
    call :cleanup
    goto :eof
    
    :counter
    set _msu=0
    set _cab=0
    set _sum=0
    cd /d "%repo%"
    if exist "*%arch%*.msu" (for /f %%a in ('dir /b *Windows10*%arch%*.msu') do (call set /a _msu+=1))
    if exist "*%arch%*.cab" (for /f %%a in ('dir /b *Windows10*%arch%*.cab') do (call set /a _cab+=1))
    set /a _sum=%_msu%+%_cab% >nul
    goto :eof
    
    :cleaner
    cd /d "%~dp0"
    if exist "%cab_dir%\*" (
    echo.
    echo ============================================================
    echo Removing temporary extracted files...
    echo ============================================================
    echo.
    rmdir /s /q "%cab_dir%" >nul
    )
    if defined msucab (
      for %%a in (%msucab%) do (del /f /q "%repo%\*%%a*.cab" >nul)
    )
    goto :eof
    
    :cleanup
    if %online%==1 (set ksub=SOFTWARE) else (set ksub=SOFTWIM)
    if exist "%mountdir%\sources\recovery\RecEnv.exe" (
    echo.
    echo ============================================================
    echo Resetting WinPE image base
    echo ============================================================
    "%dismroot%" /Image:"%mountdir%" /Cleanup-Image /StartComponentCleanup /ResetBase
    )
    if %cleanup%==1 if not exist "%mountdir%\sources\recovery\RecEnv.exe" if not exist "%mountdir%\Windows\WinSxS\pending.xml" (
    if %resetbase%==0 (
    if %online%==0 (reg load HKLM\%ksub% "%mountdir%\Windows\System32\Config\SOFTWARE" >nul)
    reg add HKLM\%ksub%\Microsoft\Windows\CurrentVersion\SideBySide\Configuration /v DisableResetbase /t REG_DWORD /d 1 /f >nul
    if %online%==0 (reg unload HKLM\%ksub% >nul)
    echo.
    echo ============================================================
    echo Cleaning up OS image
    echo ============================================================
    "%dismroot%" /Image:"%mountdir%" /Cleanup-Image /StartComponentCleanup
    ) else (
    if %online%==0 (reg load HKLM\%ksub% "%mountdir%\Windows\System32\Config\SOFTWARE" >nul)
    reg add HKLM\%ksub%\Microsoft\Windows\CurrentVersion\SideBySide\Configuration /v DisableResetbase /t REG_DWORD /d 0 /f >nul
    if %online%==0 (reg unload HKLM\%ksub% >nul)
    echo.
    echo ============================================================
    echo Resetting OS image base
    echo ============================================================
    "%dismroot%" /Image:"%mountdir%" /Cleanup-Image /StartComponentCleanup /ResetBase
    )
    )
    if exist "%mountdir%\Windows\WinSxS\ManifestCache\*.bin" (
    takeown /f "%mountdir%\Windows\WinSxS\ManifestCache\*.bin" /A >nul 2>&1
    icacls "%mountdir%\Windows\WinSxS\ManifestCache\*.bin" /grant *S-1-5-32-544:F >nul 2>&1
    del /f /q "%mountdir%\Windows\WinSxS\ManifestCache\*.bin" >nul 2>&1
    )
    if exist "%mountdir%\Windows\WinSxS\Temp\PendingDeletes\*" (
    takeown /f "%mountdir%\Windows\WinSxS\Temp\PendingDeletes\*" /A >nul 2>&1
    icacls "%mountdir%\Windows\WinSxS\Temp\PendingDeletes\*" /grant *S-1-5-32-544:F >nul 2>&1
    del /f /q "%mountdir%\Windows\WinSxS\Temp\PendingDeletes\*" >nul 2>&1
    )
    if exist "%mountdir%\Windows\WinSxS\Temp\TransformerRollbackData\*" (
    takeown /f "%mountdir%\Windows\WinSxS\Temp\TransformerRollbackData\*" /R /A >nul 2>&1
    icacls "%mountdir%\Windows\WinSxS\Temp\TransformerRollbackData\*" /grant *S-1-5-32-544:F /T >nul 2>&1
    del /s /f /q "%mountdir%\Windows\WinSxS\Temp\TransformerRollbackData\*" >nul 2>&1
    )
    if exist "%mountdir%\Windows\inf\*.log" (
    del /f /q "%mountdir%\Windows\inf\*.log" >nul 2>&1
    )
    if exist "%mountdir%\Windows\CbsTemp\*" (
    for /f %%i in ('"dir /s /b /ad %mountdir%\Windows\CbsTemp\*" 2^>nul') do (RD /S /Q %%i >nul 2>&1)
    del /s /f /q "%mountdir%\Windows\CbsTemp\*" >nul 2>&1
    )
    goto :eof
    
    :targetmenu
    cls
    echo ============================================================
    echo Enter the path for one of:
    echo - Distribution folder ^(extracted iso, copied dvd/usb^)
    echo - WIM file
    echo - Mounted directory, offline image drive letter
    echo.
    echo or just press 'Enter' to return to options menu
    echo ============================================================
    echo.
    set /p _pp=
    if "%_pp%"=="" goto :mainmenu
    if "%_pp:~-1%"=="\" set "_pp=%_pp:~0,-1%"
    set "target=%_pp%"
    if /i "%target%"=="%SystemDrive%" goto :mainmenu
    echo %target%| findstr /E /I "\.wim" >nul
    if %errorlevel%==0 (
    set wim=1
    ) else (
    if exist "%target%\boot\bcd" set dvd=1
    if exist "%target%\Windows\regedit.exe" set offline=1
    )
    if %offline%==0 if %wim%==0 if %dvd%==0 (set "MESSAGE=Specified location is not valid"&goto :E_Target)
    if %offline%==1 (
    dir /b "%target%\Windows\servicing\Version\10.0.*" 1>nul 2>nul || (set "MESSAGE=Detected target offline image is not Windows 10"&goto :E_Target)
    set "mountdir=%target%"
    if exist "%target%\Windows\SysWOW64\*" (set arch=x64) else (set arch=x86)
    )
    if %dvd%==1 (
    dism /english /get-wiminfo /wimfile:"%target%\sources\install.wim" /index:1 | find /i "Version : 10.0" >nul || (set "MESSAGE=Detected install.wim version is not Windows 10"&goto :E_Target)
    for /f "tokens=4 delims=:. " %%i in ('dism /english /get-wiminfo /wimfile:"%target%\sources\install.wim" /index:1 ^| find /i "Version :"') do set build=%%i
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%\sources\install.wim" /index:1 ^| find /i "Architecture"') do set arch=%%i
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%\sources\install.wim" ^| findstr "Index"') do set imgcount=%%i
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%\sources\boot.wim" ^| findstr "Index"') do set bootimg=%%i
    )
    if %wim%==1 (
    dism /english /get-wiminfo /wimfile:"%target%" /index:1 | find /i "Version : 10.0" >nul || (set "MESSAGE=Detected wim file version is not Windows 10"&goto :E_Target)
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%" /index:1 ^| find /i "Architecture"') do set arch=%%i
    for /f "tokens=2 delims=: " %%i in ('dism /english /get-wiminfo /wimfile:"%target%" ^| findstr "Index"') do set imgcount=%%i
    )
    set "repo=%cd%"
    call :counter
    if %_sum%==0 set "repo="
    goto :mainmenu
    
    :repomenu
    cls
    echo ============================================================
    echo Enter the Updates location path
    echo.
    echo or just press 'Enter' to return to options menu
    echo ============================================================
    echo.
    set /p _pp=
    if "%_pp%"=="" goto :mainmenu
    if "%_pp:~-1%"=="\" set "_pp=%_pp:~0,-1%"
    set "repo=%_pp%"
    if not exist "%repo%\*Windows10*.msu" if not exist "%repo%\*Windows10*.cab" (goto :E_Repo)
    goto :mainmenu
    
    :dismmenu
    cls
    echo.
    echo If current OS is lower than Windows 10, and Windows 10 ADK is not detected
    echo you must install it, or specify a manual Windows 10 dism.exe for integration
    echo you can select dism.exe located in Windows 10 distribution "sources" folder
    echo.
    echo.
    echo Enter the full path for dism.exe
    echo.
    echo or just press 'Enter' to return to options menu
    echo ============================================================
    echo.
    set /p _pp=
    if "%_pp%"=="" goto :mainmenu
    set "dismroot=%_pp%"
    if not exist "%dismroot%" (
    echo not found: "%dismroot%"
    pause
    set "dismroot=%windir%\system32\dism.exe"
    )
    "%dismroot%" /? | findstr /I /B "Version" >dismver.txt
    for /f "tokens=4 delims=:. " %%i in (dismver.txt) do set _ver=%%i
    del /f /q dismver.txt
    if %_ver% lss 10240 (
    echo.
    echo ERROR: DISM version is less than 10.0.10240.16384
    pause
    set "dismroot=%windir%\system32\dism.exe"
    )
    goto :mainmenu
    
    :E_Target
    echo.
    echo ============================================================
    echo ERROR: %MESSAGE%
    echo ============================================================
    echo.
    echo Press any key to continue.
    pause >nul
    set "target=%SystemDrive%"
    goto :mainmenu
    
    :E_Repo
    echo.
    echo ============================================================
    echo ERROR: Specified location is not valid
    echo ============================================================
    echo.
    echo Press any key to continue.
    pause >nul
    set "repo=%cd%"
    call :counter
    if %_sum%==0 set "repo="
    goto :mainmenu
    
    :E_MOUNT
    echo.
    echo ============================================================
    echo ERROR: Could not mount or unmount WIM image
    echo ============================================================
    echo.
    echo Press any key to exit.
    pause >nul
    exit
    
    :E_Admin
    echo.
    echo ============================================================
    echo ERROR: right click on the script and 'Run as administrator'
    echo ============================================================
    echo.
    echo Press any key to exit.
    pause >nul
    goto :eof
    
    :ISO
    if not exist "%~dp0oscdimg.exe" if not exist "%~dp0cdimage.exe" goto :eof
    if exist "%~dp0Win10Updated.iso" (echo Win10Updated.iso already exist in current directory&goto :eof)
    echo.
    echo ============================================================
    echo Creating updated ISO file...
    echo ============================================================
    echo.
    if exist "%~dp0cdimage.exe" (set _ff=cdimage.exe) else (set _ff=oscdimg.exe)
    %_ff% -m -o -u2 -udfver102 -bootdata:2#p0,e,b"%target%\boot\etfsboot.com"#pEF,e,b"%target%\efi\microsoft\boot\efisys.bin" -l"%build%u" "%target%" Win10_%build%_Updated.iso
    goto :eof
    
    :fin
    title Installer for Windows 10 Updates
    call :cleaner
    if %dvd%==1 (if exist "%mountdir%" rmdir /s /q "%mountdir%" >nul)
    if %wim%==1 (if exist "%mountdir%" rmdir /s /q "%mountdir%" >nul)
    if exist "%winremount%" rmdir /s /q "%winremount%" >nul
    if %dvd%==1 if %iso%==1 call :ISO
    echo.
    echo ============================================================
    echo    Finished
    echo ============================================================
    echo.
    if %online%==1 if exist "%windir%\winsxs\pending.xml" (
    echo.
    echo ============================================================
    echo System restart is required to complete installation
    echo ============================================================
    echo.
    )
    echo.
    echo Press any key to exit.
    pause >nul
    goto :eof
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    49,842
    104,322
    450
  10. Senjanov

    Senjanov MDL Member

    Jul 29, 2011
    217
    44
    10
    I edit the code by mistake I think, hmm through iso. its that can be I used without windows kits?
    then updated windows just need last update not like I do? esd come with 15063.483 then update first to 15063.502.. then 15063.540.. until last update.. or just need put last update 15063.675 like you did? sorry I just newbie trying to learn new things:rolleyes:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    49,842
    104,322
    450
    Not iso, it's the unpacked iso folder left by setting ESD>ISO to skip iso creating.
     
  12. Senjanov

    Senjanov MDL Member

    Jul 29, 2011
    217
    44
    10
    oh thats result extracting iso..ups.. sorry I just wake up..
    and btw for updating.. just need last update .msu?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    49,842
    104,322
    450
    In about 32min there will be new CU and probably a new Flash update.
     
  14. Senjanov

    Senjanov MDL Member

    Jul 29, 2011
    217
    44
    10
    what an update now? maybe there will be update fix for FCU too.:p
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    49,842
    104,322
    450
    For all supported OS's there will be updates today, it's the monthly patchtuesday at MSFT ;)
     
  16. SAM-R

    SAM-R MDL Guru

    Mar 21, 2015
    5,918
    5,758
    180
    CU's for Win 7, Win 8.1, Win 10 1511, 1607. 1703, and 1709.
     
  17. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    49,842
    104,322
    450
    And 2015 LTSB (1507):D

    Isn't 1511 aka 10586 support stopped?
     
  18. cajg

    cajg MDL Novice

    Jan 4, 2010
    45
    5
    0
    1511 recieved extended support, 6 more months.

    Btw if deferring feature updates set to 180 days on my 1703, then how does it work? I mean its 180 days after the general availabilty of 1709?
     
  19. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    49,842
    104,322
    450