2

我有几个现有的合并模块和一个由我创建的。让我们将我的模块称为“A”。我的合并模块和一个现有的合并模块(比如 B)包含一个具有相同名称(customUI.resources)但内容不同的文件。

我正在制作一个同时使用模块 A 和 B 的安装程序。我想使用模块“A”中的 customUI.resources 文件。当我编译installer.wix文件时,它给我的错误是:

light.exe : error LGHT0204 : ICE30: The target file 'va2q4hvb.res|CustomUI.resources' is installed in '[ProgramFilesFolder]\abc\' by two different components on an LFN system: '_5AD14D2401C1408A8B1117B8B85F53E3.7C263653_7A00_4D9C_B52A_39AF1892BC49' and 'Adapter_Config_ja. BABCE01A_0CB9_4A62_B877_5E520A53D609'。

这会破坏组件引用计数。我该如何解决这个错误?

4

2 回答 2

1

您是否可以控制创作模块 a 和 b?

如果是这样,将文件创作为 2 个不同的文件名,并使用 CopyFile 元素(DuplicateFile 表)将特定名称复制为常用的所需名称。还要对组件设置互斥条件,以确保只安装一个或另一个。

然后在您的主安装程序中设置一个属性来决定安装哪个。结果将通过所有 ICE 验证测试并为您提供所需的行为。

于 2012-08-21T18:12:28.107 回答
0

您可以使用Dark反编译合并模块,然后将它们组合成单个模块或重新创建合并模块 B 而不产生冲突文件。

于 2012-08-21T12:52:08.243 回答