Ресурс VERSIONINFO

Определяет ресурс сведений о версии. Ресурс содержит такие сведения о файле, как номер версии, предполагаемая операционная система и исходное имя файла. Ресурс предназначен для использования с функциями сведений о версии .

Существует два способа форматирования инструкции VERSIONINFO :

versionID VERSIONINFO fixed-info  { block-statement . . . }

— или —

versionID VERSIONINFO 
fixed-info
BEGIN
block-statement
. . .
END

Параметры

versionID

Идентификатор ресурса сведений о версии. Это значение должно быть равно 1.

fixed-info

Сведения о версии, такие как версия файла и предполагаемая операционная система. Этот параметр состоит из следующих операторов.

Инструкция Описание
Версия FILEVERSION Двоичный номер версии файла. Версия состоит из двух 32-разрядных целых чисел, определенных четырьмя 16-разрядными целыми числами. Например, "FILEVERSION 3,10,0,61" преобразуется в два двойных слова: 0x0003000a и 0x0000003d в этом порядке. Поэтому, если версия определяется значениями DWORDdw1 и dw2, они должны отображаться в инструкции FILEVERSION следующим образом: HIWORD(dw1), LOWORD(dw1), HIWORD(dw2), , LOWORD(dw2).
Версия PRODUCTVERSION Двоичный номер версии продукта, с которым распространяется файл. Параметр версии — это два 32-разрядных целых числа, определяемых четырьмя 16-разрядными целыми числами. Дополнительные сведения о версии см. в описании FILEVERSION .
FILEFLAGSMASKfileflagsmask Указывает, какие биты в инструкции FILEFLAGS являются допустимыми. Для 16-разрядной версии Windows это значение равно 0x3f.
FILEFLAGSfileflags Атрибуты файла.
FileOSfileos Операционная система, для которой был разработан этот файл. Параметр fileos может быть одним из значений операционной системы, приведенных в разделе Примечания.
FILETYPEfiletype Общий тип файла. Параметр filetype может быть одним из значений типа файла, перечисленных в разделе Примечания.
Подтип FILESUBTYPE Функция файла. Параметр подтипа равен нулю, если только параметр filetype в инструкции FILETYPE не VFT_DRV, VFT_FONT или VFT_VXD. Список значений подтипов файлов см. в разделе Примечания.

 

оператор block-statement

Указывает один или несколько блоков сведений о версии. Блок может содержать сведения о строке или переменной. Дополнительные сведения см. в разделе Блок StringFileInfo или Блок VarFileInfo.

Комментарии

Чтобы использовать константы, указанные в инструкции VERSIONINFO , необходимо включить файл заголовка Winver.h или Windows.h в файл определения ресурсов.

В следующем списке описаны параметры, используемые в инструкции VERSIONINFO :

fileflags

Сочетание следующих значений.

Значение Описание
VS_FF_DEBUG Файл содержит сведения об отладке или компилируется с включенными функциями отладки.
VS_FF_PATCHED Файл был изменен и не идентичен исходному файлу доставки с тем же номером версии.
VS_FF_PRERELEASE Файл — это версия разработки, а не коммерчески выпущенный продукт.
VS_FF_PRIVATEBUILD Файл не был создан с помощью стандартных процедур выпуска. Если это значение задано, блок StringFileInfo должен содержать строку PrivateBuild .
VS_FF_SPECIALBUILD Файл был создан исходной компанией с использованием стандартных процедур выпуска, но является разновидностью стандартного файла с тем же номером версии. Если это значение задано, блок StringFileInfo должен содержать строку SpecialBuild.
VS_FFI_FILEFLAGSMASK Сочетание всех предыдущих значений.

 

fileos

Одно из следующих значений.

Значение Описание
VOS_UNKNOWN Операционная система, для которой был разработан файл, неизвестна.
VOS_DOS Файл был разработан для MS-DOS.
VOS_NT Файл предназначен для 32-разрядной версии Windows.
VOS__WINDOWS16 Файл предназначен для 16-разрядной версии Windows.
VOS__WINDOWS32 Файл предназначен для 32-разрядной версии Windows.
VOS_DOS_WINDOWS16 Файл был разработан для 16-разрядной версии Windows под управлением MS-DOS.
VOS_DOS_WINDOWS32 Файл был разработан для 32-разрядной версии Windows под управлением MS-DOS.
VOS_NT_WINDOWS32 Файл предназначен для 32-разрядной версии Windows.

 

Зарезервированы значения 0x00002L, 0x00003L, 0x20000L и 0x30000L.

