在RunOnceEx.CMD文件中指定的每个组件安装后,有什么方法可以重新启动计算机吗?
我正在为Windows XP创建一个无人值守的安装盘,它会在系统上安装Windows后安装一些默认软件。我使用RunOnceEx.cmd文件来定义需要安装的软件,我想要的是在安装每个软件后重启系统。
谢谢和问候,
答案 0 :(得分:0)
这可能不是最有效的解决方案,但它可靠地运行。关键是在开始重新启动过程之前停止RunOnceEx进程(rundll32.exe
)。如果它没有停止,Windows将在以未知顺序关闭之前停止所有进程。如果该命令意味着在杀死RunOnceEx进程之前杀死我们的“Reboot”进程,它将继续在RunOnceEx列表中的下一个项目被杀死之前(因此中止,这不是我们想要的)。
简单的答案,添加一个重启密钥,杀死RunOnceEx进程,然后重新启动:
set %KEY%=HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY%\009 /ve /D "Reboot.." /f
REG ADD %KEY%\009 /v 1 /D "cmd.exe /c taskkill.exe /f /im rundll32.exe & shutdown /r /t 0 /f" /f
这可能会在下次启动时留下残余密钥。因此,为了使其看起来更干净,请在杀死和重新启动之前添加一条手动删除密钥的指令:
set %KEY%=HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY%\009 /ve /D "Reboot.." /f
REG ADD %KEY%\009 /v 1 /D "cmd.exe /c REG DELETE %key%\009 /va /f & taskkill.exe /f /im rundll32.exe & shutdown /r /t 0 /f" /f
希望它有所帮助。
编辑:
在XP中,您可能必须使用tskill
而不是taskkill
,但原则是相同的。