我有一個託管的引導程序應用程序,其中包含四個產品。每個產品都使用"*"
作爲Id,並具有唯一的UpgradeCode。如何在運行時在我的WiX ManagedBootstrapperApplication中確定包含產品的ProductCode?
在我的託管引導程序中,我需要獲取屬於我的包的產品的ProductCode(GUID)。檢測事件處理程序的事件參數(例如DetectPackageCompleteEventArgs
)具有PackageId
值,該值是msi的名稱(例如:「Common.msi」包具有「Common.msi」的PackageId
)。
我還檢查BootstrapperApplicationData.xml文件,它具有ProductCode
和包本身的UpgradeCode
,而不是在單個產品的WixPackageProperties
節點。
如果檢測到相關軟件包(升級),則ProductCode
包含在DetectRelatedMsiPackageEventArgs
中,但當運行當前安裝版本的安裝程序時(即:單擊「修改」在添加/刪除程序中)
如何在運行時間確定我的MBA在什麼ProductCode是包含的產品?
附加信息:
最後,我使用的產品代碼來獲得使用MsiGetProductInfo(productCode, "InstallLocation", strbuffer, len);
這是專門爲其中用戶「修改」現有的安裝的情況下ARPINSTALLLOCATION
值(即:運行相同的安裝程序版本作爲已安裝的軟件包 - 不是升級),我需要確定它們最初安裝的文件夾。
創建功能請求:http://wixtoolset.org/issues/4233/ –