很多朋友做安装包的时候,所打包的软件需要.NET Framework之类的环境,他们会检测系统是否已经安装了.NET,如果没有,则调用.NET安装包来安装。但是.NET安装完是需要重启动的,一般来说,我们都推荐使用/q/norestart的静默安装函数来使重启动推迟到安装结束时,使用如下:
LaunchAppAndWait(SUPPORTDIR^"dotNetFx40_Full_x86_x64.exe","/q /norestart",WAIT);
.NET在重启后才能生效,但是如果在安装完.NET之后的安装行为中立刻需要使用.NET特性,那么必须让先电脑重新启动,但是重启后让用户再次点击setup.exe来继续安装是不友好的行为,如果能够在重启后自动调用安装包继续下一步安装,那该多么好啊。
因此我的想法是:将setup.exe的路径写入到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
键值下,这样会在你的电脑重启后,自动运行你的setup.exe来继续安装。
记得在安装结束时,写脚本来删除这个键值,不然每次电脑开机都要运行这个setup.exe啦