Запретить запуск с правами администратора

Цель:

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

Проблема:

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

Но все настройки, которые нужны программе, не будут правильно записаны/прочитаны в этот раз, потому что из-за виртуализации UAC каталог config отличается от каталога config, который был бы у пользователя без прав администратора.

Вопрос:

Есть ли способ понизить административные права до прав пользователя, если родительский процесс владеет административными правами. App.config? Начальный параметр? или что-то другое

Информация: я использую INNOSETUP для создания инструмента установки.

Спасибо за вашу помощь


person BitKFu    schedule 14.04.2011    source источник


Ответы (2)


Просто установите флаг runasoriginaluser для запуска приложения.

person Alex    schedule 14.04.2011

Да, вы можете запустить процесс без повышенных прав, однако я не уверен, как это интегрируется с InnoSetup. Инструкции Как запустить программу от имени пользователя рабочего стола из приложения с повышенными правами.

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

person Alexey Ivanov    schedule 14.04.2011