Как повысить права до Администратора
От: Аноним  
Дата: 05.09.10 17:16
Оценка:
Проблема такая. Есть программа, которая работает и в ходе работы заходит на свой сервер и обнаруживает там свое обновление. Она его успешно скачивает и тут надо перезаписать экзешник в Program Files, то есть требуются права администратора. Возможно ли запросить повышение прав в этот момент (не перезапуская программы)? Изначально запускать программу с правами администратора (то есть прописать в манифесте такой запуск) не хочу, так как это идеологически не совсем правильно.
Re: Как повысить права до Администратора
От: bnk СССР http://unmanagedvisio.com/
Дата: 05.09.10 19:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Проблема такая. Есть программа, которая работает и в ходе работы заходит на свой сервер и обнаруживает там свое обновление. Она его успешно скачивает и тут надо перезаписать экзешник в Program Files, то есть требуются права администратора. Возможно ли запросить повышение прав в этот момент (не перезапуская программы)? Изначально запускать программу с правами администратора (то есть прописать в манифесте такой запуск) не хочу, так как это идеологически не совсем правильно.


Нет, это невзоможно. Программа сама себе полномочия повысить не может.
Сделай отдельную обновлялку (которая требует повышенных прав)
Re[2]: Как повысить права до Администратора
От: Аноним  
Дата: 05.09.10 19:57
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Сделай отдельную обновлялку (которая требует повышенных прав)


Да, такая идея уже появилась. В принципе имеет право на существование.

А нельзя как то показать диалог, который появляется при запуске программы от имени администратора? То есть если вопрос будет отдаваться на откуп пользователю, то это нормально.
Накопал такую функцию CredUIPromptForCredentials, но это не совсем то (хотя и где-то рядом)
Re[3]: Как повысить права до Администратора
От: bnk СССР http://unmanagedvisio.com/
Дата: 06.09.10 03:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>А нельзя как то показать диалог, который появляется при запуске программы от имени администратора? То есть если вопрос будет отдаваться на откуп пользователю, то это нормально. Накопал такую функцию CredUIPromptForCredentials, но это не совсем то (хотя и где-то рядом)


Нет, нельзя. "Поднять права" текущему процессу невозможно (специально так сделано).
Только запускать новый. Возможно эта статья окажется полезной?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.