在WiX中为每个用户或每个计算机安装上下文设置ALLUSERS

时间:2011-03-23 21:02:02

标签: wix windows-installer

我使用的是WiX 3.5。我的安装程序应启用每用户和每台计算机的安装。我想通过使用单选按钮(“Everyone”和“Just me”)实现这一目标。

我在互联网上找到了几个参考文献:

如果我理解正确,我的安装程序应该为每台机器安装将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。

1 个答案:

答案 0 :(得分:1)

检查详细日志(使用/ l * vx):MSI记录每个属性更改,以便您可以查看何时设置ALLUSERS。