Properties WIX从msi获取运行时变量以转换另一个

Properties WIX从msi获取运行时变量以转换另一个,properties,wix,transform,bootstrapper,dotnetinstaller,Properties,Wix,Transform,Bootstrapper,Dotnetinstaller,我正在用两个msi实现exe安装程序。在第一个安装过程中,一个用户必须从ComboBox中选择值,我想使用所选值作为参数在第二个msi上运行转换。我使用的是没有UI的dotNetInstaller引导程序,必须将msiexec参数配置为TRANSFORMS=[来自第一个msi的变量] 我试图使用系统变量,但它不起作用。如何获取ui属性值以转换第二个msi?根据您当前的设计,我认为最简单的方法是第一个msi将属性存储在注册表值中,然后让第二个msi或第二个msi的转换将注册表值读取为属性 通常,我

我正在用两个msi实现exe安装程序。在第一个安装过程中,一个用户必须从ComboBox中选择值,我想使用所选值作为参数在第二个msi上运行转换。我使用的是没有UI的dotNetInstaller引导程序,必须将msiexec参数配置为TRANSFORMS=[来自第一个msi的变量]


我试图使用系统变量,但它不起作用。如何获取ui属性值以转换第二个msi?

根据您当前的设计,我认为最简单的方法是第一个msi将属性存储在注册表值中,然后让第二个msi或第二个msi的转换将注册表值读取为属性


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

a无法读取第二个MSI中的属性,因为在运行第二个MSI之前我需要它。我需要在变量中选择一个值,该值可以作为参数ex.TRANSFORMS=%any_OS_variable%或TRANSFORMS=language引用。如果AppSearch不够快,请让EXE读取注册表值并将其传递给第二个MSI。问题是我不知道如何从dotNetInstaller执行任何自定义操作。如果我可以从EXE中运行任何cmd,那么我可以从注册表甚至从文件中读取属性,但我认为这是不可能的。那么也许你应该将dotNetInstaller out更改为Burn。我尝试使用Burn,但它没有隐藏Burn UI的选项: