Как проверить, входит ли пользователь в группу "Администратор" в проекте Install Shield 2009 Basic MSI

Установите Shield 2009, Premier, Basic MSI Projcet:[Я хочу разрешить запуск установки только администраторам]. На вкладке Releases->MyProductConfiguration->MyRelease->Setup.exe я выбрал "Требуемый уровень выполнения" = "Invoker" и в Общая информация-> Свойства продукта Я ставлю условие установки как Условие = "AdminUser" Сообщение = "Требовать от администратора права для запуска этого..."

Проблема только в том, что главный администратор может установить его. Любой другой пользователь, говорящий "Test" с правами администратора, не может установить и получить сообщение об ошибке "Требуется администратор для запуска этого..."

Так как разрешить только тем пользователям, которые входят в группу администраторов, устанавливать и ограничивать других.

3 ответа

Есть (как минимум) два пути:

  • Проверить, если SYSINFO.WINNT.bAdmin_Logged_On является TRUE, Если это так, у пользователя есть права администратора.
  • Проверить, если Is(USER_ADMINISTRATOR,"") возвращается TRUE, Если это так, у пользователя есть права администратора.

Вы можете использовать любой.

Вышеуказанную проблему вы можете решить с помощью Installscript

Например: if(SYSINFO.WINNT.bWinNT) тогда if (!SYSINFO.WINNT.bAdmin_Logged_On) тогда
MessageBox(Вы должны войти в систему как администратор, SEVERE); прервать; ENDIF; ENDIF;

Сначала это проверит, для какой ОС, а затем вошел в систему пользователь TRUE, конечный пользователь вошел в систему под NT с правами администратора. или выйдите из приложения.

Надеюсь, это поможет вам...

Это можно сделать в базовом проекте MSI, перейдя в Конструктор установки -> Общая информация -> Поток сводной информации -> Требовать права администратора = Да

Другие вопросы по тегам