cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
warrick_fitzger
Level 3

Upgrading

Once a user has a version of the installer installed and I want to release an upgrade, how do I do so withouth expecting the user to uninstall the previous version?

In my case I have a very simple application and I really only need to replace one exe to complete the upgrade.

Thanks
Warrick
0 Kudos
14 Replies
Lenwin
Level 10

Hi Warrick,

You may perform the following steps to create an upgrade.

In an upgrade ensure that the Product version is higher than the base version and the Product code is different.

In the upgrades paths view, create a new upgrade path.

Refer the setup.exe or an msi file of the base version.

If you do not have the setup file of the older version, then ensure that the upgrade code of the new version of the installer is same as that of the older version. Specify appropriate values in the Min version and Max version field for the new upgrade path created.

You may also refer the following thread.

http://community.flexerasoftware.com/showthread.php?t=194062

Thanks,
Lenwin
0 Kudos
warrick_fitzger
Level 3

Thanks, but I must be missing something fundemental here. Why am I changing the product code?

By doing this I end up with multiple listings in Add\Remove programs.

The General info has a Product Code and an Upgrade code. I'd expect to use the Upgrade code in the Upgrade Path, and it would take care of things from there.

Sorry, I feel like I'm just doings things and not understanding how this process works.

Thanks again
Warrick
0 Kudos
warrick_fitzger
Level 3

ok, so after reading some more in the help it seems that what I want is a quickpatch. Everything I read says that you start with the quickpatch wizard, but I can't for the life of me find how to start the wizard?
0 Kudos
Lenwin
Level 10

Hi Warrick,

Kindly refer the following link which has more information regarding Major upgrade and the Product code.

http://msdn.microsoft.com/en-us/library/aa369786%28VS.85%29.aspx

http://msdn.microsoft.com/en-us/library/aa367850%28v=VS.85%29.aspx

The Quick Patch option is not available in InstallShield Limited edition. It is available in InstallShiled Premier and Professional editions which are enhanced versions of InstallShield.

I have gone ahead and created a sample project which performs an upgrade of the existing version of the product.

Kindly refer the sample project.

Thanks,
Lenwin
0 Kudos
warrick_fitzger
Level 3

Ok, so I'm not completly mad. Here's what happens - if I've already got a version installed on the machine and I right click on the setup project in Visual Studio and select "Install" ... everything works great.

If however I run the exe outside of Visual Studio, from say the commandline, I get the following error:
"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."

This happens when using your sample project as well as my own.
0 Kudos
Lenwin
Level 10

Hi Warrick,

Could you kindly let us know the detailed steps and the command which you have used to run the setup from the command line which results in an error message.

Thanks,
Lenwin
0 Kudos
warrick_fitzger
Level 3

I've attached two videos showing the process working and not working. it should also be noted that the video does not capture the window 7 security promp asking if I want to give the installer admin access. Hope this is clear enough an explanation.
0 Kudos
warrick_fitzger
Level 3

Any thoughts on this Lenwin?
0 Kudos
Lenwin
Level 10

Hi Warrick,

The 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." is encountered when a version of the product is already installed on the machine and another setup is installed with the same Product Code but with a different Package Code.

This would typically happen if after running your setup for the first time on a machine, you modify your project, rebuild the release (which generates a New package GUID), and run it again on that system.

Kindly ensure that the Product code and the Version number are modified and an Upgrade entry is created in the Upgrade Path view for an upgrade.

I did run the upgrade through the command prompt on a Windows 7 machine and it worked. I have attached a video file.

Thanks,
Lenwin
0 Kudos
warrick_fitzger
Level 3

Hi Lenwin,

Yikes, ok, think I can re-produce my problem.

The 1st install I do is via file download and double clicking the setup.exe file.
The second install is done via commandline - "setup.exe /S /v/qn".
It seems that once I've installed it via the commandline using these switches, all subsequent installs add an additional entry to the Add Remove Programs list.

So to be 100% clear. It seems like everything works as expected (no duplicate entries), but then once I run the commandline .. all subsequent attempts will add an entry.

Thanks
Warrick
0 Kudos
Lenwin
Level 10

Hi Warrick,

When creating an upgrade kindly ensure that you delete any pre-existing upgrade entry other than the ISPreventDowngrade entry.

Once you create a new upgrade entry kindly refer it to the most recent setup created.

Kindly change the product code and the product version.

This would ensure that the previously installed setup on the system will be updated.

I have attached a sample project.

Kindly let me know the results of using the sample project.

Thanks,
Lenwin
0 Kudos
warrick_fitzger
Level 3

Wow, think I've finally got this all working. Looks like it had nothing to do with the silent install, it was just the fact that I had not updated the Min and Max install versions in the Install path, so it was working the 1st time, but would add a new entry for subsequent installs.

So although you've already state all this, I'll re-state for any other readers on the thread.

1. Create you're 1st time installer.
2. Anytime you're releasing an upgrade:
- re-gen the GUI for the Product Code
- Update your version number.
- Add an upgrade path.
- Make sure the Upgrade path mathes the Upgrade Code on the General Info page.
- Make sure the Min and Max version on the Upgrade path are wide enough to accomideate your install.

Lenwin, thanks for your help and patience, I know this conversation seems mildly retarded now, but I can now see why people get frustrated tryign to get this simple task done.

The things that confused me were:
1. That I need to generate a new "Product Code" - in my mind it's the same product. Calling it unique install Instance ID or something like that would seem to make more sense.
2. When the Min \ Max values are not wide enough, windows installer will simple treat your install as a new install instance and add a new entry to the add remove programs list.

All seems to make sense now, but by goodness, there should be a 101 explainaing the basics uf upgrading an application somewhere.
0 Kudos
dickstone
Level 3

In this thread, what does "re-gen the GUI for the Product Code" mean and how do you do it?

Does the min/max need to cover all previous versions, but not the current version?
0 Kudos
Lenwin
Level 10

Hi,

You may generate a new product code by clicking on the button available on the product code field in the General Information view.

The versions which you would like to target for an upgrade have to be specified in the Min version and Max version field.

Min Version field contains information regarding the minimum version number of the product that your current version would update.

If an upgrade entry is added to the Upgrade Path by browsing for and selecting an .msi file or a setup.exe file, then InstallShield uses the version of the .msi file in the Min Version setting.

Max Version field contains information regarding the maximum version number of the product that your current version would update.

Thanks,
Lenwin
0 Kudos