Настройка ALLUSERS в WiX для контекста установки для пользователя или компьютера - PullRequest
3 голосов
/ 24 марта 2011

Я использую WiX 3.5. Мой установщик должен включить установку как для пользователя, так и для компьютера. Я хотел бы добиться этого с помощью переключателей («Все» и «Только я»).

Я нашел пару ссылок в Интернете:

Если я правильно понимаю, мой установщик должен установить для свойства 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>

, а затем установите ALLUSERS на основе ASSISTANCE_USERS:

  <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 Ответ

1 голос
/ 24 марта 2011

Проверьте подробный журнал (используя / l * vx): MSI регистрирует каждое изменение свойства, чтобы вы могли видеть, когда устанавливается ALLUSERS.

...