фонПредоставление прав администратора при запуске приложения при запуске без приглашения UAC?
Я написал небольшой C# /. NET 4.0 приложение, которое синхронизирует различные настройки из игры, установленной в Program Files и из других копий одной и той же игры на разных машинах (думаю Chrome синхронизация закладок, но для этой игры). Сама синхронизация является относительно простым делом, касающимся файлов, хранящихся в папке Program Files игры.
На моей машине это отлично работает, не поднимая мое приложение через UAC. Windows 7 позволяет использовать виртуализацию файлов программы, и мое приложение отлично работает с этим.
Тем не менее, на многих машинах тестера я получаю сообщения о том, что приложение либо не может работать с файлами, а в приложенных случаях даже не может видеть папку с игрой! Щелчок правой кнопкой мыши и «Запуск от имени администратора» решает проблему в каждом случае.
Итак, мы просто установили, что манифест приложения требует прав администратора, не так ли? Это нормально (хотя и не идеально), когда пользователь вручную запускает приложение или процесс синхронизации, потому что они будут взаимодействовать с приложением и готовы принять запрос UAC.
Однако одна из особенностей моего приложения - это опция «Синхронизировать автоматически», которая позволяет пользователю «устанавливать и забывать» приложение. С помощью этого набора приложение помещается в реестр в HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run для запуска при запуске и сидит на панели задач, синхронизируя настройки в фоновом режиме по мере необходимости.
Очевидно, мне нужно быть умнее здесь. Представление приглашения UAC, как только пользователь войдет в свою учетную запись или через произвольные промежутки времени, не будет вперед.
Итак, мой вопрос!
Каков наилучший способ приблизиться к ситуации, когда мне нужно запустить приложение при запуске, которое требует прав администратора? Есть ли способ, чтобы пользователь разрешил установку, которая заставляет систему автоматически запускать приложение с правильными привилегиями без подсказки при запуске/входе?
Обновление Чтобы быть ясным, это должно быть осуществимо в коде.
Я думаю, что это просветит вас: http://stackoverflow.com/questions/2488632/win-c-run-app-as-administrator-without-uac-prompt/2488645#2488645 Cheers :) – Machinarius