2014-02-20 126 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)中的事件和安全性的愚蠢行爲,重新啓動可能是必要的。這是確保所有服務都已正確啓動的「最簡單」方法。我希望正如前面提到的那樣是最好的選擇,這樣中間就不會放棄引導程序。

相關問題