/win32manifest (импорт пользовательского файла манифеста Win32) (параметры компилятора C#)
Обновлен: Ноябрь 2007
Параметр /win32manifest используется для указания пользовательского файла манифеста приложения Win32, который необходимо внедрить в PE-файл проекта.
/win32manifest: filename
Аргументы
- filename
Имя и расположение пользовательского файла манифеста.
Заметки
По умолчанию компилятор Visual C# внедряет манифест приложения, который указывает запрошенный уровень "asInvoker". Он создает манифест в той же папке, в которой создан исполняемый файл, обычно в папке bin\Debug или bin\Release при использовании Visual Studio. Если необходимо, чтобы пользовательский манифест, например, указывал запрошенный уровень выполнения "highestAvailable" или "requireAdministrator", используйте этот параметр для задания имени файла.
Примечание. |
---|
Этот параметр и параметр /win32res (импорт файла ресурсов Win32) (параметры компилятора C#) являются взаимоисключающими. При попытке использовать оба параметра в одной командной строке создается ошибка построения. |
К приложению, не имеющему манифеста приложения, который указывает запрошенный уровень выполнения, будет применена виртуализация путей в реестре и файловой системе в рамках функции контроля учетных записей Windows Vista. Дополнительные сведения о виртуализации см. в статье Статья для разработчиков под Windows Vista: требования к разработке приложений с точки зрения механизма управления учетными записями пользователей (UAC).
Приложение подлежит виртуализации, если выполняется одно из указанных ниже условий.
Если используется параметр /nowin32manifest, но не предоставляется манифест на более позднем этапе построения или в составе файла ресурсов Windows (RES-файла) с помощью параметра /win32res.
Необходимо предоставить пользовательский манифест, который не указывает запрошенный уровень выполнения.
Среда Visual Studio создает стандартный MANIFEST-файл и сохраняет его в каталоге отладки и выпуска наряду с исполняемым файлом. Пользовательский манифест можно добавить, создав его в любом текстовом редакторе и добавив полученный файл к проекту. Можно также щелкнуть правой кнопкой мыши значок Проект в обозревателе решений, выбрать команду Добавить новый элемент, а затем щелкнуть пункт Файл манифеста приложения. После добавления нового или существующего файла манифеста этот файл появится в раскрывающемся списке Манифест. Дополнительные сведения см. в разделе Страница "Приложение" в конструкторе проектов (C#).
Можно предоставить манифест приложения в качестве пользовательского этапа, выполняемого после построения, или в составе файла ресурсов Win32 с помощью параметра /nowin32manifest (запрет манифеста Win32) (параметры компилятора C#). Используйте этот же параметр, если требуется приложение, которое будет использовать файл или системный реестр виртуализации в Windows Vista. Это не позволит компилятору создать манифест по умолчанию и внедрить его в PE-файл.
Пример
В следующем примере показан манифест, который компилятор Visual C# по умолчанию вставляет в PE-файл.
Примечание. |
---|
Компилятор вставляет стандартное имя приложения "MyApplication.App" в XML-файл. Это делается для того, чтобы позволить приложениям работать в Windows Server 2003 с пакетом обновления 3 (SP3). |
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
См. также
Ссылки
/nowin32manifest (запрет манифеста Win32) (параметры компилятора C#)