Как заставить установщик msi, сгенерированный проектом установки Visual Studio, запускаться только в административном режиме?

У меня есть проект установки Visual Studio, который создает установщик msi. Установщик работает нормально, если я запускаю его от имени администратора. Если он не запущен от имени администратора, мои обновления в HKEY_CURRENT_USER\Software\Microsoft\Office завершатся ошибкой.

Я просмотрел условия запуска, пользовательские действия и предварительные условия в свойствах проекта, но не смог понять, как это сделать.

Можно ли создать установку, которая будет предупреждать пользователей и завершаться ошибкой, если она не будет запущена с правами администратора?

Спасибо


person Frank    schedule 30.08.2011    source источник
comment
... почему обновления HKCU не работают при запуске от имени пользователя с ограниченными правами? И почему вы пишете в HKCU, когда вы, очевидно, пытаетесь выполнить установку для всех пользователей?   -  person bdonlan    schedule 30.08.2011
comment
@bdonlan Спасибо. Я установил для свойства проекта установки InstallAllUsers значение False (вдохновленный вашим комментарием), и все может работать. Я продолжу тестировать и дам вам знать.   -  person Frank    schedule 31.08.2011


Ответы (1)


Установите для ALLUSERS значение 2.

Вы можете использовать свойство Privileged в условном пользовательском действии, чтобы отобразить ошибку для пользователя или просто используйте его в LaunchCondition. Свойство Privileged устанавливается, если пользователь имеет права администратора или может выполнять установку с повышенными правами.

См. также свойство AdminUser.

person Alexey Ivanov    schedule 30.08.2011
comment
Добавление условия запуска с условием как привилегированное сработало. Спасибо! - person Frank; 02.09.2011