Требуется ли манифест приложения по умолчанию для 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>

0 ответов

Другие вопросы по тегам