2010-11-26 4 views
5

Насколько я исследовал и спросил других людей, кажется, что обычный MSI работает как ограниченный пользователь большую часть времени, особенно во время графических интерфейсов.Можете ли вы заставить MSI быть всегда администратором?

Но приложение требует повышенного приглашения на этапе установки в любом случае, и я хотел бы иметь права администратора во время пользовательских действий, выполняемых во время фаз выбора графического интерфейса. Неужели нет способа принудительно запустить UAC в начале?

Также необходимо выполнить некоторые пользовательские действия во время установки Active Directory, а также не может быть выполнено, если MSI работает как гость или что-то в этом роде.

ответ

2

Вы можете запустить MSI с bootstrapper, в котором содержится соответствующий манифест.

1

Во время фазы графического интерфейса пользователя он всегда работает в контексте без добавления пользователя. Только пользовательское действие в InstallExecuteSequence добавляется в режим отложенного исполнения.

Чтобы исправить это либо вы должны заново создать свой MSI или использовать загрузчик (setup.exe), который возвышение запроса при запуске

http://msdn.microsoft.com/en-us/magazine/cc163486.aspx#S7

+0

Это супер-хромой дизайн от Microsoft. Я бы сказал, что setup.exe в порядке, если не для пользователей, которые нажимают setup.msi или активный каталог без установки. – Coder 2010-11-28 00:57:23

+0

Вы можете передать параметр (публичное свойство) в MSI (например, RUNFROMSETUP) из файла setup.exe и предупредить пользователя (используя LaunchCondition), если свойство не передано. При установке через автоматическую установку AD вы можете передать параметр в командной строке (MSI всегда будет работать с повышением по SMS, я считаю). Таким образом, пользователь получает сообщение при непосредственном запуске MSI, и его также можно запускать без присмотра. – 2010-12-01 19:50:45

3

Пользовательские действия могут по-прежнему терпеть неудачу в Vista, Server 2008 и Windows 7 даже при запуске установщика с повышенными правами. Это происходит потому, что они выполняются путем выдачи себя за пользователя, который поднял процесс.

Пользовательские действия, которые требуют полных привилегий и не используют информацию для каждого пользователя, должны быть отмечены для запуска без олицетворения. Таким образом, они запускаются под учетной записью локальной системы без каких-либо ограничений.

Смежные вопросы