Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WIX:在.NET4中写入目标DLL时,如何使用ComPlus操作?_Com_Wix - Fatal编程技术网

WIX:在.NET4中写入目标DLL时,如何使用ComPlus操作?

WIX:在.NET4中写入目标DLL时,如何使用ComPlus操作?,com,wix,Com,Wix,我正在尝试将一个组件从.NET3转换为4。该组件具有com interp功能,必须安装到组件服务应用程序中。目前,我正在使用一个WiX构造的安装来通过Complus操作完成这项工作。但是,当组件更改为.net 4时,如果只是因为使用了错误版本的企业服务而出现无效引用问题。环顾网络,似乎对于您自己的自定义操作,您需要将supportedRuntime添加到操作配置中,并将配置和dll链接在一起。然而,我不知道如何为WiX附带的动作做到这一点。有什么想法吗?实际上,我越想它,我就越相信Complus

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

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