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