我有一個鏈接MSI基本MSI項目內3 MSI。Installshield鏈接MSI不執行修復單個MSI
安裝和卸載工作正常,但如果我選擇修復,InstallShield只執行父MSI並忽略其中的所有其他MSI。
我遵循了 http://community.flexerasoftware.com/showthread.php?191832-Repair-chained-msi
和集ecoReinstallInstalled上的選項欄中的說明,但它不似乎工作
任何想法,我失去了什麼?
我有一個鏈接MSI基本MSI項目內3 MSI。Installshield鏈接MSI不執行修復單個MSI
安裝和卸載工作正常,但如果我選擇修復,InstallShield只執行父MSI並忽略其中的所有其他MSI。
我遵循了 http://community.flexerasoftware.com/showthread.php?191832-Repair-chained-msi
和集ecoReinstallInstalled上的選項欄中的說明,但它不似乎工作
任何想法,我失去了什麼?
所以你有一個包裝或父MSI產卵3鏈MSIs?您需要通過安裝屬性將REINSTALL = ALL傳遞給每個鏈接的MSI。但是,只有在每個MSI都已安裝的情況下,所以可能需要自定義操作來檢測第一次安裝,然後使用REINSTALL = ALL設置一個或多個屬性。
您需要設置所謂ecoReinstallInstalled標誌(Installshield的幫助沒有提到這個關鍵字),其標題爲「使用鏈式MSI軟件包,以組件化你的Windows安裝程序安裝程序」文件中提及。
基本上,通過將值16添加到當前值來更改指定鏈接MSI的ISChainPackage表的「選項」列。如果該值小於16;例如,值爲0,將其替換爲16;如果值爲1,則用17替換,依此類推。選項值確定UI級別模式(鏈接MSI將運行的模式);對於基本用戶界面爲0,對於無用戶界面爲1,值爲16或更高將允許已鏈接的MSI在已安裝後重新運行。
如果這不起作用,您應該通過修改屬性IS_CHAINER_POST_COMMANDLINE來檢查鏈接的MSI日誌文件,您也可以嘗試在ui模式下運行鏈接的MSI以查看行爲是什麼。
有趣的是,您使用了替代鏈式MSI功能的替代方案嗎?
看看我的博客裏面的方式網頁的過程中工作:
從我的博客中看到,雖然我的網站目前正在進行中...... – InstallDeploy
我這樣做,並沒有奏效。我們最終決定擺脫鏈接的MSI。 –