2012-11-06 40 views
2

我正在考慮使用WiX安裝程序來實施數據庫升級。所以會有幾個組件與SqlScript元素。但我不確定是否可以依靠組件執行順序。我可以確保組件安裝順序嗎?

WiX總是將組件添加到MSI組件表中,以便它們在片段中定義? Windows安裝程序是否保證按照組件表的順序執行它們?

回答

2

不,MSI不按任何給定順序處理組件。這是非確定性的。但是,由WiX提供的SQL腳本自定義操作按給定順序處理腳本。它由SqlScript @ Sequence屬性決定。

當CustomActions評估它將決定哪些腳本需要執行基於哪些組件正在安裝。然後,它會根據Sequence屬性對結果進行排序,並安排它的安排。

我傾向於根據安裝類別使用100 200 300 400之類的東西。

100 - 創建空數據庫

200 - 創建表

300 - 應用約束

400 - 加載數據

500 - 創建等特效對象和觸發

的想法是你不必微管理101和102,而只是把它作爲安裝階段。

相關問題