2011-10-17 47 views
3

在構建MSI安裝程序時,我們使用Wix工具heat.exe來收集文件。問題是由該工具生成的XML與每個用戶的安裝類型不兼容。有沒有辦法讓它生成有效的代碼,還是有XSLT修復已經生成的代碼?如何正確運行heat.exe工具來生成與InstallScope ='perUser'兼容的Wix代碼?

謝謝!

+0

基於你的問題,我知道你對heat.exe的'-t'開關了解了多少,它允許你對生成的XML運行任何XSLT?如果是這樣,你的問題只是關於是否有一個現成的XSLT來調整你的XML是PerUser友好的,那麼我不知道任何。你必須自己創建一個... –

+1

謝謝!我已經完成了XSLT,除了某些[目錄條目](http://pastebin.com/HaiJaCX6)上的幾個ICE64錯誤。由於這些條目缺少「組件」定義,我不確定在哪裏添加相關的「RemoveFolder」條目(這裏是[示例](http://pastebin.com/Z7L3nrag))。 – spektom

回答

0

在安裝過程中或按照MSI本身的屬性表中的規定,通過ALLUSERS property定義了每個用戶的設置。 MSI組件本身沒有編碼來設置它們是支持每個用戶還是每臺機器的安裝。

基於這種相當可疑的每用戶/每臺機器概念應用於MSI安裝的更改可在this article explaining the issue of installation context中查看。

我發現每個用戶的安裝比他們的價值更麻煩。特別是當您遇到某些用戶喜歡每臺計算機安裝並且其他用戶喜歡每個用戶安裝的情況時。快速升級場景變得複雜。