使用 wix bundle 部署外部负载
Posted
技术标签:
【中文标题】使用 wix bundle 部署外部负载【英文标题】:Deployment of external payload with wix bundle 【发布时间】:2021-12-22 19:44:11 【问题描述】:我们正在使用 Wix 来部署我们的应用程序。但是为了部署我们的应用程序,我们需要首先部署一个应用程序,这是我们应用程序的先决条件。该应用程序的设置作为外部有效负载提供给我们,我们将与我们的应用程序设置一起提供。
图 1:这个 .exe 是我们将用来安装应用程序的主要 wix 包。先决条件的设置位于“issetupprerequisites\9BA97839-8D57-467D-8FDF-487966F8A4C2”文件夹内。
图 2:这是我们的产品随附的 setup.exe,需要作为产品的先决条件进行安装。
但我们面临的问题是提供该必备应用程序 exe 的路径,因为该路径将是相对路径,因为不同的用户将从不同的位置安装它。
我们决定使用一个名为 [WixBundleOriginalSourceFolder] 的变量,但无法使用它。
图 3:以这种方式提供该 exe 的路径,以便我们可以在任何机器上安装来自我们的 wix 包的外部有效负载,但由于无法识别路径而未能这样做。
图 4:给出这个错误。
请指导我们如何为该外部有效负载 exe 提供路径,以便它可以在所有机器上正常运行。
注意:我们的项目使用的是 wix 3.10 版。
【问题讨论】:
【参考方案1】:Payload/@Name
不是格式化值,因此您指定有一个文件夹字面名称为[InstallFolder]
。如果您只使用issetupprerequisites\9BA97839-8D57-467D-8FDF-487966F8A4C2\setup.exe
,它应该可以工作。
【讨论】:
是否得到相同的错误“系统找不到文件'SourceDir\issetupprerequisites\9BA97839-8D57-467D-8FDF-487966F8A4C2\setup.exe'。” 构建时需要该文件,以便对其进行哈希处理。该文件必须位于相对于您的 .wixproj 的路径中,或者您需要使用Payload/@SourceFile
属性来指定它在构建时的位置。
但是如果我在构建时和构建时给出相对路径,它会成功,但是在其他系统上的 .exe 运行时呢,因为我的最终 exe 在不同的文件夹中并且有一个我想作为先决条件安装的 setup.exe 的不同相对路径。
这真的是一个不同的问题 - ***.com/a/29617883/628981。以上是关于使用 wix bundle 部署外部负载的主要内容,如果未能解决你的问题,请参考以下文章