Предотвратете стартирането с администраторски права

Цел:

Звучи малко странно, но трябва да предотвратя софтуера да стартира с администраторски права.

Проблем:

Имам инструмент за настройка, който инсталира софтуера много добре. След завършване на настройката стартира самият софтуер. Тъй като инструментът за настройка работи с администраторски права, софтуерът, който ще се стартира автоматично след настройката, прави същото.

Но всички настройки, от които програмата се нуждае, няма да бъдат записани/прочетени правилно по това време, защото поради виртуализацията на UAC, конфигурационната директория е различна от конфигурационната директория, която потребителят би имал без администраторски права.

Въпрос:

Има ли някакъв начин за понижаване от административни права до потребителски права, ако родителският процес притежава административни права. 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