https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e34d3cf3792b9ae44d1e814a1ca160e1714aa71f
commit e34d3cf3792b9ae44d1e814a1ca160e1714aa71f Author: Colin Finck <co...@reactos.org> AuthorDate: Wed Apr 24 10:48:15 2019 +0200 Commit: Colin Finck <co...@reactos.org> CommitDate: Fri Apr 26 10:02:47 2019 +0200 [REGTEST] Add regtest.cmd to the Run key inside regtest.cmd, so we're also started on the next reboot in case ReactOS crashed *and* the registry has been saved. unattend.inf only allows to add RunOnce entries, which are in theory only executed on the first boot after installation. For almost a decade, this worked anyway to start regtest.cmd again after a ReactOS crash, because the registry and thus the deletion of the RunOnce entry wasn't stored on disk in case of a crash. Thanks to Sylvain for the hint! As Explorer processes the Run key right after RunOnce and therefore picks up regtest.cmd a second time during the first boot, exit the script just after adding the Run key. Otherwise, rosautotest.exe would be started twice, with catastrophic results. --- boot/bootdata/bootcdregtest/regtest.cmd | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/boot/bootdata/bootcdregtest/regtest.cmd b/boot/bootdata/bootcdregtest/regtest.cmd index 29ea7becb2..ec263e1324 100644 --- a/boot/bootdata/bootcdregtest/regtest.cmd +++ b/boot/bootdata/bootcdregtest/regtest.cmd @@ -2,6 +2,15 @@ set WINETEST_DEBUG=0 set WINETEST_PLATFORM=reactos +:: On the first boot, we're started through RunOnce. +:: Add us to the Run key, so we're also started on the next reboot in case ReactOS crashed *and* the registry has been saved. +:: Exit right after that, because Explorer processes the Run key right after RunOnce and therefore picks up regtest.cmd a second time during the first boot. +reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v regtest +if "%errorlevel%"=="1" ( + reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v regtest /t REG_SZ /d "%SystemRoot%\system32\cmd.exe /c regtest.cmd" + exit 0 +) + move C:\ReactOS\bin\redirtest1.dll C:\ReactOS\bin\kernel32test_versioned.dll move C:\ReactOS\bin\testdata\redirtest2.dll C:\ReactOS\bin\testdata\kernel32test_versioned.dll if exist "C:\ReactOS\bin\AHKAppTests.cmd" (