MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: The PRODUCT Part of an MSI Version File[Next]: Configuration / Options
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Source Code->The .VER (version) File->The CHANGE HISTORY Part of an MSI Version File

The CHANGE HISTORY Part of an MSI Version File

The version information follows the product part of a version file (click for example).

It is one or more records organised from the latest to the oldest (reverse order) so the first record found describes the current "change" and the version number is used as the version number of the MSI being built. The minimal change for a new release of your product will be to insert a new entry at the top.

Each record consists of a keyword followed by data (separated by a ":"). A line that begins with a ":" is a continuation of the previous line.

Each record must supply each of the following keywords are:

The VERSION Number Macros

Note that the first version number in the change history is used to build the following macros:

Main VERSION (HISTORY) Options

Please see the "options for commands" section of the manual.

#define? VER_CH_EQUAL_CHARS                :
#define? VER_HISTORY_FIELD_VERSION         "{*,Version,REQUIRED,NONBLANK}?"
#define? VER_HISTORY_FIELD_CHANGES         "{*,Changes,REQUIRED,NONBLANK}?"
#define? VER_HISTORY_FIELD_DATE            "{*,Date,REQUIRED,NONBLANK}?"
#define? VER_HISTORY_FIELDNUM_VERSION      1
#define? VER_HISTORY_FIELDNUM_CHANGES      2
#define? VER_HISTORY_FIELDNUM_DATE         3
#define? VER_HISTORY_FIELDNUM_FIRST_EXTRA  4        ;;Standard only has 3 fields
#define? VER_THIS_RELEASE_VERSION          <?Data:@@ChangeHistory.1.RxVER_HISTORY_FIELDNUM_VERSION>  ;;First item is "current" release
#define? VER_THIS_RELEASE_CHANGE           <?Data:@@ChangeHistory.1.RxVER_HISTORY_FIELDNUM_CHANGES>  ;;First item is "current" release
#define? VER_CH_IMPORT_FIELDS_EXTRAS
#(
   #define? VER_CH_IMPORT_FIELDS

   ;--- See #import (ML) command for details about how to describe fields ---
   <$VER_HISTORY_FIELD_VERSION>            ;;Field #1
   <$VER_HISTORY_FIELD_CHANGES>            ;;Field #2
   <$VER_HISTORY_FIELD_DATE>               ;;Field #3
   <$VER_CH_IMPORT_FIELDS_EXTRAS $$SpcPlus> ;;Possible user defined extras
#)

The above options are meaningless if you have completely replaced the default handling, for example as demonstrated by the "XML Version File" example.


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: The PRODUCT Part of an MSI Version File[Next]: Configuration / Options


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Saturday May 28 2022 at 3:11pm
Visit MAKEMSI's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.