Dav*_*ica 1 windows-installer wix
在wix项目中你通常会看到这样的一行
<Directory Id="TARGETDIR" name="SourceDir">
Run Code Online (Sandbox Code Playgroud)
但为什么需要name设置在这里呢?据我了解,该name属性指定执行安装的计算机上生成的文件夹的名称。但是不会创建 SourceDir 文件夹,那么为什么需要它呢?
更新:事实证明这个问题以前已经被问过。查看这篇文章,了解 Wix 创建者 Rob Mensching 的解释:在 WiX 文件中,Name="SourceDir" 指的是什么?
TARGETDIR在解析 MSI 文件的目录表中起着特殊的作用。具体来说,它形成源目录树和目标目录树的根。这在 MSI 文件中由 Directory_Parent 列中的空值指示:
目录解析后,SourceDir将指向 MSI 运行的路径。此外,TARGETDIR 将是大多数内置 Windows 目录(例如 ProgramFilesFolder 和 ProgramMenuFolder)的父文件夹,如上图所示。
简而言之,SourceDir 被定义为保存正在运行的 MSI 文件的位置,并且必须知道该位置才能解析要安装的每个文件在分发介质上的源位置。
目标位置是文件的完整安装路径:C:\Program Files\My App(文件所在位置)。源位置是文件的完整源路径:[SourceDir]Program Files\My App(文件来自的位置)。
已经晚了,如果不清楚,请告诉我。
| 归档时间: |
|
| 查看次数: |
1559 次 |
| 最近记录: |