2011-02-26 37 views
0

我在我的安裝程序項目上運行了一個後期構建vbs腳本,該腳本編輯了一個安裝程序項目msi輸出(有兩個,調試和發佈),因此我可以同時將它們安裝在同一臺機器上。對於編輯版本和非編輯版本,msi文件所需的最少編輯次數是否被視爲兩個完全不同的產品?

這裏就是我編輯至今:

表:快捷,性能:名稱 (編輯桌面和STARTMENU快捷方式)

表:屬性,屬性:產品名稱,產品代碼,的UpgradeCode

在這兩個版本中,還添加了REINSTALLMODE = amus到'property'表。

問題是,編輯後的msi刪除了未編輯的msi的快捷方式和文件。但原始msi不會覆蓋未編輯msi的文件。

有什麼想法?

謝謝!

Isaac

回答

0

事實證明,我必須在兩個不同的地方更換升級代碼。

屬性表中有升級代碼,還有升級表中的升級代碼。似乎有點傻,它需要在兩個地方...

+2

對於您的情況可能很愚蠢,但它允許單個.msi升級兩個不同的產品線,將它們合併在一起,僅通過添加多個升級表記錄。 – 2011-02-28 14:06:16

+0

似乎不再那麼愚蠢。謝謝你的啓發 – 2011-03-03 05:54:13

0

每個MSI文件都有一個GUID,它定義了它的安裝方式。

如果您的MSI文件具有與原始文件不同的GUID,它將被視爲不同的產品。

不知道更多/你用來創建msi的腳本,我不能真正幫助進一步或說明需要做什麼,但我希望這有助於。

+0

那麼,如果你得到這個ORCA程序,你可以打開和msi,看看裏面的數據庫。我更改了兩個不同的GUID,產品代碼和升級代碼。所以你說在那裏有第三個GUID改變? – 2011-02-26 04:43:10