【发布时间】:2011-03-23 21:02:01
【问题描述】:
我使用 WiX 3.5。我的安装程序应该启用每用户和每机器安装。我想通过使用单选按钮(“Everyone”和“Just me”)来实现这一点。
我在网上找到了一些参考资料:
- 选择当前用户或所有用户安装:Adding a user interface,又一个 WiX 教程 - 第 2 部分 - 添加 UI 的一部分。
- 将 ALLUSERS 属性设置为空字符串:Using WiX 3.0 to create a per-user MSI that does not prompt for elevation on Windows Vista
如果我理解正确,我的安装程序应该将 ALLUSERS 属性设置为 1 以进行每台机器安装,并将“”(空字符串)设置为每用户安装。
我的问题是无论我尝试什么,ALLUSERS 总是设置为 1。即使我根本没有设置它!
这是我尝试过的几件事:
<Control Id="UserSelection"
Type="RadioButtonGroup"
X="26"
Y="115"
Width="305"
Height="45"
Property="ASSISTANCE_USERS"
Text="ASSISTANCE_USERS">
<RadioButtonGroup Property="ASSISTANCE_USERS">
<RadioButton Value="cur"
X="0"
Y="0"
Width="295"
Height="16"
Text="Just me" />
<RadioButton Value="all"
X="0"
Y="20"
Width="295"
Height="16"
Text="Everyone" />
</RadioButtonGroup>
</Control>
然后根据 ASSISTANCE_USERS 设置 ALLUSERS:
<Publish Property="ALLUSERS"
Value="{}">ASSISTANCE_USERS = "cur"</Publish> <!-- set null value -->
<Publish Property="ALLUSERS"
Value="1">ASSISTANCE_USERS = "all"</Publish>
但是,ALLUSERS 始终为 1。
我也尝试将 ALLUSERS 设置为空字符串:
<Property Id="ALLUSERS" Secure="yes"/>
这应该将 ALLUSERS 设置为“”,但仍保持为“1”
一旦我能够设置 ALLUSERS,我应该能够使用 HKMU 进行每用户和每台机器的安装。
【问题讨论】:
标签: wix windows-installer