https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e34d3cf3792b9ae44d1e8…
commit e34d3cf3792b9ae44d1e814a1ca160e1714aa71f
Author: Colin Finck <colin(a)reactos.org>
AuthorDate: Wed Apr 24 10:48:15 2019 +0200
Commit: Colin Finck <colin(a)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" (