2012-02-03 49 views
0

我剛剛開始使用WiX,我非常感謝一些建議。基於UI選項更新xml文件

我已經創建了一個WiX的項目,安裝了幾個Windows服務,但我需要設置不同的服務名稱,用戶名/密碼和config文件的XML,取決於環境。環境通過單選按鈕在UI中設置,即ENVIRONMENT設置爲PROD,UAT或SYSTEST。

我現在不知道如何去做有關環境的變化。我應該爲每個環境創建一個具有條件的組件嗎?這意味着很多重複,也許有一個更優雅的解決方案?有什麼我需要注意的(我讀過,如果我定製名稱,服務可能不會卸載)。

謝謝!

回答

0

既然沒有答案,這還沒有,我想我會說什麼,我終於實現了。

有每個組件重複每一個環境中的狀態會一直保持一個噩夢,所以我決定把所有的環境相關性在一個VBScript自定義操作。當UI不可用時,我必須將其保存到註冊表中並在卸載\升級期間檢索它,但最初它似乎工作得很好。

我儘快有一個問題,因爲我告訴它安裝啓動服務 - 它不承認這個事實的服務正在運行時卸載跑,它雖然窗口告訴我這個文件被鎖定。從日誌中,它已經正確地檢索了服務名稱,所以我不知道爲什麼,但肯定是服務名稱不在msi表中。

這一切都變得有點複雜和混亂(並且讓初學者感到困惑!),所以我決定嘗試一種基於這裏的優秀帖子的另一種方法WiX tricks and tips - 創建實時,測試,培訓...版本使用相同的源文件。

它的工作真的很好,使得處理在不同的分支機構升級(共享相同的ENV)太容易得多。

唯一的缺點是建造時間增加了一個公平一點,但它不是一個問題。 希望這對別人有用。