WiX Burn:如何将安装程序可执行文件部署到某个位置?

Posted

技术标签:

【中文标题】WiX Burn:如何将安装程序可执行文件部署到某个位置?【英文标题】:WiX Burn: How to deploy the installer executable to a certain location? 【发布时间】:2013-04-08 07:30:29 【问题描述】:

我已经使用 WiX 3.7 和 Burn 成功创建了一个链式安装包。安装程序本身使用 WixStandardBootstrapperApplication。

有没有办法将整个烧录包部署(即复制)到某个位置?

【问题讨论】:

【参考方案1】:

Burn 提供“布局”操作,将所有 Bundle 内容复制到指定目录。 wixstdba 确实支持此操作,因此您可以像这样使用它:

yourbundle.exe /layout optional\path\to\layout\folder

如果您不指定optional\path\to\layout\folder,那么 Burn 将布局到 yourbundle.exe 所在的文件夹。

【讨论】:

您好,Rob,感谢您的意见。这实际上很有帮助,但我还没有达到目标。我的想法是将其部署到由链式 msi 定义的位置。所以部署目标评估应该在链安装后进行。我会考虑使用 LaunchTarget,但无论我选择运行什么命令,我总是在日志中收到“错误 0x80070002:无法启动目标:[...]”。我的用法正确吗?作为 或在 属性中,错误是相同的。 目前无法将属性从 MSI 传递到 Bundle 中的变量。但是,您可以反过来做。您需要获取 Bundle 中定义的变量才能在 LaunchTarget 中使用它。 0x80070002 表示找不到要启动的文件。 再次感谢您的意见。我决定创建一个使用 LaunchTarget 功能执行的安装后脚本。但是 0x80070002-问题仍然存在。当我只是将“cmd.exe”放入LaunchTarget时,它可以工作,但是当命令例如“[InstallFolder]\test.cmd [WixBundleOriginalSource]”时,日志显示变量已正确展开,但0x80070002-error遗迹。从日志中复制展开的 LaunchTarget 并在单独的命令行窗口中执行它就像一个魅力。 请参阅问题 ***.com/q/16031778/23852 以获取 0x80070002 问题的答案。简短回答:LaunchTarget 不能包含参数,LaunchArguments 是他们必须去的地方。

以上是关于WiX Burn:如何将安装程序可执行文件部署到某个位置?的主要内容,如果未能解决你的问题,请参考以下文章

WiX Burn:从注册表中读取 LaunchTarget

强制 WiX Burn 引导程序允许 MSI 文件使用 REINSTALLMODE=amus

如何为 Wix Burn 安装程序包含完整的 .NET 先决条件

如何获得 Wix Burn 捆绑包以阻止升级

如何将文件添加到 WiX Burn 中的 Container 元素?

自定义 WiX Burn 引导程序用户界面?