Поскольку вы хотите настроить приложение на запуск для всех пользователей, нет , вы не можете обойтись, требуя какой-то доступ администратора.
Почему это так?Ну, в качестве мысленного эксперимента, скажем, Windows позволяла приложениям запускать программы при запуске, не требуя пароля администратора.Но это побьет цель многих улучшений безопасности в Vista, с введением UAC и появлением учетных записей без прав администратора по умолчанию.Пользователь мог загрузить игру, которая на самом деле была трояном, и игра могла настроить некоторые вредоносные программы для запуска при запуске для всех пользователей, причем все без необходимости запроса UAC.Следовательно, Windows не позволяет настроить запуск программы без прав администратора.
Существуют некоторые приемы, которые можно использовать, чтобы потребовать от пользователя запуска всей вашей программы .хотя как администратор.Моя первая идея состоит в том, чтобы иметь вторую программу, единственная задача которой - настроить основную программу для запуска при запуске и запустить ее с параметром ProcessStartInfo.Verb = "runas"
(при условии, что вы используете System.Diagnostics.Process чтобы запустить новый процесс), чтобы вспомогательная программа работала от имени администратора, но ваше общее приложение можно запустить без приглашения UAC.
РЕДАКТИРОВАТЬ : в ответ на ваш комментарий
Да, если вам нужно только запустить программу при запуске для одного пользователя, у вас есть гораздо больше возможностей.Как описывает эта статья О'Рейли , одним из вариантов является запись в HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run для настройки запуска программы при запуске для текущего пользователя.