Filetype

Одно из следующих значений.

Значение Описание
VFT_UNKNOWN Тип файла неизвестен.
VFT_APP Файл содержит приложение.
VFT_DLL Файл содержит библиотеку динамической компоновки (DLL).
VFT_DRV Файл содержит драйвер устройства. Если filetype имеет VFT_DRV, подтип содержит более конкретное описание драйвера.
VFT_FONT Файл содержит шрифт. Если filetype имеет значение VFT_FONT, подтип содержит более конкретное описание шрифта.
VFT_VXD Файл содержит виртуальное устройство.
VFT_STATIC_LIB Файл содержит библиотеку статических ссылок.

 

Все остальные значения зарезервированы для использования корпорацией Майкрософт.

Подтип

Дополнительные сведения о типе файла.

Если filetype указывает VFT_DRV, этот параметр может иметь одно из следующих значений.

Значение Описание
VFT2_UNKNOWN Тип драйвера неизвестен.
VFT2_DRV_COMM Файл содержит драйвер связи.
VFT2_DRV_PRINTER Файл содержит драйвер принтера.
VFT2_DRV_KEYBOARD Файл содержит драйвер клавиатуры.
VFT2_DRV_LANGUAGE Файл содержит драйвер языка.
VFT2_DRV_DISPLAY Файл содержит драйвер дисплея.
VFT2_DRV_MOUSE Файл содержит драйвер мыши.
VFT2_DRV_NETWORK Файл содержит сетевой драйвер.
VFT2_DRV_SYSTEM Файл содержит системный драйвер.
VFT2_DRV_INSTALLABLE Файл содержит устанавливаемый драйвер.
VFT2_DRV_SOUND Файл содержит звуковой драйвер.
VFT2_DRV_VERSIONED_PRINTER Файл содержит драйвер принтера с управлением версиями.

 

Если filetype указывает VFT_FONT, этот параметр может иметь одно из следующих значений.

Значение Описание
VFT2_UNKNOWN Тип шрифта неизвестен.
VFT2_FONT_RASTER Файл содержит растровый шрифт.
VFT2_FONT_VECTOR Файл содержит векторный шрифт.
VFT2_FONT_TRUETYPE Файл содержит шрифт TrueType.

 

Если filetype указывает VFT_VXD, этот параметр должен быть идентификатором виртуального устройства, включенным в блок управления виртуальным устройством.

Все значения подтипов , не перечисленные здесь, зарезервированы для использования корпорацией Майкрософт.

langID

Один из следующих кодов языка.

Код Язык Код Язык
0x0401 Арабский 0x0415 Польский
0x0402 Болгарский 0x0416 Португальский (Бразилия)
0x0403 Каталонский 0x0417 Rhaeto-Romanic
0x0404 Китайский (традиционный) 0x0418 Румынский
0x0405 Чешский 0x0419 Русский
0x0406 Датский 0x041A Croato-Serbian (латиница)
0x0407 Немецкий 0x041B Словацкий
0x0408 Греческий 0x041C Албанский
0x0409 Английский (США) 0x041D Шведский
0x040A Кастильский испанский 0x041E Тайский
0x040B Финский 0x041F Турецкий
0x040C Французский 0x0420 Урду
0x040D Иврит 0x0421 Bahasa
0x040E Венгерский 0x0804 Китайский, упрощенное письмо
0x040F Исландский 0x0807 Швейцарский немецкий
0x0410 Итальянский 0x0809 Английский (Соединенное Соединенное Соединенное Великобритания)
0x0411 Японский 0x080A Испанский (Мексика)
0x0412 Корейский 0x080C Бельгийский французский
0x0413 Нидерландский 0x0C0C Французский (Канада)
0x0414 Норвежский? Букмол 0x100C Швейцарский французский
0x0810 Швейцарский итальянский 0x0816 Португальский (Португалия)
0x0813 Бельгийский голландский 0x081A Serbo-Croatian (кириллица)
0x0814 Норвежский? Нюнорск

 

charsetID

Один из следующих идентификаторов кодировки.

Decimal Шестнадцатеричный Кодировка
0 0000 7-разрядная версия ASCII
932 03A4 Япония (Shift ? JIS X-0208)
949 03B5 Корея (Shift? KSC 5601)
950 03B6 Тайвань (Big5)
1200 04B0 Юникод
1250 04E2 Latin-2 (Восточно-Европейская)
1251 04E3 Кириллица
1252 04E4 Многоязычных
1253 04E5 Греческий
1254 04E6 Турецкий
1255 04E7 Иврит
1256 04E8 Арабский

 

