2014-01-18 9 views
2

эй Я пытаюсь запустить приложение на старте я всегда делал это очень хорошо, используя этот код:Запуск от имени администратора в запуске

RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); 
if (rkApp.GetValue("Folder Locker") == null) 
{ 
    rkApp.SetValue("Folder Locker", Application.ExecutablePath.ToString()); 
} 

Но теперь, когда я делаю это:

requestedExecutionLevel level="requireAdministrator" uiAccess="false" 

Чтобы начать как администратор, приложение не запускается при запуске. Мне нужна помощь. Надеюсь, что это будет небольшая проблема, а не большая сделка.

+3

Как правило, для обычных приложений не требуются права администратора, поэтому UAC будет запрашивать их при запуске приложения - может быть, лучше рассмотреть альтернативный подход, например работать в качестве службы Windows, и делать какие-либо действия IPC по требованию –

+0

http://superuser.com/a/537101/198092 этот вопрос действительно принадлежит SuperUser - и является дубликатом на SO и SuperUser –

ответ

3

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

Ваши варианты включают в себя:

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

 Смежные вопросы

  • Нет связанных вопросов^_^