Upgrading old versions with common UpgradeCode
Posted: Tue Aug 07, 2007 12:14 pm
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.
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.