2014-02-20 89 views
2

我有一个WIX项目和WIX的引导程序。 安装完成安装后,我正在使用WIX的Reboot属性来提示重启计算机。 但是当我使用Bootstrapper运行我的msi时,它并没有提示重启机器的消息。下面 是我的代码,我在维克斯使用Product.wxs文件: -安装后提示重新启动消息WIX引导程序

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

我现在用的微星链以下引导程序项目: -

<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运行它没有提示重启消息?

回答

1

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

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

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

+2

在''(msi)元素的''元素(烧伤)而不是''中使用'但是,''元素仅在''元素中可用,而在''元素中不可用。 – sky

1

REBOOT属性不强制重新启动,并且在上下文中使用它是Windows Installer属性而不是WiX属性。 REBOOT属性告诉Windows发生重启时应该发生什么行为。正如Nimish所说,如果您希望在MSI安装结束时重新引导并希望得到它,您需要在MSI文件中执行ScheduleReboot操作,或者如果您想要这样做,则需要ForceReboot。

还有一个问题,为什么你想强制重启首先。如果发生了需要的事情,Windows将重新启动 - 您不需要假设仅仅因为安装已完成而需要重新启动。

2

由于Windows 8(甚至在Windows 7)中的事件和安全性的愚蠢行为,重新启动可能是必要的。这是确保所有服务都已正确启动的“最简单”方法。我希望正如前面提到的那样是最好的选择,这样中间就不会放弃引导程序。

相关问题