WIX:如何在目标DLL写入.net 4时使用ComPlus操作?

时间:2010-11-02 10:39:01

标签: com wix

我正在尝试将组件从.net 3转换为4.该组件具有必须安装到组件服务应用程序中的com interp功能。目前,我正在使用WiX构建的安装来通过Complus操作完成工作。但是,当组件更改为.net 4时,如果只是获得无效的引用问题,因为它似乎使用了错误的Enterprise Services版本。看看网络似乎对于您自己的自定义操作,您需要将supportedRuntime添加到操作配置并将配置和dll链接在一起。但是,我不知道如何为WiX附带的操作执行此操作。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

实际上我想的越多,我相信Complus操作是一个非托管组件,由非托管代码调用。因此,没有机会使用配置SxS的想法。因此,查看Complus操作的代码,它正在执行一个相当简单的CoCreateInstance来创建System.EnterpriseServices组件的实例。所以问题是CoCreateInstance总是创建一个.net 2版本的组件,你如何让CoCreateInstance调用v4?到目前为止,我唯一看到的是改变System.EnterpriseServices的注册表并告诉它总是使用4但这听起来有点激烈。 Heellllp ....