newer version doesn't detect the previous one

Got a problem you cannot solve? Try here.
Post Reply
alexzakharov
Posts: 26
Joined: Thu Jun 22, 2006 5:50 pm

newer version doesn't detect the previous one

Post by alexzakharov »

I have an odd problem - could use some advice. we use a.b.c.d (e.g 3.4.0.1) product versioning scheme and have about ~10 versions out already.

i noticed that some versions dont properly detect that the previous version is installed. we didnt notice it till now since the target directory is simply overwritten on new installation, so it looks like everything is fine. however it is bothersome that when a new version is installed i don't always see "uninstalling previous version" screen.

again, it doesn't happen on all versions. for example first 3 versions work as expected, then next 4 dont work, then the last 2 are working again.

- Product version is always incremented
- Product code never changed
- Revision Code is set to autogenerate on each build in project properties
- the install script itself has been evolving over time.

Thoughts?

-Alex
Chris Miller
Posts: 66
Joined: Fri Mar 09, 2007 9:46 am
Location: Albany, NY
Contact:

Post by Chris Miller »

Is it reproducible? Does version x.y.z always fail to be identified as previous version? If it's a specific version or set of versions, I would check to make sure that there wasn't anything specific about those releases that would cause the problem.
Chris Miller
[url=http://www.versatrans.com]Tyler Technologies[/url]
[url=http://anotherlab.rajapet.net]My blog[/url]
[url=http://www.linkedin.com/in/christophermiller]My LinkedIn profile[/url]
alexzakharov
Posts: 26
Joined: Thu Jun 22, 2006 5:50 pm

Post by alexzakharov »

well, i have a dozen of previously built installers and yes for the ones that are broken it is easily reproducable. for example 3.1.0.70 uninstalls 3.1.0.66 correctly, but then 3.1.0.71 doesn't uninstall 3.1.0.70; i can easily duplicate this on multiple machines.

Or the last two installers that were built - 3.5.0.2 and 3.5.0.1 are working fine in a sense that the former uninstalls the latter. however, neither 3.5.0.1 nor 3.5.0.2 uninstall 3.4.0.30 and I dont understand why.

I'm just trying to figure out what could have caused it so I can prevent it in the future. If the underlying script has been mofified - does Installaware somehow automatically treat it as a new product? For example I know our 3.4 installers would call a custom task that would modify a file, and then in 3.5 we turned that call off - could that have caused Installaware to treat 3.5 as a new product?

alex
Chris Miller
Posts: 66
Joined: Fri Mar 09, 2007 9:46 am
Location: Albany, NY
Contact:

Post by Chris Miller »

AFAIK, IA is only checking what IA refers to as the "Product Code". Typically, this identified as the "upgrade code" in other MSI tools.

If that changed for a set of releases, IA will not identify those releases as part of your product. You can verify that by extracting the .MSI from the setup .exe file for those releases and examining the upgrade code with a tool that can read .msi files (like Orca).

If that code didn't change, I would open up a tech support issue with IA, something else may be broken.

If the Product Code did change for a set of releases, you'll need to proactively handle that in the setup for the current release. There is a 3rd plugin called "Upgrade Code Plug-In" available on the IA site that can be used to uninstall other applications. You could use that plug-in to uninstall previous versions of you app if they had a different Product code. It's not as elegant as having IA automatically locate the previous version, but it works very well and the end user will not notice anything different.
Chris Miller
[url=http://www.versatrans.com]Tyler Technologies[/url]
[url=http://anotherlab.rajapet.net]My blog[/url]
[url=http://www.linkedin.com/in/christophermiller]My LinkedIn profile[/url]
Post Reply