cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
tklancer
Level 4

Upgrade requires previous installer?

Hi all... I'm very new to InstallShield, so this is most likely a dumb question with an obvious answer, but lots of googling, doc reading, and experimentation don't seem to have provided it.

I've got a Basic MSI project that has been migrated from InstallShield 12, and I'm modifying it to do an upgrade from an older version of our product. I've got it configured to do a major upgrade, and I can get it to do an upgrade -- but only if the old version's MSI is embedded in the new install. I don't _want_ to have the old MSI embedded in the install -- is there any way around this? Why is it required in the first place?

Thanks for any and all assistance!
-Tom

---

Some strings for future searches (to save others from the same trouble):
upgrade requires old installer
upgrade requires previous installer
upgrade requires old MSI
upgrade requires previous MSI
Labels (1)
0 Kudos
(7) Replies
Not applicable

I'm not sure what you mean by "embed your previous installer". Where are you embedding your installer?

Do you mean populating the Media -> Upgrades view?
0 Kudos
tklancer
Level 4

No, when I actually run the installer, it complains that it can't find the installer for the previous version in the temp directory it decompresses to. So, it runs through the install process, but comes up with "Error 1316. A network error occurred while attempting to read from the file c:\[...]\Centrifuge-1.0.5.msi". Centrifuge-1.0.5.msi is the installer for our previous version -- the version I'm trying to upgrade. The same thing happens when I don't use compression -- it just complains it can't find it in the DISK1 directory. If I rebuild and drop the old msi into the DISK1 directory, it runs through the upgrade process fine.

So, it looks to me like the upgrade process wants a copy of the old version's installer for some reason, and it freaks out if it can't find it. Any thoughts on what I need to change?

Thanks,
-Tom
0 Kudos
Christopher_Pai
Level 16

Are you doing a major or minor upgrade?
0 Kudos
tklancer
Level 4

I've got it tagged as a major upgrade, but I don't know that it has to be (it just seemed to work best). Our upgrade will need to update a DB, then put down the new files. It has to change the version number, as well. Ideally, I'd like an uninstall of the new version to remove the app, rather than backing down to the old version.

As a major upgrade, I've tried it with and without a new ProductCode, as well as with and without a new UpgradeCode. The ProductVersion has changed, and the PackageCode changes automatically.

Thanks,
-Tom
0 Kudos
Not applicable

The behavior is more in line with a minor upgrade, so I'm not sure what's going on there.

Can you validate that you performed the following steps:

-> Change the ProductCode
-> Author a major upgrade entry in the Media -> Upgrades view
-> Increase one of the first 3 fields of the Product Version
0 Kudos
tklancer
Level 4

It looks like I was a bit confused about major vs. minor upgrades. As our MSI name has changed, we have to do a major upgrade.

I think this is what was happening: When using a bootstrapper supporting multiple instances, a different MSI name, but no product code change, it tries to do a minor upgrade and looks inside the package for an MSI with the old name.

So, it turns out I just can't read. Which is a pity, as reading is fundamental. Now all I have to do is make sure my major upgrade is working properly...

Thanks for the assistance!
0 Kudos
Not applicable

Nice link 😛

Glad to hear you were able to pinpoint the issue though.
0 Kudos