Требуется ли манифест приложения по умолчанию для Visual Studio?
В VS 2017, когда вы ничего не меняете в приложении C# или C++ (рабочий стол Windows), оно встраивает манифест приложения по умолчанию в полученный исполняемый файл.
У нас есть несколько приложений на C#, которые встраивают пользовательский файл манифеста, переопределяя по умолчанию. Мне сейчас любопытно, есть ли две настройки по умолчанию, assemblyIdentity
а также requestedExecutionLevel
должно быть в "нормальном" исполняемом приложении Windows для настольных ПК? И каковы значения по умолчанию / значения, если они отсутствуют.
- Наши приложения не включают эти settigs в свои mainfests, и они работают нормально Win7 - Win10.
- Документы MS ясны как грязь.
Для справки вот что я получаю из шаблонов проекта VS по умолчанию для C#/C++ Windows Desktop Application:
Извлечено с: mt.exe -inputresource:xzy.exe;#1 -out:xyz.extracted.manifest-#1.xml
Для C# я получаю:
<?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"></assemblyIdentity>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Для C++ я получаю:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>