【发布时间】:2013-06-19 23:55:04
【问题描述】:
对于我产品中的多个文件,我需要在安装时将它们复制到两个不同的目标位置。例如:
C:\Program Files (x86)\My Company\My App\foo\xyzzy.txt
C:\Program Files (x86)\My Company\My App\bar\xyzzy.txt
这两个 xyzzy.txt 副本是相同的。
我不希望在文件柜中保存相同的文件副本而受到影响。在使用 makecab 时,似乎在 cab 中有重复的文件副本实际上会使 cab 的大小增加一倍。相比之下,7zip 设法包含第二个副本,几乎没有大小成本。
是否可以在(嵌入式)文件柜中保存每个文件的副本并将其安装到两个不同的位置?如果是这样,您将如何在 WiX 3.5 中指定它?
我假设拥有两个具有相同 Id 的 File 元素会违反 XML 的规则和/或 WiX 组件规则。另一方面,如果我有独特的文件元素,光会简单地把同一个文件的两个副本放在柜子里吗?
【问题讨论】:
-
我不认为如果文件在两个 File 元素中使用,它会复制一个文件。您是否尝试过使用与 Tom 建议的 Source 相同的独特 File 元素?
-
作为旁注。如果文件是并且总是相同的(例如,它们在逻辑上表现为单个组件的一部分),那么您应该使用 CopyFile 表而不是创建 2 个组件。