Set Variable Major to
Set Variable Minor to
Set Variable LowVersion to
Parse String #Version# into Variables Major and LowVersion (Split at first occurrence of pattern)
Parse String $LowVersion$ into Variables Minor and LowVersion (Split at first occurrence of pattern)
Set Variable TITLE to $TITLE$ v$Major$.$Minor$
I'm also using web builds (IA 6.0) so they cache the setup file. When I try to uninstall or add/remove features by running the setup file again then the TITLE variable is set correctly. If I add/remove features by selecting the uninstall link from the start menu then it adds the version number again(i.e. "Product v1.3 v1.3"). It also adds a new entry in the add-remove programs list with the extra long program name. If I try to remove either of those entries then adds the version number another time (i.e. "Product v1.3 v1.3 v1.3"). If you complete add/remove features a few times then you can end up with a really long title. So it appears that when the cached setup is run then the TITLE is persisted but when the original is run then TITLE is not persisted. When discussing the "Set Variable" command, the help file does not list TITLE as a variable persisted by default.
I upgraded to Version 6.42 (Build santacruz_sp2.031207) and I'm still seeing the same problem. Using the attached project (Compiler Variable "Version=1.3") I run the setup wizard from the InstallAware UI by clicking the red exclamation point. I go through the installer (using the default options whenever possible) and click finish. I then run the installer again by clicking the red exclamation point. The first dialog shows New Project v1.3 in the title bar. I then click cancel->yes and go to Start->Programs->New Project v1.3->Uninstall New Project. The first dialog shows New Project v1.3 v1.3 in the title bar. I then continue through the installer in maintenance mode (default options where possible) and click finish. Now I can again run the installer by the red exclamation and get New Project v1.3 or by the start menu and get New Project v1.3 v1.3 v1.3. That is the problem I'm seeing.
The only workaround I found was to see if I could split the title. The title should be something like "Intelliserv v1.3" and defaults to "Intelliserv" so I take the existing title when the installer starts and split at the first " v" (space-v). If the second part is empty then I modify the Title. I never found a way to distinguish where the installer was started from and no one from InstallAware has ever gotten back to me on this issue.
Ok I came up with a different workaround for this. Instead of trying to use the existing value for TITLE just bypass it all together. The name of my product is "UAAR DataLog". This seems to solve the problem for me.
Set Variable VERSION to #BuildVersion#
Comment: Old way - this causes problems because TITLE is persisted
Comment: Set Variable TITLE to $TITLE$ ($Version$)
Comment: Just set the TITLE text directly
Set Variable TITLE to UAAR DataLog ($Version$)
The major problem that I had with this is each version of my product was left behind in the Add/Remove Programs screen. By making this change the entries are correctly removed when I uninstall or upgrade my program.