--------------------------------------------------------------------------
               StampVer - Win32 Version Resource Stamping
             Written by Paul Dixon (pauld@yitm.com) Nov 1997
--------------------------------------------------------------------------

Introduction
============
StampVer was written to allow easy stamping of a build number into the
version resource of a Win32 executable. This build number can be 
specified on the command line, or via a response file. If a response
file is used, StampVer can autoincrement the version number contained
it it.

This can be useful if you are frequently passing application builds 
around and want something more definitive than file dates to determine 
which version someone has.


Syntax and options
==================
StampVer [options] <exefile>

  -? displays this help
  -s"1.2.3.4" stamp with specified version number,e.g.
               -s"2.10.0.0"
  -v"<filename>" get version number from response file <filename> ,e.g.
               -v"stampver.inf"
  -i[1|2|3|4] preincrement version number in response file
               1,2,3,4 correspond to a element of the version number, so
               to increment the minor version, use -i4. Useful for
               auto-incrementing a build number.
  -p set product version as well as file version
  -o[1|2|3|4] sets the amount of output produced:
               -o1 errors only
               -o2 show warnings
               -o3 show informational messages
               -o4 show verbose diagnostics

Quotes around parameters are optional unless the parameter contains 
spaces.


About StampVer response files
==============================
The response file is a simple text file that contains the last version
number that was applied. Here is an example:

;StampVer information file
FileVersion=1.0.0.4

If you specify a response file that doesn't exist, or do not specify
one at all, one will be created for you starting at 1.0.0.0

Note that if you use the -s options to stamp a given version number
onto the EXE file, then response files are not required.


Integrating with Microsoft Developer Studio
===========================================
You can set up StampVer to autoincrement build numbers as part of your
normal build process. Assuming that your EXE has a version resource,
and StampVer is on the path, you simply set up a custom build step for
the target.

To do this, get the project settings dialog (Alt-F7), highlight the top
level folder for a build, and select the Custom Build tab. Add a build
command that looks like this: 

    StampVer -vstampver.inf -i4 -p -o2 $(TargetPath)

Set the output file to be the following:

    $(WkspDir)dummy

These settings will store the version number in stampver.inf file in
the workspace directory, and will autoincrement the version number
contained in it before applying it to the FileVersion and ProductVersion
elements of the target EXE.


Notes and Queries
=================
Please note that StampVer only operates on exe/dll files that already have
a version resource. It cannot add a version resource if one doesn't exist.

Also be aware that StampVer can only update the FileVersion and ProductVersion
strings if there is enough space to do so. An easy way to ensure this is to
set your version resource to contain 000.000.000.000 for these strings, and
let StampVer overwrite these with the real version numbers.

Since StampVer operates on the final exe, it will confuse your incremental 
linker into never linking incrementally! Not much I can do about that though.



Licence Agreement
=================
StampVer is freeware, and comes with no warranty - you use it at your own
risk. All distributions of StampVer must include all files contained in the 
archive it was originally packaged in. Any questions regarding distribution 
should be directed to Paul Dixon at pauld@yitm.com


Tech Support
============
If you do experience problems, or have ideas for enhancements, please
contact the author, Paul Dixon at pauld@yitm.com





