0

根据 WiX 文档,每个文件都应该用组件标签包装。它的意义是什么?如果我在一个组件下放置多个文件怎么办?我没有找到关于主题的明确答案。对产品升级有何影响?

4

1 回答 1

0

基本上它会破坏安装程序中的“修复”选项。想象一下这个场景,你有一个包含 3 个文件的组件:

<Component Id="FilesToInstall">
    <File Id="FileA" Source="[PathToFileA]" KeyPath="yes" />
    <File Id="FileB" Source="[PathToFileB]" />
    <File Id="FileC" Source="[PathToFileB]" />
</Component>

请注意,您必须将其中一个文件设置为 KeyPath,并且每个组件只能设置一个。

现在,如果由于某种原因 FileA 在安装后被删除或损坏,您可以进行修复,Windows 安装程序将检查该文件,发现它已被删除或损坏并标记该组件以重新安装。然后,这将用安装程序中的正确版本替换 FileA、FileB 和 FileC。

但是,如果 FileB 或 FileC 丢失或损坏,但 FileA 仍然正常,则 Windows 安装程序将不会替换任何内容,因为它会将组件视为有效。

于 2013-02-13T14:09:14.427 回答