2013-08-21 3 views
6

Я создал WIX Burn Bundle. В Bundle я устанавливаю .Net 4 (если он не установлен), то еще 2 .msi-файла. 1 - третья часть msi, другая - msi, которую я создал для моего программного обеспечения с использованием WIX. Мне нужно быть администратором на компьютере для запуска этих файлов .msi.Wix Burn Bundle - должен быть администратором

Я хочу, чтобы пакет Burn не делал ничего, если пользователь не является администратором, то есть ничего не устанавливает. В моем программном обеспечении я могу легко сделать это, используя ниже - однако я не могу сделать это в комплекте. Я читал много похожих сообщений, но просто не нашел рабочего примера для того, что я хочу сделать.

<CustomAction Id="IsPrivileged" Error="You must be an Administrator to install [ProductName]." /> 
    <InstallExecuteSequence> 
    <Custom Action='IsPrivileged' Before='LaunchConditions'> 
     Not Privileged 
    </Custom> 
    </InstallExecuteSequence> 
+0

взгляд на повышенных разрешений – Gilad

+0

Один метод должен был бы задать учетные данные администратора при запуске сверток, то есть установить уровень выполнения для «Требовать администратора». Однако я вижу, что Роб говорит, что Burn не был предназначен для запуска повышенного уровня, поэтому вы можете столкнуться с ограничениями: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-BURN-wpf-and- UAC-ПРОМТ-td7587811.html –

ответ

8

Вы можете использовать расслоение эквивалент условия запуска с использованием Burn's built-in variables и WixBalExtension's Condition element:

<bal:Condition Message="You can't elevate."> 
    <![CDATA[Privileged <> 0]]> 
</bal:Condition> 

<bal:Condition Message="You're not elevated."> 
    WixBundleElevated = 1 
</bal:Condition> 
Смежные вопросы