WiX文件似乎总是包含以下行:

<Directory Id="TARGETDIR" Name="SourceDir">

什么是“SourceDir”?这有什么用途?这不是真实的目录名称。这是某种神奇的值(value)吗?

最佳答案

来自:http://robmensching.com/blog/posts/2010/1/26/StackOverflow-what-does-NameSourceDir-refer-to

老实说,这是我们应该向开发人员隐藏的东西,但没有。抱歉。事情的真相是Windows Installer希望目录树始终植根于主键(Directory / @ Id)为“TARGETDIR”且DefaultDir列(Directory / @ Name)为“SourceDir”的目录行中。

在安装过程中,TARGETDIR将默认为计算机上最大的驱动器。 SourceDir将设置为正在执行MSI的位置。现在,在初始安装后,SourceDir会很棘手,因为除非调用ResolveSource操作,否则不会进行设置。但是,您不想显式调用ResolveSource操作,因为它可能提示您提供原始的源媒体(又名:请插入CD)。

我们应该在WiX工具集中完成的工作是,无需指定TARGETDIR / SourceDir对,并说:“任何没有父级的Directory元素都将自动成为TARGETDIR的父级,因为这就是MSI SDK所说的。”取而代之的是,您必须自己做……而且一些开发人员想知道这意味着什么。

关于wix - 在WiX文件中,名称=“SourceDir”指的是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1641094/

10-12 03:51