2010-04-15 111 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