我有一個現有的WIX安裝程序文件,我試圖弄清楚。在這個文件中我看到定義了兩個自定義操作:從遠程位置WIX升級方案
<Custom Action="CreateBackup" Before="InstallInitialize">
<![CDATA[Installed]]>
</Custom>
<Custom Action="RestoreBackup" After= "InstallFinalize">
<![CDATA[NOT Installed]]>
</Custom>
的CreateBackup功能拷貝一些文件(不直接相關的安裝程序)。恢復將這些文件放回到相同的位置。
現在在升級場景中,我看到以下日誌記錄順序。我已經把的 「安裝」 表面價值括號:
- CreateBackup被跳過(安裝==假)
- InstallInit
- CreateBackup成功(安裝==真)
- InstallInit
- InstallFinalize
- RestoreBackup被跳過(安裝== true)
- InstallFinalize
- RestoreBackup成功(安裝==假)
我有一個關於這幾個問題:
- 據我所知,有一個卸載和安裝在該腳本中去。根據「已安裝」的價值,我得出結論:安裝是先完成的。它是否正確?
- 我看到InstallInit在第一次InstallFinalize之前調用兩次。這是什麼意思?卸載開始時安裝仍然很忙?
- Installed的第一個值是false,所以我猜它是相對於新版本的?但是卸載完成後又如何變成虛假?那麼它是否與舊版本相關?
我正在使用一個MajorUpgrade元素。
希望有人能清楚這一點。
這的確是一個majorupgrade元素。我不知道這是相關的:)。我實際上並沒有試圖解決某些問題,我想了解當前實現的流程。在升級過程中,「已安裝」屬性如何更改?備份和還原的作用是從磁盤上的遠程位置(不直接與此安裝程序相關)中保存一些文件。恢復將這些文件放回。我已經更新了我的問題,使其更清晰一些。 – Frank