CMS Software
06-05-2009, 02:04 PM
Perhaps this is Working As Designed, but I found it surprising. We use the Release feature extensively for different versions of our products. Each release changes variables such as [INSTALLDIR] and [EXENAME], etc.
We build an INI file similar to the following:
[PgmPathData]
XYZ Program Path = [INSTALLDIR]
[NOTES]
Install1 = DBSYSTEM.DB
Install2 = IDAPI.CFG
Version = [Vers]
Product = [CMS_PRODUCT]
Version = [CMS_PRODVER]
EXE Name = [EXENAME]
My Documents = [MY_DOCUMENTS]
ProdGUID = [PRODUCTGUID]
Release ID = [SB_RELEASEID]
Server Manifest = [SRVRMNFST]
SYS = [SYS]
UnInstall = [UNINSTALL]
We were surprised to find that the [INSTALLDIR], [EXENAME], [PRODUCTGUID], [SB_RELEASEID] and [SRVRMNFST] variables were being expaned using the default values from the General Information tab, not from the Release Properties screen. I thought the Release Properties were resolved first before anything else happened so that items in the script (including INI definitions) would use the Release versions instead of the General Properties versions.
We can get around this by defining private variables with the desired values but that means duplicate work and increases the odds of changing a general variable such as [EXENAME] in the Release Properties screen without changing the corresponding private variable.
Any thoughts?
-O. D. Williams-
We build an INI file similar to the following:
[PgmPathData]
XYZ Program Path = [INSTALLDIR]
[NOTES]
Install1 = DBSYSTEM.DB
Install2 = IDAPI.CFG
Version = [Vers]
Product = [CMS_PRODUCT]
Version = [CMS_PRODVER]
EXE Name = [EXENAME]
My Documents = [MY_DOCUMENTS]
ProdGUID = [PRODUCTGUID]
Release ID = [SB_RELEASEID]
Server Manifest = [SRVRMNFST]
SYS = [SYS]
UnInstall = [UNINSTALL]
We were surprised to find that the [INSTALLDIR], [EXENAME], [PRODUCTGUID], [SB_RELEASEID] and [SRVRMNFST] variables were being expaned using the default values from the General Information tab, not from the Release Properties screen. I thought the Release Properties were resolved first before anything else happened so that items in the script (including INI definitions) would use the Release versions instead of the General Properties versions.
We can get around this by defining private variables with the desired values but that means duplicate work and increases the odds of changing a general variable such as [EXENAME] in the Release Properties screen without changing the corresponding private variable.
Any thoughts?
-O. D. Williams-