
Update between two older Setups
Posted 16 February 2012 - 11:32
I have two setups (compete with setup.exe and stuff,
older and newer version) and want to patch one with
the other. I'm using IS 12 and there the "Patch Design"
(but have also access to IS 2011). Now if I specify
one version as "Previous" and the other as "Latest"
and then create the patch, I get the error message
"The setup needs to perform a Major Upgrade of
the previous setup specified. However, the
Upgrade Code for the previous setup [3] is
not in the upgrade table. An upgrade will not occur."
Can anybody tell me what I have to change?
Posted 17 February 2012 - 15:48
You can read about the differences between "major" and "minor" in the help files.
Stefan Krüger
InstallSite.org twitter facebook
Posted 17 February 2012 - 17:51
QUOTE (Stefan Krueger @ 2012-02-17 15:48) |
Looks like you broke the rules for "minor updates", maybe removed a component or something, so a minor update isn't possible, but a "major upgrade" is required. |
First time, yes. But unintentionally; we want to do major updates anyway, so I read that defining a major update is required, which I did. I also made sure the version numbers differ in the 3rd part.
Do you know, by any chance, where I could download an example QuickPatch project?
Posted 17 February 2012 - 18:18
I don't have samples for QuickPatch projects.
Stefan Krüger
InstallSite.org twitter facebook
Posted 20 February 2012 - 09:44
QUOTE (Stefan Krueger @ 2012-02-17 18:18) |
For a Major Upgrade you also need to generate a new ProductCode. |
My main problem of understanding is this: The Quick patch project asks for the installation to be patched - one selects the setup.exe - and you can enter the "old" version number and the "new" one but I didn't find a place to specify the new installation. I would expect you could specify also the setup.exe of the new version.
Posted 20 February 2012 - 18:10
Stefan Krüger
InstallSite.org twitter facebook
Posted 21 February 2012 - 09:22
QUOTE (Stefan Krueger @ 2012-02-20 18:10) |
Patch design view creates a difference between the opld and the new version. In contrast, Quick Patch only uses the old version and you specify the files etc. you want to replace. |
I see.. thank you. But the patch design view complains about the
Upgrade Code for the previous setup not being contained in
the upgrade table even though I created a major upgrade in the
Upgrades section and put the upgrade code in question there. Can it
be that I have to create a kind of connection between the upgrade
section and the patch design view?
Posted 23 February 2012 - 10:14
Stefan Krüger
InstallSite.org twitter facebook
Posted 23 February 2012 - 16:37
QUOTE (Stefan Krueger @ 2012-02-23 10:14) |
Upgrade table (and Upgrade code) only matter for a Major Upgrade, and it's not recommended to ship a Major Upgrade in form of a patch (.msp). Better use a full .msi instead. |
The problem is that I don't have both setups as Installshield projects but only as complete setups, with .msi and setup.exe.
What I don't understand is that Val0003 complains of the upgrade id not being in the upgrade table but it clearly is (Direct Editor, Section "Upgrade"):
Posted 24 February 2012 - 15:39
QUOTE |
The problem is that I don't have both setups as Installshield projects but only as complete setups, with .msi and setup.exe. |
I don't see why this would force you to build a .msp patch?
In your screenshot, there's only one entry in the Upgrade table, and that's the one to prevent downgrades. You need to have another entry to enable upgrades, i.e. one that will uninstall older versions.
Stefan Krüger
InstallSite.org twitter facebook
Posted 27 February 2012 - 13:40
QUOTE (Stefan Krueger @ 2012-02-24 15:39) |
I don't see why this would force you to build a .msp patch? In your screenshot, there's only one entry in the Upgrade table, and that's the one to prevent downgrades. You need to have another entry to enable upgrades, i.e. one that will uninstall older versions. |
I'm not sure we have to. The basic goal for now is the following:
Wen have one version of our setup and want do replace
some DLLs and EXEs by newer versions, plus add a few new
DLLs. That's all - but we don't want to re-distribute the whole
setup because it is too large. Maybe a "differeential setup"
is a better solution but I don't find anything about it in the docs.
I added an Upgrade section in the upgrade table but
the Val0003 problem remains the same. The GUID it
complains about is in the second row:
Posted 29 February 2012 - 17:42
"Differential Media" is for InstallScript projects only. The MSI equivalent would be a patch (.msp). However a patch should only be used for Small or Minor Updates, not for Major Upgrades. And that in turn requires that you follow the component rules for minor updates.
Stefan Krüger
InstallSite.org twitter facebook