Как встроить файл манифеста во время компиляции в Visual Studio 2010 - PullRequest
14 голосов
/ 03 ноября 2010

У меня есть проект с файлом манифеста со следующим узлом:

 <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

... то есть по умолчанию я хочу, чтобы он запускался только как "администратор".

от поиска вокруг, чтобы сделать эту работу, у меня есть два варианта:

  1. "Вставить" его.
  2. разверните файл манифеста с помощью exe и назовите его YourProject.exe.manifest.

Я пробовал вариант 2, и когда я запускаю свое приложение, оно не запрашивает прав администратора?

Итак, как мне сделать вариант 1 в VS2010? Я слышал о mt.exe, но это не очень хорошо для меня, так как это сделано после сборки. Мне нужна опция для части решения и самого файла проекта.

Итак, как мне заставить это работать? Я буду счастлив сделать 2, но это не похоже на работу?

Ответы [ 3 ]

21 голосов
/ 03 ноября 2010

В Visual Studio 2010 настройкой по умолчанию для нового проекта является встраивание манифеста в приложение (опция # 1).По умолчанию включен манифест по умолчанию.Вам нужно добавить собственный манифест.

  • Щелкните правой кнопкой мыши проект и выберите «Добавить новый элемент»
  • Выберите «Файл манифеста приложения»

Это добавит файл с именем app.manifest в проект.Откройте этот файл и измените строку следующим образом:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Это также должно работать в Visual Studio 2008.

8 голосов
/ 20 декабря 2011

Под VS2010 он немного другой.Щелкните правой кнопкой мыши на Project и выберите Properties.Выберите вкладку «Приложение» и нажмите «Просмотр настроек Windows».Это открывает манифест.Затем внесите необходимые изменения.

0 голосов
/ 24 октября 2012

Я только что столкнулся с той же проблемой, вызванной копированием существующего файла app.manifest в другой проект (C #).

Я исправил его, выгружая проект, редактируя его файл csproj и вставляя следующий раздел:

<PropertyGroup>
  <ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>

Это позволило моему приложению правильно подобрать файл app.manifest.

...