2008-10-13 123 views
6

我正在創建一個Visual Studio安裝項目。我想從安裝我的組件的系統中卸載另一個組件。另一個組件是使用Visual Studio創建的我自己的安裝程序安裝的。VS安裝項目:安裝時卸載其他組件

目前,當我從組件的安裝操作中調用其他組件的卸載時,我收到錯誤代碼:1618 (another MSI already running)

任何人都可以建議我一種解決此問題的替代方法嗎?

+5

如果你需要一個答案,我花了一個賞金......? – 2012-10-05 12:06:30

回答

1

如果您不需要實際運行其他組件的卸載,則可以使用自定義操作來刪除您打算替換的文件/文件夾。

使用自定義操作會迫使您執行卸載程序爲您執行的所有清理操作。

難道你是在替換一些東西,或者你只是試圖卸載一些東西,因爲安裝完全不同的東西?

MSDN Custom Action Walkthrough

我也看到了菲爾·威爾遜已大有裨益的自定義操作幾篇文章:
Phil Wilson on Custom Actions

0

我想你可以通過在shell命令運行該程序的uninst.exe而安裝程序啓動.....

1

我遇到了類似的問題,需要幾次安裝才能一起運行,並且無法找到以遞歸方式運行MsiExec的方法。我使用的解決方案是將安裝程序綁定到一個腳本,該腳本將運行MsiExec一次以安裝/卸載舊軟件包,然後再運行新安裝程序。客戶必須運行腳本進行安裝。

如果您找到更好的方法,請告訴我。

相關問題