【问题标题】:Deployment of external payload with wix bundle使用 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 版。

【问题讨论】:

    标签: wix windows-installer bundle wix3.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 的不同相对路径。
    • 这真的是一个不同的问题 - stackoverflow.com/a/29617883/628981
    猜你喜欢
    • 2011-02-12
    • 2013-02-18
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    相关资源
    最近更新 更多