2012-02-27 65 views
4

           安裝我建立了一個項目的InstallShield 12.這是一個需要多次安裝一個Web應用程序,這些安裝需要修補。修補多實例與任何的InstallShield或維克斯

我可以在WiX和InstallShield中創建轉換和補丁。通過

"The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch." 

InstallShield中,我試圖將來自變換新的產品代碼爲「目標產品代碼清單」:
當我試圖修補轉化而來的InstallShield安裝,我得到的錯誤修補程序設計選項卡。這樣做會出錯誤的修補程序創建錯誤:

"ERROR: At least one of the GUIDs '{ORIGINAL-GUID},{TRANSFORM-GUID}' defined in the ListOfTargetProductCodes property in the Properties table of the .pcp file is invalid." 

在維克斯(3.5),我一直在使用dark.exe轉換我的項目從InstallShield能夠WiX的。我已經得到遠遠不夠,我可以安裝一個補丁來變換,但我得到了警告:

"Patch.wxs(11) : warning PYRO1079 : The cabinet 'Data1.cab' does not contain any files." 

這是一個問題,因爲我想在運行該補丁的SQL腳本,但該補丁不會將我的sql文件插入到cab中。

我也嘗試過使用WiX的.pcp方法(在WiX 3.0之前),並且只能在InstallShield中獲得。

我已經大多引用此頁面爲我到目前爲止的答案:http://ysdevlog.blogspot.com/2011/08/revisited-multiple-instance.html

TL; DR:如何生成的多個實例的補丁安裝使用(最好)的InstallShield,或維克斯?

+0

很難在沒有看到代碼的情況下猜測你的補丁有什麼問題。如果你分享一個片段,它可能會更容易。如果您可以將問題縮小到一些簡短的樣本,而不是一個真正的解決方案,這也會很棒 – 2012-02-28 20:48:51

回答

5

我已經通過完全放棄InstallShield解決了我自己的問題。我沒有將InstallShield最終msi轉換爲WiX,而是使用純WiX重新創建了我的項目。這樣做使我可以安裝多個實例,並修補它們。

這是一個恥辱,我不知道如何讓它通過InstallShield工作。

+0

您可以發佈您的WiX解決方案嗎?至少最重要的部分是?這些對其他用戶來說可能也很有趣......在此先感謝! – Mayoares 2012-03-05 12:45:50

+0

我在WiX中重新創建項目時引用了以下頁面。我認爲這對你更有幫助,而不是發佈我的具體項目。 http://www.codeproject.com/Articles/115036/Creating-WIX-Installer-for-ASP-NET-Web-Application – kaspur 2012-03-05 21:38:14

+0

有MSI經驗的人可能會發現,使用dark.exe反編譯現有MSI以生成WIX XML然後可以清理的源文件可以大大緩解過渡。但它確實需要Wix的基本工作知識。 – 2014-05-04 01:30:31