versionID VERSIONINFO fixed-info
BEGIN
block-statement
.
.
.
END
The VERSIONINFO statement creates a version-information resource. The resource contains such information about the file as its version number, its intended operating system, and its original filename. The resource is intended to be used with the File Installation library functions.
versionID
Specifies the version-information resource identifier. This value must be 1.
fixed-info
Specifies the version information, such as the file version and the intended operating system. This parameter consists of the following statements:
Statement | Description |
FILEVERSION version | Specifies the binary version number for the file. The version consists of two 32-bit integers, defined by four 16-bit integers. For example, “FILEVERSION 3,10,0,61” is translated into two doublewords: 0x0003000a and 0x0000003d, in that order. If version is defined by the doublewords dw1 and dw2, they need to appear in the FILEVERSION statement as follows: HIWORD(dw1), LOWORD(dw1), HIWORD(dw2), LOWORD(dw2). |
PRODUCTVERSION version | Specifies the binary version number for the product with which the file is distributed. The version parameter is two 32-bit integers, defined by four 16-bit integers. For more information about version, see the FILEVERSION description. |
FILEFLAGSMASK fileflagsmask | Specifies which bits in the FILEFLAGS statement are valid. If a bit is set, the corresponding bit in FILEFLAGS is valid. |
FILEFLAGS fileflags | Specifies the Boolean attributes of the file. The fileflags parameter must be the combination of all the file flags that are valid at compile time. For Windows 3.1, this value is 0x3f. |
FILEOS fileos | Specifies the operating system for which this file was designed. The fileos parameter can be one of the operating system values given in the Comments section. |
FILETYPE filetype | Specifies the general type of file. The filetype parameter can be one of the file type values listed in the Comments section. |
FILESUBTYPE subtype | Specifies the function of the file. The subtype parameter is zero unless the type parameter in the FILETYPE statement is VFT_DRV, VFT_FONT, or VFT_VXD. For a list of file subtype values, see the Comments section. |
block-statement
Specifies one or more version-information blocks. A block can contain string information or variable information.
To use the constants specified with the VERSIONINFO statement, the VER.H file must be included in the resource-definition file.
The following list describes the parameters used in the VERSIONINFO statement:
Parameter | Description |
fileflags | Specifies a combination of the following values: | ||
Value | Meaning |
VS_FF_DEBUG | File contains debugging information or is compiled with debugging features enabled. |
VS_FF_INFOINFERRED | File contains a dynamically created version-information resource. Some of the blocks for the resource may be empty or incorrect. This value is not intended to be used in version-information resources created by using the VERSIONINFO statement. |
VS_FF_PATCHED | File has been modified and is not identical to the original shipping file of the same version number. |
VS_FF_PRERELEASE | File is a development version, not a commercially released product. |
VS_FF_PRIVATEBUILD | File was not built using standard release procedures. If this value is given, the StringFileInfo block must contain a PrivateBuild string. |
VS_FF_SPECIALBUILD | File was built by the original company using standard release procedures but is a variation of the standard file of the same version number. If this value is given, the StringFileInfo block must contain a SpecialBuild string. |
fileos | Specifies one of the following values: | ||
Value | Meaning |
VOS_UNKNOWN | Operating system for which the file was designed is unknown to Windows. | ||
VOS_DOS | File was designed for MS-DOS. | ||
Parameter | Description |
Value | Meaning |
VOS_NT | File was designed for Windows NT. |
VOS_WINDOWS16 | File was designed for Windows 3.0 or later. |
VOS_WINDOWS32 | File was designed for 32-bit Windows. |
VOS_DOS_WINDOWS16 | File was designed for Windows 3.0 or later running with MS-DOS. |
VOS_DOS_WINDOWS32 | File was designed for 32-bit Windows running with MS-DOS. |
VOS_NT_WINDOWS32 | File was designed for 32-bit Windows running with Windows NT. |
The values 0x00002L, 0x00003L, 0x20000L and 0x30000L are reserved. | |||
filetype | Specifies one of the following values: | ||
Value | Meaning |
VFT_UNKNOWN | File type is unknown to Windows. | ||
VFT_APP | File contains an application. | ||
VFT_DLL | File contains a dynamic-link library (DLL). | ||
VFT_DRV | File contains a device driver. If the dwFileType member is VFT_DRV, the dwFileSubtype member contains a more specific description of the driver. | ||
VFT_FONT | File contains a font. If the dwFileType member is VFT_FONT, the dwFileSubtype member contains a more specific description of the font file. | ||
VFT_VXD | File contains a virtual device. | ||
VFT_STATIC_LIB | File contains a static-link library. | ||
All other values are reserved for use by Microsoft. | |||
Parameter | Description |
subtype | Specifies additional information about the file type. | ||
If the FILETYPE statement specifies VFT_DRV, this parameter can be one of the following values: | |||
Value | Meaning |
VFT2_UNKNOWN | Driver type is unknown to Windows. |
VFT2_DRV_COMM | File contains a communications driver. |
VFT2_DRV_PRINTER | File contains a printer driver. |
VFT2_DRV_KEYBOARD | File contains a keyboard driver. |
VFT2_DRV_LANGUAGE | File contains a language driver. |
VFT2_DRV_DISPLAY | File contains a display driver. |
VFT2_DRV_MOUSE | File contains a mouse driver. |
VFT2_DRV_NETWORK | File contains a network driver. |
VFT2_DRV_SYSTEM | File contains a system driver. |
VFT2_DRV_INSTALLABLE | File contains an installable driver. |
VFT2_DRV_SOUND | File contains a sound driver. |
If the FILETYPE statement specifies VFT_FONT, this parameter can be one of the following values: | |||
Value | Meaning |
VFT2_UNKNOWN | Font type is unknown to Windows. |
VFT2_FONT_RASTER | File contains a raster font. |
VFT2_FONT_VECTOR | File contains a vector font. |
VFT2_FONT_TRUETYPE | File contains a TrueType font. |
If the FILETYPE statement specifies VFT_VXD, this parameter must be the virtual-device identifier included in the virtual-device control block. | ||
Parameter | Description | |
All subtype values not listed here are reserved for use by Microsoft. | ||
langID | Specifies one of the following language identifiers: | |
Value | Language |
0x0401 | Arabic | |
0x0402 | Bulgarian | |
0x0403 | Catalan | |
0x0404 | Traditional Chinese | |
0x0405 | Czech | |
0x0406 | Danish | |
0x0407 | German | |
0x0408 | Greek | |
0x0409 | U.S. English | |
0x040A | Castilian Spanish | |
0x040B | Finnish | |
0x040C | French | |
0x040D | Hebrew | |
0x040E | Hungarian | |
0x040F | Icelandic | |
0x0410 | Italian | |
0x0411 | Japanese | |
0x0412 | Korean | |
0x0413 | Dutch | |
0x0414 | Norwegian – Bokml | |
0x0415 | Polish | |
0x0416 | Brazilian Portuguese | |
0x0417 | Rhaeto-Romanic | |
0x0418 | Romanian | |
0x0419 | Russian | |
0x041A | Croato-Serbian (Latin) | |
0x041B | Slovak | |
0x041C | Albanian | |
0x041D | Swedish | |
0x041E | Thai | |
Parameter | Description |
Value | Language |
0x041F | Turkish |
0x0420 | Urdu |
0x0421 | Bahasa |
0x0804 | Simplified Chinese |
0x0807 | Swiss German |
0x0809 | U.K. English |
0x080A | Mexican Spanish |
0x080C | Belgian French |
0x0810 | Swiss Italian |
0x0813 | Belgian Dutch |
0x0814 | Norwegian – Nynorsk |
0x0816 | Portuguese |
0x081A | Serbo-Croatian (Cyrillic) |
0x0C0C | Canadian French |
0x100C | Swiss French |
charsetID | Specifies one of the following character-set identifiers: | |
Value | Character set |
0 | 7-bit ASCII | |
932 | Windows, Japan (Shift – JIS X-0208) | |
949 | Windows, Korea (Shift – KSC 5601) | |
950 | Windows, Taiwan (GB5) | |
1200 | Unicode | |
1250 | Windows, Latin-2 (Eastern European) | |
1251 | Windows, Cyrillic | |
1252 | Windows, Multilingual | |
1253 | Windows, Greek | |
1254 | Windows, Turkish | |
1255 | Windows, Hebrew | |
1256 | Windows, Arabic | |
Parameter | Description |
string-name | Specifies one of the following predefined names: | ||
Name | Value |
Comments | Specifies additional information that should be displayed for diagnostic purposes. | ||
CompanyName | Specifies the company that produced the file—for example, “Microsoft Corporation” or “Standard Microsystems Corporation, Inc.”. This string is required. | ||
FileDescription | Specifies a file description to be presented to users. This string may be displayed in a list box when the user is choosing files to install—for example, “Keyboard Driver for AT-Style Keyboards” or “Microsoft Word for Windows”. This string is required. | ||
FileVersion | Specifies the version number of the file—for example, “3.10” or “5.00.RC2”. This string is required. | ||
InternalName | Specifies the internal name of the file, if one exists—for example, a module name if the file is a dynamic-link library. If the file has no internal name, this string should be the original filename, without extension. This string is required. | ||
LegalCopyright | Specifies all copyright notices that apply to the file. This should include the full text of all notices, legal symbols, copyright dates, and so on—for example, “Copyright Microsoft Corp. 1990,1991”. This string is optional. | ||
LegalTrademarks | Specifies all trademarks and registered trademarks that apply to the file. This should include the full text of all notices, legal symbols, trademark numbers, and so on—for example, “Windows(TM) is a trademark of Microsoft Corporation”. This string is optional. | ||
Parameter | Description |
Name | Value |
OriginalFilename | Specifies the original name of the file, not including a path. This information enables an application to determine whether a file has been renamed by a user. The format of the name depends on the file system for which the file was created. This string is required. |
PrivateBuild | Specifies information about a private version of the file—for example, “Built by TESTER1 on \TESTBED”. This string should be present only if the VS_FF_PRIVATEBUILD flag is set in the dwFileFlags member of the VS_FIXEDFILEINFO structure of the root block. |
ProductName | Specifies the name of the product with which the file is distributed—for example, “Microsoft Windows”. This string is required. |
ProductVersion | Specifies the version of the product with which the file is distributed—for example, “3.10” or “5.00.RC2”. This string is required. |
SpecialBuild | Specifies how this version of the file differs from the standard version—for example, “Private build for TESTER1 solving mouse problems on M250 and M250E computers”. This string should be present only if the VS_FF_SPECIALBUILD flag is set in the dwFileFlags member of the VS_FIXEDFILEINFO structure in the root block. |
A string information block has the following form:
BLOCK "StringFileInfo"
BEGIN
BLOCK "lang-charset"
BEGIN
VALUE "string-name", "value"
.
.
.
END
END
Following are the parameters in the StringFileInfo block:
lang-charset
Specifies a language and character-set identifier pair. It is a hexadecimal string consisting of the concatenation of the language and character-set identifiers listed earlier in this section.
string-name
Specifies the name of a value in the block and can be one of the predefined names listed earlier in this section.
value
Specifies, as a character string, the value of the corresponding string name. More than one VALUE statement can be given.
A variable information block has the following form:
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation",
langID, charsetID
.
.
.
END
Following are the parameters in the variable information block:
langID
Specifies one of the language identifiers listed earlier in this section.
charsetID
Specifies one of the character-set identifiers listed earlier in this section.
More than one identifier pair can be given, but each pair must be separated from the preceding pair with a comma.