Hello,

how can I create versioninfos to my dll (made with MASM32). Is that possible???

Greetz, Nordwind64
Posted on 2001-11-14 15:00:09 by Nordwind64
You need to add a VERSIONINFO resource to your resource file... If you can find a good resouce editor somewhere you can probably create version info with that..

You can also write it by hand but I never tried that so I wouldn't know the full syntax of it.. Below is an example of what the VC resource editor created, but I think it uses some constants from afxres.h.. Maybe it helps though

Thomas



VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
FILEFLAGS 0x28L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "Comments", "AsmDB special edition. Not intended for use outside HTTPFT. Limited version.\0"
VALUE "CompanyName", "Exagone\0"
VALUE "FileDescription", "AsmDB SE database engine DLL\0"
VALUE "FileVersion", "1, 0, 0, 0\0"
VALUE "InternalName", "AsmDBSE\0"
VALUE "LegalCopyright", "Copyright ? 2001 by Exagone (Thomas Bleeker)\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "AsmDB.dll\0"
VALUE "PrivateBuild", "Special Edition\0"
VALUE "ProductName", "AsmDB SE database engine by Exagone\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
VALUE "SpecialBuild", "Special Edition\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0, 1200
END
END
Posted on 2001-11-14 15:59:39 by Thomas
This is from RC.HLP. Sorry about the length... :grin:

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.

Syntax

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

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:

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 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.



Remarks

To use the constants specified with the VERSIONINFO statement, the WINVER.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:

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 Description
VOS_UNKNOWN Operating system for which the file was designed is unknown to Windows.
VOS_DOS File was designed for MS-DOS.
VOS_NT File was designed for Windows NT.
VOS_WINDOWS16 File was designed for Windows version 3.0 or later.
VOS_WINDOWS32 File was designed for 32-bit Windows.
VOS_DOS_WINDOWS16 File was designed for Windows version 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 Description
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.
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.

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 Description
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 Description
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.
All subtype values not listed here are reserved for use by Microsoft.

langID

Specifies one of the following language codes:

Code Language Code Language
0x0401 Arabic 0x0415 Polish
0x0402 Bulgarian 0x0416 Brazilian Portuguese
0x0403 Catalan 0x0417 Rhaeto-Romanic
0x0404 Traditional Chinese 0x0418 Romanian
0x0405 Czech 0x0419 Russian
0x0406 Danish 0x041A Croato-Serbian (Latin)
0x0407 German 0x041B Slovak
0x0408 Greek 0x041C Albanian
0x0409 U.S. English 0x041D Swedish
0x040A Castilian Spanish 0x041E Thai
0x040B Finnish 0x041F Turkish
0x040C French 0x0420 Urdu
0x040D Hebrew 0x0421 Bahasa
0x040E Hungarian 0x0804 Simplified Chinese
0x040F Icelandic 0x0807 Swiss German
0x0410 Italian 0x0809 U.K. English
0x0411 Japanese 0x080A Mexican Spanish
0x0412 Korean 0x080C Belgian French
0x0413 Dutch 0x0C0C Canadian French
0x0414 Norwegian - Bokml 0x100C Swiss French
0x0810 Swiss Italian 0x0816 Portuguese
0x0813 Belgian Dutch 0x081A Serbo-Croatian (Cyrillic)
0x0814 Norwegian - Nynorsk


charsetID

Specifies one of the following character-set identifiers:

Identifier 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


string-name

Specifies one of the following redefined names:

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 Corporation 1990-1992". 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? is a trademark of Microsoft? Corporation". 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 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 redefined 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.
Posted on 2001-11-14 18:18:09 by S/390
Thank you!

(Sorry for supplying so late...)
Posted on 2006-06-20 11:09:38 by Nordwind64