string-name

Одно из следующих предопределенных имен.

Имя Описание
Комментарии Дополнительные сведения, которые должны отображаться в целях диагностики.
Companyname Компания, создающая файл, например, Microsoft Corporation или Standard Microsystems Corporation, Inc. эта строка является обязательной.
FileDescription Описание файла для представления пользователям. Эта строка может отображаться в списке, когда пользователь выбирает файлы для установки, например Keyboard Driver for AT-Style Keyboards. Эта строка является обязательной.
FileVersion Номер версии файла, например или 3.105.00.RC2. Эта строка является обязательной.
InternalName Внутреннее имя файла, если он существует, например имя модуля, если файл является библиотекой динамической компоновки. Если файл не имеет внутреннего имени, эта строка должна быть исходным именем файла без расширения. Эта строка является обязательной.
LegalCopyright Уведомления об авторских правах, которые применяются к файлу. Это должно включать полный текст всех уведомлений, юридических символов, дат авторских прав и т. д. Эта строка является необязательной.
LegalTrademarks Товарные знаки и зарегистрированные товарные знаки, которые применяются к файлу. Это должен быть полный текст всех уведомлений, допустимых символов, номера товарных знаков и так далее. Эта строка является необязательной.
OriginalFilename Исходное имя файла, не включая путь. Эти сведения позволяют приложению определить, был ли файл переименован пользователем. Формат имени зависит от файловой системы, для которой был создан файл. Эта строка является обязательной.
PrivateBuild Сведения о закрытой версии файла, например Built by TESTER1 on \\TESTBED. Эта строка должна присутствовать только в том случае, если VS_FF_PRIVATEBUILD указан в параметре fileflags корневого блока.
ProductName Имя продукта, с которым распространяется файл. Эта строка является обязательной.
ProductVersion Версия продукта, с помощью которого распространяется файл, например или 3.105.00.RC2. Эта строка является обязательной.
SpecialBuild Текст, указывающий, чем эта версия файла отличается от стандартной версии, например Private build for TESTER1 solving mouse problems on M250 and M250E computers. Эта строка должна присутствовать только в том случае, если VS_FF_SPECIALBUILD указан в параметре fileflags корневого блока.

 

Некоторые атрибуты также поддерживаются для обеспечения обратной совместимости. Дополнительные сведения см. в разделе Общие атрибуты ресурсов.

Примеры

В следующем примере определяется ресурс VERSIONINFO :

#define VER_FILEVERSION             3,10,349,0
#define VER_FILEVERSION_STR         "3.10.349.0\0"

#define VER_PRODUCTVERSION          3,10,0,0
#define VER_PRODUCTVERSION_STR      "3.10\0"

#ifndef DEBUG
#define VER_DEBUG                   0
#else
#define VER_DEBUG                   VS_FF_DEBUG
#endif

VS_VERSION_INFO VERSIONINFO
FILEVERSION     VER_FILEVERSION
PRODUCTVERSION  VER_PRODUCTVERSION
FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
FILEFLAGS       (VER_PRIVATEBUILD|VER_PRERELEASE|VER_DEBUG)
FILEOS          VOS__WINDOWS32
FILETYPE        VFT_DLL
FILESUBTYPE     VFT2_UNKNOWN
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904E4"
        BEGIN
            VALUE "CompanyName",      VER_COMPANYNAME_STR
            VALUE "FileDescription",  VER_FILEDESCRIPTION_STR
            VALUE "FileVersion",      VER_FILEVERSION_STR
            VALUE "InternalName",     VER_INTERNALNAME_STR
            VALUE "LegalCopyright",   VER_LEGALCOPYRIGHT_STR
            VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
            VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
            VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
            VALUE "ProductName",      VER_PRODUCTNAME_STR
            VALUE "ProductVersion",   VER_PRODUCTVERSION_STR
        END
    END

    BLOCK "VarFileInfo"
    BEGIN
        /* The following line should only be modified for localized versions.     */
        /* It consists of any number of WORD,WORD pairs, with each pair           */
        /* describing a language,codepage combination supported by the file.      */
        /*                                                                        */
        /* For example, a file might have values "0x409,1252" indicating that it  */
        /* supports English language (0x409) in the Windows ANSI codepage (1252). */

        VALUE "Translation", 0x409, 1252

    END
END

См. также раздел

Использование сведений о версии

Сведения о версии