@echo off :: // *************************************************************************** :: // :: // Copyright (c) Microsoft Corporation. All rights reserved. :: // :: // Microsoft Deployment Toolkit Solution Accelerator :: // :: // File: SetupRollback.cmd :: // :: // Version: 6.3.8456.1000 :: // :: // Purpose: Called after a failed in-place upgrade. This batch file :: // sets itself to re-run after reboots, and then calls :: // LiteTouch.wsf to run the task sequence. :: // :: // *************************************************************************** :: Workaround for incorrectly-registered TS environment reg delete HKCR\Microsoft.SMS.TSEnvironment /f > nul 2>&1 set _MDTUpgrade=TRUE reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v Win10UpgradeStatusCode /t REG_SZ /d "Failure" /f >> %WINDIR%\SetupRollback.log reg add "HKEY_LOCAL_MACHINE\SYSTEM\Setup" /v SetupType /t REG_DWORD /d 2 /f >> %WINDIR%\SetupRollback.log reg add "HKEY_LOCAL_MACHINE\SYSTEM\Setup" /v CmdLine /t REG_SZ /d "%WINDIR%\Setup\Scripts\SetupRollback.cmd" /f >> %WINDIR%\SetupRollback.log echo %DATE%-%TIME% Registered SetupRollback.cmd in registry >> %WINDIR%\SetupRollback.log for %%d in (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 if exist %%d:\MININT\Scripts\LiteTouch.wsf (wscript.exe %%d:\MININT\Scripts\LiteTouch.wsf ) IF %ERRORLEVEL% EQU -2147021886 ( echo %DATE%-%TIME% ERRORLEVEL = %ERRORLEVEL% >> %WINDIR%\SetupRollback.log echo %DATE%-%TIME% LiteTouch.wsf requested reboot >> %WINDIR%\SetupRollback.log echo %DATE%-%TIME% Rebooting now >> %WINDIR%\SetupRollback.log reg add "HKEY_LOCAL_MACHINE\SYSTEM\Setup" /v SetupShutdownRequired /t REG_DWORD /d 1 /f ) else ( echo %DATE%-%TIME% ERRORLEVEL = %ERRORLEVEL% >> %WINDIR%\SetupRollback.log echo %DATE%-%TIME% LiteTouch.wsf did not request reboot, resetting registry >> %WINDIR%\SetupRollback.log reg add "HKEY_LOCAL_MACHINE\SYSTEM\Setup" /v SetupType /t REG_DWORD /d 0 /f >> %WINDIR%\SetupRollback.log reg add "HKEY_LOCAL_MACHINE\SYSTEM\Setup" /v CmdLine /t REG_SZ /d "" /f >> %WINDIR%\SetupRollback.log set _MDTCleanup=TRUE ) echo %DATE%-%TIME% Exiting SetupRollback.cmd >> %WINDIR%\SetupRollback.log if "%_MDTCleanup%" EQU "TRUE" ( del %WINDIR%\Setup\Scripts\SetupComplete.cmd del %WINDIR%\Setup\Scripts\SetupRollback.cmd )