VERSIONINFO Resource (Compact 2013)
3/28/2014
This resource-definition 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 file name. The resource is intended to be used with the File Installation library functions.
versionID VERSIONINFO fixed-info { block-statement . . . }
Parameters
- 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.Value
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. Therefore, if version is defined by the DWORD values 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.
FILEFLAGSMASK fileflagsmask
Specifies which bits in the FILEFLAGS statement are valid. If a bit is set in FILEFLAGMASK, 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 possible values, see Remarks.
FILEOS fileos
Specifies the operating system for which this file was designed. The fileos parameter is one of the operating system values listed in Remarks.
FILETYPE filetype
Specifies the general type of file. The filetype parameter can be one of the file type values listed in Remarks.
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 possible file subtype values, see Remarks.
- block-statement
Specifies one or more version-information blocks. A block can contain string information or variable information.
Remarks
To use the constants specified with the VERSIONINFO statement. The Winbase.h file, included in Windows.h, must be included in the resource-definition file.
The following list describes the parameters used in the VERSIONINFO statement:
fileflags
Specifies a combination of the following values.Value
Description
VS_FF_DEBUG
File contains debugging information or is compiled with debugging features enabled.
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 specified, 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 specified, the StringFileInfo block must contain a SpecialBuild string.
fileos
Specifies one of the following values.Value
Description
VOS_UNKNOWN
The operating system for which the file was designed is unknown.
VOS_DOS
File was designed for MS-DOS.
VOS_NT
File was designed for Windows NT.
VOS__WINDOWS16
File was designed for 16-bit Windows.
VOS__WINDOWS32
File was designed for 32-bit Windows.
VOS_DOS_WINDOWS16
File was designed for 16-bit Windows 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
Description
VFT_UNKNOWN
File type is unknown.
VFT_APP
File contains an application.
VFT_DLL
File contains a dynamic-link library (DLL).
VFT_DRV
File contains a device driver. If filetype is VFT_DRV, subtype contains a more specific description of the driver.
VFT_FONT
File contains a font. If filetype is VFT_FONT, subtype contains a more specific description of the font.
VFT_VXD
File contains a virtual device.
VFT_STATIC_LIB
File contains a static-link library.
All other values are reserved.
subtype
Specifies additional information about the file type.If filetype specifies VFT_DRV, this parameter can be one of the following values.
Value
Description
VFT2_UNKNOWN
Driver type is unknown.
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 filetype specifies VFT_FONT, this parameter can be one of the following values.
Value
Description
VFT2_UNKNOWN
Font type is unknown.
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 filetype specifies VFT_VXD, this parameter must be the virtual-device identifier included in the virtual-device control block.
All subtype values not listed here are reserved.
- langID
Specifies a valid language identifier. For more information about language identifiers, see Language Identifiers and Locales.
- charsetID
Specifies a valid code page that contains character set identifiers.
string-name
Specifies one of the following predefined names.Value
Description
Comments
Specifies additional information that should be displayed for diagnostic purposes.
CompanyName
Specifies the company that produced the file - for example, "Microsoft Corporation." 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". 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 DLL. If the file has no internal name, this string should be the original file name, 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 Corporation 1990-1998". 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. This string is optional.
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 VS_FF_PRIVATEBUILD is specified in the fileflags parameter of the root block.
ProductName
Specifies the name of the product with which the file is distributed. 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. This string should be present only if VS_FF_SPECIALBUILD is specified in the fileflags parameter of the root block.