Installation WiX 3.0合并模块:源属性的含义

Installation WiX 3.0合并模块:源属性的含义,installation,wix,windows-installer,wix3,Installation,Wix,Windows Installer,Wix3,源属性的用途是什么?请看一下这个片段: <Component Id="MyComponent" Guid="123456789-abcd-defa-1234-DCEA-01234567890A"> <File Id="myFile" Name="myFile.dll" Source="myFile.dll"/> </Component> 由于名称和源具有相同的值,源添加了什么?没有它,代码无法编译 在哪里可以找到解释这些属性的文档?我

源属性的用途是什么?请看一下这个片段:

<Component Id="MyComponent" Guid="123456789-abcd-defa-1234-DCEA-01234567890A">
          <File Id="myFile" Name="myFile.dll" Source="myFile.dll"/>
</Component>

由于名称和源具有相同的值,源添加了什么?没有它,代码无法编译

在哪里可以找到解释这些属性的文档?我尝试了MSI的MSDN,但没有找到答案


谢谢。

WiX和MSI不一样。因此,MSDN文档中没有参考;)

您需要参考安装WiX的WiX.CHM,或

假设您谈论的是
File/@Name
File/@Source
,如果源文件的布局方式与WiX目录结构相同,则这是可选的

当您在
文件/@Source
属性中对
灯光
源目录
使用多个
-b
参数时,就会出现漂亮的部分。例如

<File Id="example.dll" KeyPath="yes" Source="SourceDir\example.dll" DefaultLanguage="0" />

我通常在我的标准版本中指定4个带有
-b
的文件夹。一个用于各种安装程序特定资源,一个用于存储合并模块的位置,一个用于所有安装之间的公共资源,一个用于源文件。现在WiX将查看命令行上指定的每个目录,如果我在具有不同目录布局的不同系统上构建,这将使事情变得更加可移植


根据,如果(在您的示例中)
myfile.dll
位于当前目录中,您可以省略
File/@Source
属性

File/@Source提供获取文件信息(大小、语言、哈希)并将其复制到正确位置(在文件柜中或在相对于MSI文件的目录中)的位置

如果不希望使用其他名称安装文件,则File/@Name是可选的。换句话说,如果该文件在您的生成计算机上以正确的名称存在,只需使用file/@Source引用它,而不使用file/@name

只要文件名是唯一的,File/@Id也是可选的。不能有两个文件具有相同的File/@Id,因此在发生冲突时添加File/@Id

在WiX v3.5中,我通常只执行以下操作: