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 使用两个合并模块编译时使用ICE30_Wix_Merge Module_Internal Compiler Error - Fatal编程技术网

Wix 使用两个合并模块编译时使用ICE30

Wix 使用两个合并模块编译时使用ICE30,wix,merge-module,internal-compiler-error,Wix,Merge Module,Internal Compiler Error,当我试图编译我的WiX安装程序项目时,我收到了ICE30。完全错误如下: ICE30: The target file 'DPFPSH~1.DLL|DPFPShrNET.dll' is installed in '[TARGETDIR]\Windows\DPDrv\' by two different components on an SFN system: 'DPFPShrNET.DA2BFC77_FAFE_41D1_8BB6_134232B2EADC' and 'DP

当我试图编译我的WiX安装程序项目时,我收到了ICE30。完全错误如下:

 ICE30: The target file 'DPFPSH~1.DLL|DPFPShrNET.dll' is installed in         
'[TARGETDIR]\Windows\DPDrv\' by two different components on an SFN system: 
'DPFPShrNET.DA2BFC77_FAFE_41D1_8BB6_134232B2EADC' and 
'DPFPShrXTypeLibNET.51D3E534_F1F9_4BC6_BFC5_B27F733081C7'. This breaks component reference
 counting.
现在特别的是,这两个组件属于两个不同的合并模块,DPOTDotNet.msm和DPOTShrDotNet.msm。在Orca中查看时,有问题的两个组件DPFPShrNet(它是DPOTShrDotNet.msm的一部分)有一个与之关联的同名dll(如文件表中所示的DPFPShrNet.dll),而DPFPShrXTypeLibNet也有一个与其关联的同名dll(DPFPShrXTypeNet.dll)。我没有看到像错误所说的那样安装了两个DPFPShrNet.dll


我们正在从InstallShield迁移到WiX,InstallShield ism文件引用这两个合并模块,它们都使用该方法正确安装。WiX认为安装了两个同名文件有什么原因吗?一旦我从我的项目中删除DpOTShrDotNet.msm,它就会正确编译,但我在安装后GAC中丢失了DPFPShrNet.dll。

ICE是验证(单元测试)而不是编译。一些ICE已知存在缺陷/设计缺陷。你应该可以忽略这个。第三方合并模块可能会出现问题,因此您可能需要为这些组件寻找exe/msi redist安装程序。另一种可能是将这些MSM封装到他们自己的MSI中,并使用WiX burn chainer将其链接在一起。这为风险提供了一些隔离/防火墙/缓解措施。

是的,我最终抑制了这些警告,并且安装得很好。不幸的是,将它们包装在MSI中并使用burn不是一个选项。谢谢你的意见。