我正在使用Visual Studio 2008编写安装,而且我对安装完全不熟悉。我已经创建了一个安装并使用C#程序集成功编写了一些自定义操作。一个操作设置RunOnce注册表值,现在我需要提示用户在安装完成时重新启动,但我不知道如何。我已经阅读了Installer类文档,但我找不到任何重启的提及。
我假设我需要以某种方式开始调用MsiSetProperty并设置REBOOT属性,但我不知道如何从我的.NET安装程序项目中执行此操作。
答案 0 :(得分: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 :(得分:0)
如果您使用WiX实施安装程序,则需要添加以下内容:
<ScheduleReboot After="InstallFinalize"/>
如果您在Visual Studio中使用了缩减的“安装程序”项目,我不确定......但是此链接here建议CScript命令似乎展示如何将MSI属性注入安装程序项目,就像你想要的那样。
答案 2 :(得分:0)
只需在初始设置MSI中的属性,而不是尝试在运行时更新它。
Visual Studio 2008无论如何都附带了WiX,有关详细信息,请参阅 Visual Studio ships the WiX toolset 。也就是说,我不是Visual Studio 2008用户,所以我不知道是否还有这个用户,或者替代以前的Visual Studio安装项目。