2013-07-25 36 views
1

應用程序安裝完成後從MSI與威克斯製作:如何使用WiX從源代碼重建完全相同的msi文件?

  • 如果我運行相同的msi文件將在維護模式去,我可以修復/卸載。

  • 如果我在WiX源代碼中運行了源自產品ID =「*」的msi,它將開始正常安裝並且未檢測到它已經安裝。如果我經歷了安裝,它會在添加/刪除程序中列爲已安裝2次(使用相同的版本號)。

  • 如果我運行一個從源頭重建包含產品ID =「我 - 擁有 - GUID」在維克斯源,我得到一個錯誤「此產品的另一個版本已安裝。......」

  • 一個MSI

如何從源代碼控制中創建完全相同的msi?這樣我就不必保留原始的msi文件,只需要源代碼?

回答

1

你可以設置< Package Id =「YOUR_GUID」... >這樣你的MSI在每個版本中都有相同的PackageCode。

0

通過設置產品ID和包裝ID。 實施例:

<產品ID = 「{F8B72915-0441-43D5-BCBF-2D9B56D40BD0}」 名稱= 「$(var.Name)」
製造商= 「$(var.Manufacturer)」 的UpgradeCode =」 $(var.UpgradeCode)」版本= 「$(var.Version)」 語言= 「1033」>

<套件ID = 「{D715660D-CE5B-4AFE-878B-ABD943DD20FD}」 InstallerVersion = 「300」 壓縮=「是」/>

問題說明: 如果產品ID設置爲「*」,則產品ID將自動生成,並且在每次重新生成後,產品ID正在設置不同的ID這就是爲什麼安裝第二次。 如果相應的軟件包ID沒有設置爲唯一的GUID,那麼你會收到一個錯誤「該產品的另一個版本已經安裝...」

一旦你將兩個ID都設置爲唯一ID,那麼在每次重建產品ID和軟件包ID之後與以前版本的msi安裝程序設置爲相同的ID,當您要去安裝新的內置安裝程序時,它會要求您修復/卸載。

相關問題