2010-04-15 116 views
0

作爲我的安裝程序的一部分,我將文件添加到現有的COM +軟件包。我在我的Product元素下面定義了一個ComPlusApplication,它的名稱設置爲一個屬性 - 然後我有一個自定義操作查找該屬性 - 迄今爲止都很好。WiX - 如何防止卸載過程中未註冊ComPlusAssembly?

當安裝程序添加文件時,在同一個組件中添加了一個ComPlusAssembly,它將程序集添加到我上面定義的ComPlusApplication中 - 這也正常工作。

但是,當卸載時,我收到與無法找到COM +應用程序有關的錯誤,這是因爲我沒有運行我的自定義操作來查找COM +程序包的名稱。基本上我不想刪除我的文件或取消註冊組件包作爲卸載過程的一部分 - 我如何實現這一目標?

我在VS2008上使用了WiX 3.0。

謝謝

回答

0

使組件/ @永久=「是」。

+0

這並不妨礙com plus應用程序本身在卸載時被刪除 - 我已將其重新設計爲使用自定義操作關閉並清除組件包,作爲卸載的一部分,從而允許成功刪除文件。 作爲解決方法,我創建了一個VBScript自定義操作,以便將組件手動添加到程序包中,並因此完全刪除了COMPlusApplication - 由於包含interop,我無法使用COMAdmin工具從託管自定義操作中(請參閱另一個問題)。 – 2010-05-05 15:03:48