【问题标题】:WiX: returning a value from exepackageWiX:从exepackage返回一个值
【发布时间】:2015-05-15 20:30:14
【问题描述】:

有人要求我向现有的 WiX 包添加一个功能。 具体来说,我需要运行一个小型 c# 应用程序并将单个 int 返回给 WiX 以有条件地控制进一步的操作。 我可以从ExePackage help 看到有一个ExitCode,但这是对success、error、scheduleReboot 或forceReboot 的枚举。

我已经用谷歌搜索了很多,我想知道我是否错过了重点。我可能可以在 WiX 内部实现 C# 流程以让用户提供我需要的信息,但是现有的包已经具有用 C# 编写的具有特定样式的自定义 ExePackages,所以如果可以的话,我想继续使用它。 (现有的包不返回任何需要的值)

我可以这样做,还是需要尝试完全在 WiX 中操作?

作为参考,现有软件包之一如下所示:

<ExePackage
    SourceFile="..."
    DisplayName="License Key"
    InstallSize="0"
    Permanent="yes"
    InstallCommand="/ignoreIfLicensed"
    RepairCommand="/ignore"
    UninstallCommand="/ignore"
/>

【问题讨论】:

    标签: wix return-value


    【解决方案1】:

    &lt;ExePackage ...&gt; 的引用意味着您希望条件在 WIX 捆绑包中运行。在这种情况下,我认为您的选择是有限的,您只能将ExePackage 的返回值映射到forceReboot 等全局行为。

    您有任何&lt;MsiPackage...&gt; 参考吗?如果有,您可以使用自定义操作移动每个&lt;MsiPackage...&gt; 中的条件行为来调用exe 并设置属性。然后可以将该属性用作您要有条件地安装的每个&lt;component...&gt; 中的条件。有关自定义操作设置属性的更多信息,请参阅Using a WiX custom action to set a property's value

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 1970-01-01
      • 2019-03-02
      • 2017-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多