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

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

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

【问题讨论】:

    标签: wix burn


    【解决方案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 并在单独的命令行窗口中执行它就像一个魅力。
    • 请参阅问题 stackoverflow.com/q/16031778/23852 以获取 0x80070002 问题的答案。简短回答:LaunchTarget 不能包含参数,LaunchArguments 是他们必须去的地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 2015-09-26
    • 2013-12-04
    相关资源
    最近更新 更多