2013-11-03 143 views
4

我已经通过Inno安装程序创建了安装程序,现在我需要在运行某些文件后重新启动计算机。Inno安装程序:在安装过程中重新启动

所以,我有代码:

.... 
[Files] 
.... 
[Run] 
Filename: firstfile 
RESTART 
Filename: secondfile 
.... 

这可能吗?我找到了一个示例脚本github,但我无法理解如何使用此DetectAndInstallPrerequisites功能。 如果有人可以建议或提供一些简单的例子,我会非常gratefull

回答

4

看看Inno附带的CodePrepareToInstall.iss示例脚本。它显示如何安排重新启动并在安装后自动恢复。 (如果安装更复杂或需要进一步用户输入,则可能需要进一步更改或保存更多值。)

该示例中的缺失链接是,您需要使用ExtractTemporaryFile填写DetectAndInstallPrerequisites函数检索相应的文件(因为它在处理主要的[Files]部分之前运行)和Exec(ExpandConstant('{tmp}\yourfile.exe'), ...)以实际运行该文件。如果这是一个子安装程序,则可以检查其退出代码以确定是否实际需要重新启动,而不是无条件地请求重新启动。

请注意,此代码将在重新引导后再次执行,因此您还需要某种方式来检测子安装是否成功,并跳过尝试再次运行它。通常这是通过尝试检测已安装子组件的版本来完成的。

+0

哦,谢谢你的回答,但这仍然是太沉重的方式。我只是把一些代码放在c#中,当程序开始时,它会运行其他文件。 – Araxnid

相关问题