2012-03-11 44 views
3

我想簡化安裝後需要註冊表更改的軟件包的安裝。我想只能將註冊表更改添加到MSI中(我沒有編寫代碼,我只是試圖編輯現有的MSI),並將其部署到遠程,只需要完成它。編輯微星與Orca在安裝時添加註冊表項

任何人都可以提供一些關於如何執行此操作的很好的示例嗎?此外,任何有關修改MSI的書籍建議或對Microsoft提供的內容作出深入解釋的網站都將不勝感激。

謝謝,

回答

4

的MSDN具有一步的如何創建使用ORCA一個MSI軟件包步驟示例。其中一步就是如何添加註冊表信息。你可以找到它here

+0

這確實有幫助,我能夠解決問題,唯一的問題是找到正確的組件來運行它。我基本上只是試圖通過並找出哪個組件似乎是創建最多的註冊表項,然後使用那個。它經過幾次嘗試後才奏效,但有沒有更簡單的方法? – LazarusG 2012-03-13 01:43:44

+0

這是來自MSDN有關組件規則的文章:「將註冊表項添加到組件中,指向文件的任何註冊表項都應該包含在該文件的組件中,其他註冊表項應該與需要它們的文件進行邏輯分組。 – Ciprian 2012-03-13 06:40:46

1

你在找什麼叫做變換。請參閱:

Basic Patch and Transform Concepts in ORCA

基本上你使用ORCA(或InstallShield調諧器或類似的工具)來創建你的註冊表值變換然後將其保存到一個MST文件。從那裏,你可以說:

MSIEXEC/I foo.msi TRANSFORMS = foo.mst

,你會看到你的預期行爲,而不修改原始MSI。此外,如果供應商發佈新的MSI,您很可能會將MST應用於新的MSI。 (YMMV取決於MSI中發佈版本與發佈版本之間的變化。)

順便說一句,儘管安裝開發人員理解變換很重要,但您的問題通常被視爲IT部署問題,可能屬於ServerFault。

另外我應該注意到,InstallShield有一個Transform項目類型,允許您使用InstallShield的完整UI來創建MST,而無需直接處理(除非需要/需要)底層MSI表。

相關問題