Чтобы добавить манифест в приложение, необходимо создать файл MyApp.manifest и добавить его в файл ресурсов приложения:
//-- This define is normally part of the SDK but define it if this
//-- is an older version of the SDK.
#ifndef RT_MANIFEST
#define RT_MANIFEST 24
#endif
//-- Add the MyApp XP Manifest file
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "MyApp.manifest"
В более новых версиях Visual Studio имеется вкладка Инструмент манифеста , найденная в настройках проекта, и поле Дополнительные файлы манифеста , найденное на этой вкладке, также может использоваться для определения файла манифеста.
Вот простой файл MyApp.manifest для приложения Win32:
<?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.1"
processorArchitecture="X86"
name="Microsoft.Windows.MyApp"
type="win32"
/>
<description>MyApp</description>
</assembly>
Если ваше приложение зависит от других dll, эти данные также могут быть добавлены в манифест, и Windows будет использовать эту информацию, чтобы убедиться, что ваше приложение всегда использует правильные версии этих зависимых dll.
Например, вот подробные сведения о зависимости манифеста для библиотек времени исполнения Common Control и версии 8.0 C:
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.VC80.CRT"
version="8.0.50608.0"
processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b" />
</dependentAssembly>