1
執行我有一個包含下面的代碼片段一個WXS文件:WiX的升級元素不修理
<Upgrade Id="{FE576A6C-AF60-4569-B81D-1B025F88F9D7}">
<UpgradeVersion Property="LCGUID" OnlyDetect="yes"
Minimum="0.0.0" IncludeMinimum="yes"
Maximum="9.0.0" IncludeMaximum="no" />
</Upgrade>
這將尋找另一片安裝的軟件(命名爲LC),並設置GUID來升級版本物業LCGUID。稍後用於驗證是否安裝了正確的LC。
這適用於「安裝」或「升級」軟件。我可以在日誌中看到這一點:
MSI (c) (9C:A8) [02:28:48:422]: PROPERTY CHANGE: Adding LCGUID property. Its value is '{8023DC00-D425-4DE8-808C-C78FAD649A2F}'.
現在,當我嘗試做修復,我也需要這個屬性被填充,但日誌不說的LCGUID什麼。
我懷疑修復時不執行「升級」元素。有人可以驗證並提供可能的解決方案嗎?
這是我最初的解決方案,但是當「搜索組件」功能可用時,我不喜歡使用註冊表。我們從使用記憶屬性模式切換到使用升級GUID,因爲它似乎是一個更好的解決方案。直到我們發現它不適用於修理。 最終,我仍然沒有使用記憶屬性模式。最終目標是使用檢索到的產品GUID來查找我們需要的某個文件。在我的新解決方案中,我簡單地添加了一個帶有GUID的組件,然後再搜索它。這似乎適用於所有情況! 雖然謝謝! – Gurdt