我有几个现有的合并模块,其中一个是我创建的。让我们将我的模块称为"A"。我的合并模块和一个现有的合并模块(比如B)包含一个名称相同但内容不同的文件(customUI.resources)。
我正在制作一个使用两个模块A&B.我想使用模块"A"中的customUI.resources文件。当我编译installer.wix文件时,它给我的错误是:
light.exe:error LGHT0204:ICE30:目标文件"va2q4hvb.res | CustomUI.resources"由LFN系统上的两个不同组件安装在"[ProgramFilesFolder]\abc\"中:"_5AD14D2401C1408A8B1117B85F53E3.7C263653_7A00_4D9C_B52A_39AF1892BC49"one_answers"Adapter_Config_ja"。BABCE01A_0CB9_4A62_B877_5E520A53D609'。
这会中断组件引用计数。如何解决此错误?
您是否控制着创作模块a和b?
如果是这样,请将文件编写为两个不同的文件名,并使用CopyFile元素(DuplicateFile表)将特定名称复制为所需的通用名称。还要对组件设置互斥条件,以确保只安装其中一个。
然后在主安装程序中设置一个属性来决定安装哪个。结果将通过所有ICE验证测试,并为您提供所需的行为。
您可以使用Dark对合并模块进行反编译,然后将它们合并为一个模块,或者在没有冲突文件的情况下重新创建合并模块B。