2014-12-01 3 views
0

У меня есть msi, который позволяет пользователю условно запускать установленное приложение. MSI была создана с Wix и включает в себя следующее заявление XML:Burn - MsiPackage and Impersonation

<CustomAction Id='LaunchApplication' FileKey='foo.exe' ExeCommand='' Return="asyncNoWait" Impersonate="yes" /> 

MSI работает приподнято, но опция гарантирует IMPERSONATE, что приложение запускается как пользователь подключения.

Маврикийский входят в моем ожоговом пакете, используя следующую инструкцию:

<MsiPackage Id="FooMsi" SourceFile="$(var.Installer.TargetPath)" DisplayInternalUI="yes" Vital="yes" Permanent="no" /> 

Однако Ожог повышается до запуска Msi и, следовательно, запускает приложение от имени администратора.

Есть ли опция олицетворения для записи или мне нужно запустить приложение из Burn вместо этого?

ответ

2

Burn запускает пакеты для каждой машины с повышенным вспомогательным процессом, поэтому MSI олицетворяет повышенного пользователя. Невозможно сказать MSI о выдаче другого пользователя и/или разных разрешений. Вы можете использовать атрибут LaunchTarget для WixStandardBootstrapperApplication element, чтобы запустить процесс из неэлектированного процесса записи.

+0

Спасибо за разъяснение! Я использую настраиваемый/управляемый загрузчик, поэтому я предполагаю, что вместо этого могу использовать переменную LauchTarget? – Mitkins

+1

LaunchTarget - это функция WixStdBA. Поскольку вы используете пользовательский BA, вам необходимо обработать интерфейс и запустить процесс в своем собственном коде. –