我已经通过 Inno Setup 制作了一个安装程序,现在我需要在运行一些文件后重新启动计算机。
所以,我有代码:
....
[Files]
....
[Run]
Filename: firstfile
RESTART
Filename: secondfile
....
这可能吗?我找到了一个示例脚本 github ,但我无法理解如何使用这个 DetectAndInstallPrerequisites 函数。
如果有人可以提供建议或提供一些简单的例子,我将不胜感激
最佳答案
看看 CodePrepareToInstall.iss
Inno 中包含的示例脚本。它显示了如何安排重新启动并在之后自动恢复安装。 (如果您的安装更复杂或提示进一步的用户输入,您可能需要进行进一步的更改或保存更多的值。)
该示例中缺少的链接是您需要填写 DetectAndInstallPrerequisites
函数使用 ExtractTemporaryFile
检索适当的文件(因为它在处理主 [Files]
部分之前运行)和 Exec(ExpandConstant('{tmp}\yourfile.exe'), ...)
实际运行文件。如果这是一个子安装程序,您可以检查其退出代码以确定是否确实需要重新启动,而不是无条件地请求重新启动。
请注意,此代码将在重新启动后再次执行,因此您还需要某种方法来检测子安装是否成功并跳过尝试再次运行它。通常这是通过尝试检测已安装子组件的版本来完成的。
关于installation - 创新设置 : restart in the middle of setup process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19750880/