This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Migrating setups from InstallAware
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Sep 26, 2012
05:20 AM
Migrating setups from InstallAware
I wish to migrate to InstallShield 2012 LE from setups created using InstallAware.
I’ve created a new project using InstallShield 2012 LE, I want this setup to automatically uninstall any previously installed version prior to installing the new version.
All previously created setups for my product were created using InstallAware 6, they share the same Product Code and Upgrade Code (verified using Orca).
My new project details are below:
Upgrade Paths Page:
I created an Upgrade Path by referencing the old InstallAware created MSI.
I set the Min Version to 1.0 and the Max Version to 4.3 (the previous release was version 4.3)
General Information Page:
I set the Upgrade Code to be same as that found in the original InstallAware created MSI (copied from the Upgrade Path)
I Set the Product Version to 5.0.0.0
If I set the Product Code the same as found in the original MSI, then when running the new setup, the previously installed version is not removed, instead a dialog appears with the following message:
“Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove programs on the Control Panel.”
If instead, I create a new Product Code, then the new setup no longer complains about the previous installation. But it overwrites it rather than uninstalling and I end up with two entries in the Add/Remove Programs.
What am I doing wrong? Any assistance would be appreciated.
I’ve created a new project using InstallShield 2012 LE, I want this setup to automatically uninstall any previously installed version prior to installing the new version.
All previously created setups for my product were created using InstallAware 6, they share the same Product Code and Upgrade Code (verified using Orca).
My new project details are below:
Upgrade Paths Page:
I created an Upgrade Path by referencing the old InstallAware created MSI.
I set the Min Version to 1.0 and the Max Version to 4.3 (the previous release was version 4.3)
General Information Page:
I set the Upgrade Code to be same as that found in the original InstallAware created MSI (copied from the Upgrade Path)
I Set the Product Version to 5.0.0.0
If I set the Product Code the same as found in the original MSI, then when running the new setup, the previously installed version is not removed, instead a dialog appears with the following message:
“Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove programs on the Control Panel.”
If instead, I create a new Product Code, then the new setup no longer complains about the previous installation. But it overwrites it rather than uninstalling and I end up with two entries in the Add/Remove Programs.
What am I doing wrong? Any assistance would be appreciated.
(8) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Sep 27, 2012
02:43 AM
Major upgrade is applicable when attempting to uninstall a prevoius version of a product (MSI-based installation) automatically prior to installing a newer version of the same product family (also MSI-based installation), e.g., MyProduct 1.0 to MyProduct 2.0.
I am not sure if old version of InstallAware i.e 6.0 had msi files. You can try uninstalling the old setup manually by calling the msi manually.
You will want to uninstall your 6 installation prior to installing your MSI-based installation created with InstallShield 2012. It can be achieved with a custom action in your MSI-based installation.
Helpful link:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa370579%28v=vs.85%29.aspx
I am not sure if old version of InstallAware i.e 6.0 had msi files. You can try uninstalling the old setup manually by calling the msi manually.
You will want to uninstall your 6 installation prior to installing your MSI-based installation created with InstallShield 2012. It can be achieved with a custom action in your MSI-based installation.
Helpful link:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa370579%28v=vs.85%29.aspx
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Sep 27, 2012
06:06 AM
Thanks for your reply Shekar, unfortunately I’ve not made any progress.
Yes, my previous installers made with InstallAware 6 were MSI based. I looked into using a custom action to uninstall the previous version, but this failed as two MSIs can’t run at the same time.
I’d be happy with either a Minor or a Major update, so long as the files get updated and we’re left with only one entry in Add/Remove programs.
As I understand it, to create a Minor Update I have to keep both the Product and Upgrade codes the same as my previous installers, only the Product Version needs to change. When I run this installer then I get the “Another version of this product is already installed…” message. It is as if my setup isn’t being treated as an update.
Is there an option where I can explicitly tell InstallShield LE that my installer in a Minor Update?
To create a Major Update, I believe that I have to change both the Product Code and the Product Version, only the Upgrade Code remains unchanged from previous installers. I also create an Upgrade Path which has the same Upgrade Code as used in all versions of my product.
When I run this installer then the files do get installed but I’m left with two entries in Add/Remove programs.
I seem to have installed two versions side-by-side (actually, with one overwriting the other if I leave the destination path unchanged).
How do I force a Major Update to remove an older version?
Is there an option anywhere which specifies whether side-by-side Major Updates are allowed?
-Warwick
Yes, my previous installers made with InstallAware 6 were MSI based. I looked into using a custom action to uninstall the previous version, but this failed as two MSIs can’t run at the same time.
I’d be happy with either a Minor or a Major update, so long as the files get updated and we’re left with only one entry in Add/Remove programs.
As I understand it, to create a Minor Update I have to keep both the Product and Upgrade codes the same as my previous installers, only the Product Version needs to change. When I run this installer then I get the “Another version of this product is already installed…” message. It is as if my setup isn’t being treated as an update.
Is there an option where I can explicitly tell InstallShield LE that my installer in a Minor Update?
To create a Major Update, I believe that I have to change both the Product Code and the Product Version, only the Upgrade Code remains unchanged from previous installers. I also create an Upgrade Path which has the same Upgrade Code as used in all versions of my product.
When I run this installer then the files do get installed but I’m left with two entries in Add/Remove programs.
I seem to have installed two versions side-by-side (actually, with one overwriting the other if I leave the destination path unchanged).
How do I force a Major Update to remove an older version?
Is there an option anywhere which specifies whether side-by-side Major Updates are allowed?
-Warwick
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Sep 28, 2012
03:54 AM
if you are using ISLE, it is recommended to perform major upgrade. The double entry is likely due to not correctly identifying the GUID of the installed package.
I would suggest these steps:
Locate the Upgrade Code from the MSI of the older package (in the Property table) and verify that this same code appears in the Common tab of your major upgrade item, in the Products having another Upgrade Code field.
As a test, consider removing any version values and simply use the Any earlier version.
I would suggest these steps:
Locate the Upgrade Code from the MSI of the older package (in the Property table) and verify that this same code appears in the Common tab of your major upgrade item, in the Products having another Upgrade Code field.
As a test, consider removing any version values and simply use the Any earlier version.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Sep 28, 2012
07:13 AM
I have double checked that I have the same Upgrade Code in the General Information page as used in the previous setups. I have changed the Product Code so as to force a Major Update.
I also removed the version and language values from the Upgrade Path, I understand that leaving these fields empty is equivalent to ‘Any Version’.
The new setup still does not uninstall previous versions and I end up with a double entry in Add/Remove programs.
Perhaps this is by design, perhaps major updates install side-by-side unless we somehow tell the setup to remove the previous version?
Or, Is there a requirement that the ‘Feature’ be named the same between versions? IS2012 LE is limited to a single Feature named ‘Always Install’, this doesn’t match my previous setups and it can’t be renamed.
As you can probably tell, the frustration is making me clutch at straws 😞
Warwick
I also removed the version and language values from the Upgrade Path, I understand that leaving these fields empty is equivalent to ‘Any Version’.
The new setup still does not uninstall previous versions and I end up with a double entry in Add/Remove programs.
Perhaps this is by design, perhaps major updates install side-by-side unless we somehow tell the setup to remove the previous version?
Or, Is there a requirement that the ‘Feature’ be named the same between versions? IS2012 LE is limited to a single Feature named ‘Always Install’, this doesn’t match my previous setups and it can’t be renamed.
As you can probably tell, the frustration is making me clutch at straws 😞
Warwick
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Oct 03, 2012
04:04 AM
could you please post the upgrade log? probably that would provide more information on various stages of installation.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Oct 04, 2012
03:15 AM
Attached is the log generated when running my test installation. The installer does not remove the previous installation and I’m left with a double entry in Add/Remove programs.
Previous Installation v4.4, built with InstallAware 6.
ProductCode: {DB520DDA-39BD-4189-B0D0-71DC426C98F3}
UpgradeCode: {C43AEADE-0786-42F5-AE0A-221911C85302}
New Installation v5.0, built with InstallShield 2012 Limited Edition
ProductCode: {0035C466-6A2F-403C-A4F7-527D301DB17C}
UpgradeCode: {C43AEADE-0786-42F5-AE0A-221911C85302}
The Upgrade Table contains an entry for UpgradeCode {C43AEADE-0786-42F5-AE0A-221911C85302}
Thank you for taking the time to look at this issue.
Previous Installation v4.4, built with InstallAware 6.
ProductCode: {DB520DDA-39BD-4189-B0D0-71DC426C98F3}
UpgradeCode: {C43AEADE-0786-42F5-AE0A-221911C85302}
New Installation v5.0, built with InstallShield 2012 Limited Edition
ProductCode: {0035C466-6A2F-403C-A4F7-527D301DB17C}
UpgradeCode: {C43AEADE-0786-42F5-AE0A-221911C85302}
The Upgrade Table contains an entry for UpgradeCode {C43AEADE-0786-42F5-AE0A-221911C85302}
Thank you for taking the time to look at this issue.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Oct 11, 2012
04:42 AM
I’ve finally solved this issue. I had (incorrectly) assumed that all MSI based setups can be uninstalled automatically by Windows Installer in the RemoveExistingProducts action.
But, it seems that setups built using InstallAware cannot be uninstalled this way, they can’t even be removed using msiexec.exe. In order to perform an uninstall, I have to run the old installer’s bootstrapper with the following parameters.
setup.exe /s MODIFY=FALSE REMOVE=TRUE UNINSTALL=YES
I have created an executable to perform the uninstall, this is run as a custom action. This isn’t ideal as I’d like to prompt the user prior to uninstalling the existing product, if they decline then there isn’t an elegant way of terminating the installer as EXE custom actions can’t cancel an install without an error message being displayed. If I weren’t using the Limited Edition of IS then I’d be able to cancel the install from a DLL custom action.
I’m under the impression that I’ve wasted many days simply because the InstallAware created setup didn’t play by the rules, surely it should have allowed itself to be uninstalled without having to call the bootstrapper!
But, it seems that setups built using InstallAware cannot be uninstalled this way, they can’t even be removed using msiexec.exe. In order to perform an uninstall, I have to run the old installer’s bootstrapper with the following parameters.
setup.exe /s MODIFY=FALSE REMOVE=TRUE UNINSTALL=YES
I have created an executable to perform the uninstall, this is run as a custom action. This isn’t ideal as I’d like to prompt the user prior to uninstalling the existing product, if they decline then there isn’t an elegant way of terminating the installer as EXE custom actions can’t cancel an install without an error message being displayed. If I weren’t using the Limited Edition of IS then I’d be able to cancel the install from a DLL custom action.
I’m under the impression that I’ve wasted many days simply because the InstallAware created setup didn’t play by the rules, surely it should have allowed itself to be uninstalled without having to call the bootstrapper!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Oct 11, 2012
05:03 AM
that's great to hear. i have not used installaware, so i am not aware of its functionality.