Я использую WiX 3.8 для создания пакета установки. Мой установщик должен разрешать установку как для пользователя, так и для компьютера. Я хотел бы добиться этого с помощью переключателей («Все» и «Только я»).
В интернете нашла пару ссылок:
Выбор установки для текущего пользователя или для всех пользователей: Добавление пользовательского интерфейса, часть Еще одного руководства WiX - Часть 2 - Добавление пользовательского интерфейса. Задайте для свойства ALLUSERS пустую строку: Использование WiX 3.0 для создания индивидуального MSI-файла, который не запрашивает повышение прав в Windows Vista. Если я правильно понимаю, мой установщик должен установить для свойства ALLUSERS значение 1 для установки на компьютере и "" (пустая строка) для индивидуальной установки.
Моя проблема в том, что я пробую, ALLUSERS всегда установлен на 1. Даже когда я его вообще не устанавливаю!
Вот несколько вещей, которые я пробовал:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Id="{95B5E9E1-AB21-4947-A047-74C169B1D1F2}" Name="Xproduct" Language="1033" Version="1.0.0.0" Manufacturer="X Limited" UpgradeCode="af9969f2-fb9c-44c7-b207-e89f1d900a91">
<Package Id="*"
InstallerVersion="301"
Languages="1033"
Compressed="yes"
Manufacturer="X Limited"
Description="Install"
Keywords="Installer, MSI"
Comments="(c) 2013 NCCD X Limited"
SummaryCodepage="1252"/>
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Property Id="ALLUSERS" Secure="yes" Value="1" />
<Property Id="ASSISTANCE_USERS" Value="all"/>
</Product>
</Wix>
InstallScope.wxs
<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>
and then setting the ALLUSERS based on ASSISTANCE_USERS,but I don't know where to put it;
<Publish Property="ALLUSERS"
Value="{}">ASSISTANCE_USERS = "cur"</Publish> <!-- set null value -->
<Publish Property="ALLUSERS"
Value="1">ASSISTANCE_USERS = "all"</Publish>
скажите, пожалуйста, как изменить этот код, чтобы реализовать функцию?