Предоставление прав администратора приложению, запускаемому при запуске без запроса UAC? ​​

Предпосылки

Я написал небольшое приложение C # /. NET 4.0, которое синхронизирует различные настройки из игры установлены в Program Files в другие копии одной и той же игры на разных машинах (подумайте о синхронизации закладок Chrome, но для этой игры). Сама синхронизация - относительно простое дело, она работает с файлами, хранящимися в папке Program Files игры.

На моей машине это прекрасно работает без необходимости повышать уровень моего приложения через UAC. Windows 7 заставляет игру использовать виртуализацию программных файлов, и мое приложение отлично с этим работает.

Однако на многих машинах тестеров я получаю сообщения о том, что приложение либо не может работать с файлами, а в некоторых случаях может даже папку с игрой не вижу! Если пользователь щелкнет правой кнопкой мыши и "Запуск от имени администратора" решит проблему в каждом случае.

Итак, мы просто установили манифест приложения, требующий прав администратора, верно? Это нормально (хотя и не идеально), когда пользователь вручную вызывает приложение или процесс синхронизации, потому что они Я буду взаимодействовать с приложением и готов принять запрос UAC.

Однако одной из функций моего приложения является опция «Синхронизировать автоматически», которая позволяет пользователю «установить и забыть» приложение. С этим набором приложение помещается в реестр в HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run для запуска при запуске и находится на панели задач, синхронизируя настройки в фоновом режиме по мере необходимости.

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

Итак, мой вопрос!

Как лучше всего подойти к ситуации, когда я ' d нужно запускать приложение при запуске, которому требуются права администратора? Есть ли способ, чтобы пользователь авторизовал установку, которая заставляет систему автоматически запускать приложение с правильными привилегиями без запроса при запуске / входе в систему?

Обновление Для ясности: это должно быть реализовано в коде .

7
задан iKenndac 9 January 2011 в 15:55
поделиться