在 vdproj 中最后一步重新启动,我该如何添加它?
如何将重新启动操作添加到 vdproj?
我需要一个 MSI 文件,该文件可在安装结束时重新启动电脑。
How can I add the reboot action to a vdproj?
I need an MSI file which restart the PC at the end of the installation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需添加值为“Force”的“REBOOT”属性,这将提示用户在安装完成后重新启动,或者如果没有用户界面则自动重新启动。
如果您无法在 vdjproj 中执行此操作,则只需在构建设置后使用 Orca 编辑 MSI 的属性表即可。
如果要强制重新启动,可以设置 REBOOT=Force 和 REBOOTPROMPT=Suppress,这样就不会提示用户。
或者,您可以使用
ForceReboot
操作在安装过程中重新启动,或使用ScheduleReboot
安排安装完成后重新启动。 同样,如果您无法在 vdjproj 中执行此操作,则可以使用 Orca 添加其中任何一个操作。您可以使用以下 VBS 执行类似的操作
Just add the "REBOOT" property with the value "Force" which will prompt the user to reboot once setup is complete, or automatically reboot if there is no user interface.
If you cannot do this in the vdjproj then just use Orca to edit the Property table of the MSI once the setup is built.
If you want to force a reboot, you can set REBOOT=Force and REBOOTPROMPT=Suppress so that the user is not prompted.
Alternatively you can use the
ForceReboot
action to reboot during the middle of installation orScheduleReboot
to schedule a reboot once the installation is complete. Again either of these actions can be added using Orca if you cannot do so in the vdjproj.You can do something like this using the following VBS
这是我基于 saschabeaumont 的 答案。
要自动修改 .msi 以在每次构建安装程序时提示重新启动:
在 .vdproj 部署项目文件所在的文件夹中创建一个名为“AddRebootPrompt.vbs”的文件,其中包含下面列出的 VB 脚本。< /p>
在 Visual Studio 解决方案资源管理器中找到部署项目,右键单击并转到“属性”。
在 PostBuildEvent 属性中,粘贴以下内容以在构建安装程序项目后运行脚本:
cscript "$( ProjectDir)AddRebootPrompt.vbs" "$(BuiltOuputPath)"
AddRebootPrompt.vbs 内容:
如果成功,您将看到“添加强制重新启动提示以安装序列”。 构建安装程序项目时,在构建输出日志窗口中。
Here is my solution based on saschabeaumont's answer.
To automatically modify the .msi to prompt for restart every time I build an installer:
Create a file named "AddRebootPrompt.vbs" in the folder where the .vdproj deployment project file is located, with the VB script listed below.
Locate the deployment project in the Visual Studio solution explorer, right-click and go 'Properties'.
In the PostBuildEvent property, paste the following to run the script after building the installer project:
cscript "$(ProjectDir)AddRebootPrompt.vbs" "$(BuiltOuputPath)"
AddRebootPrompt.vbs content:
If successful, you will see "Adding forced reboot prompt to install sequence." in your Build Output log window when building the installer project.
如果您需要重新启动,Windows Installer 应该会自动检测到它。 如果您想重新启动,因为您懒得手动启动服务,则需要找到其他方法(我不知道有什么简单的方法)。
If you need to reboot, Windows Installer should detect it automatically. If you want to reboot as you are too lazy to start services manually, you will need to find some other way (I do not know of any easy way).