在Wix安装程序中,我正在尝试根据无线电组的值设置环境变量。我找不到如何做到这一点我没有运气。
UI中的广播组有3个选项:
带有3按钮广播组的用户界面如下所示:
<Control ...>
<RadioButtonGroup Property="VAR_SCOPE">
<RadioButton Value="user" ... />
<RadioButton Value="machine" ... />
<RadioButton Value="none" ... />
</RadioButtonGroup>
</Control>
创建环境变量的组件如下:
<Directory ...>
<Component ...>
<CreateFolder />
<Environment Id='Evar' Action='set' System='yes' Name='FOO' Value='bar' />
</Component>
</Directory>
是否为每个用户或每台机器设置env-var取决于'System'属性的值:yes表示机器,no表示用户。
答案 0 :(得分:0)
我不相信MSI支持这一点。我在https://msdn.microsoft.com/en-us/library/windows/desktop/aa368369(v=vs.85).aspx中看到一条评论说在Windows 2000上*前缀控制范围,但我从未使用过它。据我所知,MSI始终尊重安装的系统环境。 (每用户与每台机器)我认为与注册表可以做的相比,这是一个短暂的进展。环境变量实际上只是具有SendMessage的注册表表项,因此您可以使用Registry和minmilist自定义操作。
如果你这样做,你想要有2个互斥的组件。