2009-01-17 12 views
0

我正在使用Visual Studio 2008编写安装程序,而且我是一个全新的安装程序。我创建了一个安装并成功地使用C#程序集编写了一些自定义操作。一个动作设置RunOnce注册表值,现在我需要在安装完成时提示用户重新启动,但我不知道如何。我已阅读安装程序类文档,但我找不到任何重新引导。如何提示用户在.NET安装中重启?

我假设我需要以某种方式调用MsiSetProperty并设置一个REBOOT属性,但我不知道如何从我的.NET安装程序项目中执行此操作。

回答

5

谢谢。我最终使用post-build事件来使用以下命令运行批处理文件。最难的部分是追踪WiRunSQL.vbs,这是在"Windows SDK Components for Windows Installer Developers"下载。

cscript "C:\Program Files\Microsoft SDKs\Windows\v6.0\Samples\SysMgmt\MSI\scripts\WiRunSQl.vbs" my.msi "INSERT INTO `Property`(`Property`, `Value`) VALUES ('REBOOT', 'F')" 
+1

谢谢你终于向我展示那个笨脚本所在的位置!我一直在寻找一个多小时。 – azurelogic 2015-01-16 16:22:44

0

如果您正在使用WiX实现您的安装程序,你需要补充一点:

<ScheduleReboot After="InstallFinalize"/> 

如果您使用的Visual Studio切下“安装程序”的项目,我不知道......但是这个链接here建议一个CScript命令似乎显示如何将MSI属性注入安装程序项目,就像您想要的那样。

+0

www.omgili.com链接被(有效)破坏。 – 2013-06-11 20:57:03

0

只需在MSI中初始化属性,而不是在运行时尝试更新它。

的Visual Studio的  2008所 附带维克斯反正看到Visual Studio ships the WiX toolset了解更多详情。这就是说,我不是一个视觉 工作室  2008用户,所以我不知道这是否是另外的,或者替代以前的Visual Studio安装项目。

相关问题