-
Возникла проблема. Есть программа, одним из требований у которой является запуск под текущим пользователем, без прав админа. Поставляется она с инсталлятором собранным в InstallAware. На последнем шаге инсталлятора есть птичка, запустить установленную программу. Проблема в том, что инсталлятор запускается с правами админа, и соответственно мою программу он тоже запускает с этими привилегями, а это крайне не желательно. Пробовал понизить привилегии через манифест, но успехом не увенчалось. Потом уже вычитал в мсдн, что через манифест можно запросить только повышение прав. Решил поставить проверку до инициализации приложения, если программа запущена с правами админа, то перезапускать её с правами текущего пользователя, но вот как запустить программу от текущего юзера системы до конца не понял. Подскажите пож как это реализовать? Насколько понял мне нужна CreateProcessAsUser, но для неё нужен HandleToken текущего юзера система. Как его получить не знаю.. Или может есть что то более простое для понижения прав, что можно применить к моему вопросу?
-
> Nilm (18.03.2010 17:24:00) [0]
Убери галочку, нет особого смысла в ней, кому надо, те запустят из меню.
-
> Anatoly Podgoretsky (18.03.2010 18:44:01) [1]
Кстати это большой промах для инсталятора, вся безопасность пофигу, ничего даже ломать не надо.
-
> Nilm (18.03.10 17:24)
> приложения, если программа запущена с правами админа, то > перезапускать её с правами текущего пользователя,
А если админу, все же, потребуется пустить ее под себя? Тут для него либо одноразовый пуск, либо потеря контроля навсегда.
Т.е., [1] - и всем хорошо. Если же админу мало автоматизации, то он напишет себе к.л. скрипт.
-- Regards, LVT.
-
> [0] Nilm (18.03.10 17:24)
используй MSI, с пом. того же InstallAware его вполне можно скомпоновать.
|