安装WIX Bootstrapper后提示重新启动消息

时间:2014-02-20 08:25:28

标签: wix bootstrapper wix3.7

我有一个WIX项目和一个WIX的Bootstrapper。 我正在使用WIX的Reboot属性在安装完成安装后提示重启机器。 但是当我使用Bootstrapper运行我的msi时,它没有提示重启机器的消息。 下面是我在WIX中的Product.wxs文件中使用的代码: -

 <Property Id="REBOOT" Value="Force"/>

现在我在下面的Bootstrapper项目中使用msi链: -

  <Chain>   

  <MsiPackage  SourceFile=".\Bonjour.msi" Compressed="yes" />
  <MsiPackage  SourceFile=".\Security_IDTools.msi" Compressed="yes" />
  <MsiPackage SourceFile ="$(var.BiodentifySetUp.TargetPath)" Compressed ="yes" DisplayInternalUI="yes" />

    </Chain>

但是当我上次运行msi时,它没有提示重启消息?

3 个答案:

答案 0 :(得分:2)

REBOOT属性不会强制重新启动,并且在您使用它的上下文中是Windows Installer属性而不是WiX属性。 REBOOT属性告诉Windows重新启动时应该发生什么行为。如果您希望在MSI安装结束时重新启动并想要请求它,或者如果您想要执行此操作,则需要在MSI文件中执行ScheduleReboot操作,如Nimish所述。

还有一个问题是为什么要首先强制重启。如果出现需要的情况,Windows将重新启动 - 您无需假设仅因安装已完成而需要重新启动。

答案 1 :(得分:2)

由于Windows 8中的事件和安全性的愚蠢行为(甚至在Windows 7中),可能需要重新启动。这是确保所有服务都已正确启动的“最简单”方法。我希望如前所述,这将是最佳选择,以便中间没有中止引导程序。

答案 2 :(得分:0)

Priyanka如果您有任何计划在重新启动后继续安装,那么请不要使用MSI的重启提示与引导程序。
这是因为它会有效地中止引导程序并且在必要时不会让它有机会重新启动。在 MsiPackage 之后使用<ExitCode Behavior="forceReboot" />您希望它重新启动。强制重启后,Burn将在重新启动后自动恢复,并且将安装其余的MSI / Exe 但是如果你没有任何这样的计划,你可以在你的MSI中使用ScheduleReboot Action

<InstallExecuteSequence>
    <ScheduleReboot After="InstallFinalize"/>
</InstallExecuteSequence>  

这将告诉MSI程序包在成功安装后重新启动 并确保检查日志是否有任何错误。