Как заставить приложение WPF работать в режиме администратора

У меня есть приложение WPF, которое обращается к службам Windows, планировщикам задач на локальном компьютере. Когда я развертываю это приложение WPF и запускаю его без "Запускать как администратор", он терпит неудачу, поскольку он не может получить доступ к службам Windows и планировщикам задач на локальном компьютере. Если я запустил его с помощью "Запуск от имени администратора", он работает правильно.

Как сделать мое приложение по умолчанию запущено в режиме администратора, когда оно развернуто на производстве?

Ответ 1

Вам нужно добавить app.manifest. Измените requestedExecutionLevel  от asInvoker до requireAdministrator. Вы можете создать новый манифест, используя диалог добавления файла, изменить его, чтобы потребовать администратора. Убедитесь, что в настройках вашего проекта установлено использование этого манифеста. Это позволит вам просто дважды щелкнуть приложение, и оно автоматически предложит возвышение, если оно еще не было.

См. здесь дополнительную документацию:

http://msdn.microsoft.com/en-us/library/bb756929.aspx

EDIT: Для чего это стоит, статья использует VS 2005 и использует mt.exe для встраивания манифеста. если вы используете Visual Studio 2008+, это встроено. Просто откройте свойства своего проекта, а на вкладке "Приложение" вы можете выбрать манифест.