2014-09-18 66 views

回答

0

爲了產生MsiTran.exe可用。你在安裝Windows SDK(或包含在Visual Studio中)時可以得到它。

隨着msitran -g,你可以很容易地生成變換。 使用msitran -a您可以輕鬆應用轉換例如在批處理或腳本中,當然還有使用InstallShield或其他工具創建的變換。

像微星的一切,MsiTran參數是相當不錯的記錄。在該工具的Internet(MSDN)中搜索文檔。

值得一提的是,儘管流行的看法相反,您可以獨立於ProductCode,UpgradeCode等定義變換。 這允許像。一般的「diff」一樣使用.mst,換句話說就是自動編輯。

你可以在MSI中添加你需要的行和列,選擇一個MSI(最好是一個簡單的小MSI),應用MsiTran,它採用「原始MSI」和「編輯MSI」的區別,將結果保存在變換中。 如果您使用了正確的參數,這可以作爲所有其他MSI的「模板」。

(從技術上講,這些差異時SQL commannds /爲MSI數據庫查詢,但這不應該打擾最次。)

提第二個重要的事情是,變換包含錯誤配置。例如。如果通過轉換添加屬性,並且屬性已經存在,則可能會拋出錯誤或不拋出錯誤。 我想在大多數情況下避免這種錯誤,因爲例如可以無誤地再次應用變換。但另一方面,如果您的MSI與您預期的一樣,他們可以給出一個很好的測試。 錯誤配置也可以通過記錄的命令行參數進行設置。

提到的一樣,你可以創建,查看和編輯,當然也變換與像 的InstallShield或insted的圖形化工具。要改變一些依賴於邏輯條件字段

智能的編輯都不能直接與轉換。爲此,您可以使用經典編程。大多數管理員使用腳本語言如VBS或JScript等等。