Documentation
One-Time Setup
Perform the following steps to configure Visual Studio 2008 (or 2005):
- Add the location of LegacyExtender.lib as a new path for library files (Tools > Options dialog - Projects and Solutions > VC++ Directories > Library files)
- Add the location of EditVersion.exe as a new path for executable files files (Tools > Options dialog - Projects and Solutions > VC++ Directories > Executable files)
Project Configuration
For each configuration or platform:
- Enter the legacyextender.lib, kernel32.lib, user32.lib and ole32.lib library files as additional dependencies, and the kernel32.lib, user32.lib and ole32.lib library files as libraries to be ignored (project Property Pages dialog - Linker > Input section). If this is an MFC project, also add the shlwapi.lib library file to both fields
- Add "EditVersion "$(TargetPath)" 4.0" as a post-build command (project Property Pages dialog - Builds Events > Post-Build Events section). If the executable is signed (Authenticode), the EditVersion command must be placed before the SignTool command
- Make sure that the Multi-threaded (/MT) or Multi-threaded debug (/MTd) C Runtime (CRT) library is selected in the project properties (C/C++ > Code Generation > Runtime Library)
Using EditVersion Manually
From the command prompt:
EditVersion [file] [#[.##]]
If EditVersion is run without specifying a version, it defaults to version 4.0. This indicates that the binary requires Windows 95/98/Me/NT 4.0, or a newer version of Windows.
If you do not edit the version, your binaries would most likely indicate at least version 5.0 in this field. They would thus require Windows 2000 or higher, even if you did not specifically invoke any feature that needs Windows 2000 or higher.
Coexistence with Other Libraries
Legacy Extender is compatible with Unicows (Microsoft Layer for Unicode on Windows 95/98/ME Systems). When configuring the dependencies, unicows.lib must appear before legacyextender.lib.