【问题标题】:WIX get runtime variable from msi to transform anotherWIX 从 msi 获取运行时变量以转换另一个
【发布时间】:2014-05-21 12:28:11
【问题描述】:

我正在使用两个 msi 实现 exe 安装程序。在安装第一个用户期间,必须从 ComboBox 中选择值,我想使用所选值作为参数在第二个 msi 上运行转换。我正在使用 dotNetInstaller 引导程序(没有 UI)并且必须将 msiexec 参数配置为 TRANSFORMS="[variable from first msi]"

我尝试使用系统变量,但它不起作用。如何获取 ui-property 值来转换第二个 msi?

【问题讨论】:

    标签: properties wix transform bootstrapper dotnetinstaller


    【解决方案1】:

    根据您当前的设计,我想说最简单的方法是让第一个 MSI 将属性存储在注册表值中,然后让第二个 MSI(或第二个 MSI 的转换)将注册表值读入财产。

    通常我会让您的 boostrapper/chainer (EXE) 执行 UI,然后将值传递给子包。

    【讨论】:

    • a 无法读取第二个 MSI 中的属性,因为我在运行第二个 MSI 之前需要它。我需要在可以作为参数引用的变量中选择值(例如 TRANSFORMS="%any_OS_variable%" 或 TRANSFORMS="#LANGUAGE"
    • 如果 AppSearch 不够快,让 EXE 读取注册表值并将其传递给第二个 MSI。
    • 问题是我不知道如何从 dotNetInstaller 执行任何自定义操作。如果我可以从我的 EXE 运行任何 cmd,那么我可以从注册表甚至从文件中读取属性,但我认为这是不可能的。
    • 那么也许您应该将 dotNetInstaller 更改为 Burn。
    • 我尝试使用刻录,但它没有隐藏刻录 UI 的选项 :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 2016-12-24
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多