cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
memento
Level 2

IS 2008 Process: From Basic MSI to Major Upgrade

I apologize if there is information on this board regarding this issue already, but I am sorely pressed for time, and any help would be tremendously appreciated.

I am new to IS 2008; my company just started using it, and I was the one chosen to learn its functionality. My problem lies in the fact that I'm not exactly sure of the correct process to get from building a Basic MSI Project to initiating an upgrade later.

Let me provide you with my scenario: we are supplying our customer(s) with a very large amount of data, in the form of a computer-based learning program. Now, we will create an installer file initially to include the first version, and probably a few months down the road, provide them with a major upgrade.

1. Do you create the project installer file first, and then create another installer file later with some upgrade functionality implemented, to update the previous one on the end-user's computer? In other words, do you simply create another Basic MSI Project with the new data and choose some options that will package it as an upgrade?

2. Do you have to implement some specific features during the initial build that will allow for an upgrade later (more than likely, it will be a major upgrade.)

I really just need to know the correct way to go to properly build a Basic MSI project that can be properly upgraded later, whether it's in the form of a patch, minor, or major upgrade.

Also, does it matter if you choose to build the installation with a Single Executable VS. the Windows Installer option for a Basic MSI Project?
I know that with a Windows Installer package, it seems to request the end-user to have administrative priviliages to run the file, but the Single Executable didn't seem to require this.

Thanks to anyone that can help.
Labels (1)
0 Kudos
(3) Replies
Qualter
Level 2

1. Do you create the project installer file first, and then create another installer file later with some upgrade functionality implemented, to update the previous one on the end-user's computer? In other words, do you simply create another Basic MSI Project with the new data and choose some options that will package it as an upgrade?


Pretty much. To have Windows Installer initiate a major upgrade on the v2 installer you need to:


  • Change the Product Code GUID
  • DON'T change the Upgrade Code GUID
  • Create a Major Upgrade item


Again, this is all done in the v2 of the app, you don't have to do anything in the v1 to 'prep' for major upgrades. Adding a Major Upgrade item to the v2 is done in the Media->Upgrades section in IS. You right click on Upgrade Windows Installer Setup and do Add Major Upgrade Item. From there just specify when you want the upgrade to trigger.

A Major Upgrade means the uninstall of the v1 app will run before the v2 is installed. If you need to preserve anything on the machine between this you're going to have to write in the handling yourself. I believe the previous version is uninstalled during the RemoveExistingProducts action in the Exec sequence. You'll have to do any preserving before that action runs and any restoring after it's finished.


2. Do you have to implement some specific features during the initial build that will allow for an upgrade later (more than likely, it will be a major upgrade.)


Not really as far as I understand.
0 Kudos
DebbieL
Level 17

When you create your initial installation, you'll want to make sure that it can't be installed over a future version of product. InstallShield 2008 automatically adds this support to Basic MSI projects: if end users install version 2.0, they can't downgrade the product by later running the version 1.0 installation. For more details, see Preventing the Current Installation from Overwriting a Future Major Version of the Same Product.
0 Kudos
memento
Level 2

Thanks for the info. I'm just trying to get the "bigger picture" of how IS works down so I'll have a basic understanding of the program.

By the way, does anyone else notice that InstallShield likes to freeze and not respond when navigating through a lot of the tabs (especially when adding large files)?
0 Kudos