2011-04-04 60 views
1

將Installshield 2010與基本MSI項目配合使用。如何在MSI升級時強制進行文件替換

我有幾個配置文件必須在升級過程中被替換。由於它們是配置文件,它們沒有版本。我相信它們不會被替換,因爲在最初的安裝過程中,安裝程序會修改配置。這將修改日期設置爲與創建日期不同。據我瞭解,未版本控制的文件已被修改,升級不會取代它。

有沒有辦法強制更換?我有一些需要setup.exe的bootstrap prerequsites,所以我寧願不要修改orca中的.msi。

回答

4

MSI有一個叫做Version Lying的概念。 (嗯,實際上這是對MSI的默認文件版本控制規則的破解。)InstallShield的這個實現是將一個非常高的數字放到File表中。瀏覽組件|文件,並對有問題的文件執行右鍵單擊屬性,然後選擇始終覆蓋。

注意:如果這個文件也是它自己組件的關鍵文件,那將是最好的。如果你遇到的情況不是這樣,那麼這個文件或其他文件可能會發生(或不發生)奇怪的事情。 (見:組件規則)

+0

感謝。我正在使用動態文件鏈接,它不允許我指定覆蓋規則。更改爲靜態鏈接,似乎按照我的要求行事。 – Web 2011-04-04 19:44:32

1

RESINSTALLMODE = amus是危險的,因爲在某些情況下,它實際上可能降級共同文件,以較低的版本

相關問題