Wix - WixBundleOriginalSourceFolder 与 WixBundleSourceProcessFolder

Wix - WixBundleOriginalSourceFolder vs WixBundleSourceProcessFolder

WiX 内置变量的文档是 here

WixBundleOriginalSourceFolder - gets the folder from where the bundle originally ran.

WixBundleSourceProcessFolder - gets the source folder of the bundle where originally executed. Will only be set when bundle is executing in the clean room

两个问题:

我遇到了产品已安装的问题。在这种情况下,WixBundleOriginalSourceFolder 不是我想要的。我想要用户刚刚双击 setup.exe 的文件夹,这可能与原始文件夹不同。 WixBundleSourceProcessFolder 似乎给了我正确的文件夹,但它的描述让我有点紧张,我想澄清一下它的真正含义。

在此上下文中,'ran' 表示当双击 [或从命令行 运行 时捆绑可执行文件所在的位置] ... 'executed' 表示系统调用后实际 运行 捆绑可执行文件副本的位置。

一尘不染?

稍微收紧 Sharpenologist 给出的答案:

WixBundleOriginalSourceFolder 是软件最初 运行 的来源。因此,如果您从下载文件夹中下载了某些内容 运行,那么它就会 return。 WiX 会为所有后续 运行 记住此位置,即使您现在已经删除了该文件夹(或者删除了它,如果它是 DVD 或 USB 密钥)。因此在卸载时,此文件夹将是您最初 运行 安装的位置,无论它是否存在。

WixBundleSourceProcessFolder 是软件目前 运行 来自的地方。所以这可能与第一个 运行 上的 WixBundleOriginalSourceFolder 相同,但将来自修复或卸载时的包缓存。如果您在安装过程中需要重启,它也会来自包缓存。

是不是更清楚了?