I'm evaluating InstallAware as a replacement for Microsoft's Visual Studio setup projects (what we've been using), and I have a few questions that have not been completely answered in other posts.
For starters, others have been confused by this as well and I wanted to make sure I have this right since I saw some contradictory posts:
1. The UpgradeCode is not directly accessible in IA.
2. The ProductCode is accessible and is called Product Code.
3. The PackageCode is accessible and is called Revision Code.
As I said, we've been using MS Setup projects and we have released about 9 versions using that method. The problem has been that Visual Studio does not handle updates, so we've been doing complete uninstall/reinstall cycles for each release. As is the guideline in VS, the ProductCode and PackageCode have been changed for each release. On the bright side, I have managed to keep the UpgradeCode the same back to the beginning of time. My understanding from reading Microsoft's and Install Shield's documentation is that the UpgradeCode is the key to being able upgrade an older version to a newer version. But therein lies the rub... Since InstallAware does not expose (or use?) the UpgradeCode, I'm not at all sure what I need to do to be able to build an installer that can do a fresh install as well as upgrade any old version up to the current version.
I looked at that free plug-in for getting the ProductCode based on the UpgradeCode, but I'm not sure how that helps me (or if it does). If it helps, I know the ProductCodes for all of our previous releases.
It's probably OK for the installer to do an uninstall/reinstall as long as I can insert a custom program in the right spots before and after the upgrade. Going forward beyond the version I'm working on now, I'd prefer if the installer can just replace a few files with new ones and update the version number in the installer database (I guess that's a patch?) so I need to know what I should be looking at for that as well.
Thanks.
Upgrading old versions with common UpgradeCode
-
- Posts: 36
- Joined: Tue Aug 07, 2007 11:25 am
-
- Posts: 904
- Joined: Thu Dec 22, 2005 7:03 pm
- Contact:
Did you try the (Un)Install MSI Setup command? That will let you remove old product versions. You can also use the Is MSI Setup Installed command to determine if an MSI based setup has been installed on the machine.
Using MSIcode scripting with the above commands (and of course If branching), you can accomplish exactly what you want when you detect old versions of the product on the end user systems.
Using MSIcode scripting with the above commands (and of course If branching), you can accomplish exactly what you want when you detect old versions of the product on the end user systems.
Candice Jones
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
Re: Upgrading old versions with common UpgradeCode
Craig Daniel wrote:I looked at that free plug-in for getting the ProductCode based on the UpgradeCode, but I'm not sure how that helps me (or if it does).
Thanks.
In InstallShield the upgrade code was always the same, whereas the product code changed with each new version.
I've build new setup with IA and wanted to uninstall any previous version.
Instead of trying all my previous product codes with (Un)Install MSI Setup, I wrote the plugin to:
- easily detect a previous version
- and then uninstall this version based on the product code
Martin Rothschink
InstallAware MVP
AxoNet Software GmbH
http://www.axonet.de/products/other-pro ... stallaware
InstallAware MVP
AxoNet Software GmbH
http://www.axonet.de/products/other-pro ... stallaware
-
- Posts: 36
- Joined: Tue Aug 07, 2007 11:25 am
UpgradeCode plug-in
Thanks, your experience with IS is exactly the same as my situation with Visual Studio setup projects. Now I understand how I benefit from the UpgradeCode plug-in. I'll try it out.
Just a thought for IA... Since so many people are leaving VS and IS to use InstallAware (and many, if not most, will have this same UpgradeCode issue), it would seem that a command that does what this plug-in does should be built into the product. And also considering that Microsoft says very clearly to use a single, constant UpgradeCode (not product code) to identify any version or language of a product.
Just a thought for IA... Since so many people are leaving VS and IS to use InstallAware (and many, if not most, will have this same UpgradeCode issue), it would seem that a command that does what this plug-in does should be built into the product. And also considering that Microsoft says very clearly to use a single, constant UpgradeCode (not product code) to identify any version or language of a product.
Who is online
Users browsing this forum: No registered users and 87 guests