- Overview
- Installation
- Restrictions
- Documentation & Demos
- License & Copyright
- Redistributing the Library
- Contributing
- Compiling
- Updates
This library is a 32 bit Windows DLL that can be used to read and manipulate binary version information from executable and binary resource files. It can also update the version information and write it in a format suitable for inclusion in binary resource files.
The advantage of using this library over the Windows API for reading version information is that the library can cope with badly formed version information that would defeat the API routines. Furthermore, the library can enumerate the contents of string tables and list and access non-standard string table entries. It also works with string tables in multiple languages.
The library's advantage in writing version information resources is that it generates correctly formatted binary data suitable for writing to binary resource files. This removes the need to create .rc
files and, consequently, the need to use a resource compiler for version information.
The library has a web page on delphidabbler.com.
The Library is distributed in a zip file. The latest version is available from the project's releases page on GitHub.
To use the library simply extract the file VIBinData.dll
, copy it to a suitable directory and call into it from your program. It is recommended that the DLL is placed in the same directory as the program that calls it.
The zip file also contains the following files:
IntfBinaryVerInfo.pas
- Delphi Pascal source file that defines the supported interfaces and the type of the DLL's entry point function.README.md
- this file.UserGuide.md
- information about how to use the DLL.CHANGELOG.md
- records changes in each release.LICENSE.md
- the library's open source license.
VIBinData.dll
is only available as a 32 bit DLL. This makes it incompatible with 64 bit programs.
From v2, the library may only be used to read and manipulate 32 bit, Unicode, version information resource data. Such data occurs in all 32 bit binary Windows resource files and any binary version information data read from 32 or 64 bit programs on Windows NT platform operating systems.
To work with 16 bit binary resource files and 16 bit or 32 bit programs running on the Window 9x line of operating systems you need v1.x of the library, which can read ANSI formatted version information.
For details of how to use the library, along with some example code, please refer to the user guide (Docs/UserGuide.md
).
There are also two demos programs in the Demos
directory. See Demos/README.md
for details.
The library is copyright (C) 2002-2023 Peter D Johnson, https://gravatar.com/delphidabbler. See the file LICENSE.md
for details of the license.
Portions of the library's source code are released under the Mozilla Public License v2.0.
By using the library you are deemed to have accepted the terms of the license.
Providing you comply with the terms and conditions of the end user license agreement in LICENSE.md
, you may:
- Distribute the library with with your applications and / or other libraries that call into the DLL.
- Modify and redistribute modified versions of the library.
- Redistribute the original DLL.
Any redistribrutions must be accompanied by a copy the license.
This project uses the Gitflow methodology.
To contribute please fork the repo, clone your fork and then switch to the develop
branch. Create a feature branch off develop
with a name starting with feature/
and do your coding in that branch. If you are implementing an issue then start the name with the issue number and leave a comment on the issue that you're working on it. Commit all your changes to the feature branch. When ready open a pull request for your feature branch.
Delphi 11 is used for development. Later versions may be able to be used. It is possible, but not tested, that Delphi 10.4 may be suitable.
Open Src/VIBinData.dproj
to build the DLL or Demos/VIBinDataDemos.groupproj
to build the demos.
Src/VIBinData.dproj
has a build event that requires DelphiDabbler Version Information Editor (VIEd.exe
) v2.14.0 or later to be installed. The VIEDROOT
environment variable must be set to the directory containing VIEd.exe
. VIEDROOT
can either be set before starting the IDE, or it can be set in the Environment Variables pane of the Options dialogue box (Use Tools | Options to display it).
Releases ready for deployment are created by running Deploy.bat
in the repo root. See the comments in Deploy.bat
for further information.
The latest version of the library is always available from the releases page of the GitHub repository.
The file CHANGELOG.md
notes the changes in each release.