
maycockt1.552492118504434E12 asked a question.
Major upgrade does not uninstall previous version
Hi,
I'm new to installshield, and after having successfully created an installation and distributed it in house I find I'm needing to provide an upgrade.
My testing though has come up with a major flaw though - the upgrade process (and I have set to run a major upgrade, with always uninstall) is not uninstalling the previous version, and also is not overwriting the exe that was installed in the first place. So, after my upgrade, I'm left with the previous version, and no messages to tell me that the upgrade has failed.
When investigating the installed files, I'm finding that the newly created folder is read only.
Having discovered that my upgrade is not working, I also tried uninstalling the original installation, only to find that the exe and some registry entries are not uninstalled.
Is there a setting or 2 that I am missing that will
A) - Ensure the uninstallation removes all installed files, and
B) - Inform if the uninstallation / upgrade process has failed?
Tony
Also for the files you are replacing, during an update if the file versions are the same it will leave the old one in place. During a major upgrade with uninstall previous version first it does not do file version comparisons.
As to files being left behind. This can be caused by the component IDs not matching for the components when doing an update or upgrade if the component is set to be a shared component, it will think the file is in use by more than one component and will be left behind.
I have set all the settings as you have suggested, but on further testing I am finding that even the original installation does not uninstall the initially installed exe file. So, without even trying to upgrade, I cannot uninstall the package as the uninstallation is leaving the original component.
Any suggestions?
Tony
Hi Lurean,
Any suggestions?
Tony "
If you could supply a verbose log, we could tell more more easily, and possibly give better input. (also the name of the exe or component in particular).
Log attached.
BObamsipminstall
1. May be your component is marked as Permanent
2. Try static linking of file in component instead of dynamic linking.
3. Are u deploying all file from component structure. If file are copied from supportdir or manually through install script it will not be removed automatically. For this use "Removefile" table
4. Check the sequence of custom action "RemoveExistingProducts"
5. Is your custom action or anything is setting REINSTALL=ALL? It will cause all the feature to be not selected for a first-time installation.
Please check below points
1. May be your component is marked as Permanent
2. Try static linking of file in component instead of dynamic linking.
3. Are u deploying all file from component structure. If file are copied from supportdir or manually through install script it will not be removed automatically. For this use "Removefile" table
4. Check the sequence of custom action "RemoveExistingProducts"
5. Is your custom action or anything is setting REINSTALL=ALL? It will cause all the feature to be not selected for a first-time installation. "
1. None of my components are set as permanent.
2. All of my binary components are statically linked.
3. This is a Basic MSI project, I don't have an install script.
4. It is in the default location where a new project puts it, right after InstallValidate and the log does show that it ran.
5. No, I have nothing that manually sets that.
Normally when I do a major upgrade the previous install is removed fully first, then the new install is run. As stated above, that doesn't seem to be happening in this case... it is acting as if I had the major upgrade set to "install Setup then remove" rather than "completely uninstall before installing new version".
BOb
it says upgrade table as
nstallShield 10:24:16: UpgradeCode: {BCAAAA51-B350-4B0C-B5C3-2EE2F04A9ECE}MinVersion: 1.0.0MaxVersion: 7.1.0Language: 1033Attributes: 257
Change MaxVersion: 7.1.0 to 7.1.1 as your product version itself is 7.1.0
I looked at your log...
it says upgrade table as
nstallShield 10:24:16: UpgradeCode: {BCAAAA51-B350-4B0C-B5C3-2EE2F04A9ECE}MinVersion: 1.0.0MaxVersion: 7.1.0Language: 1033Attributes: 257
Change MaxVersion: 7.1.0 to 7.1.1 as your product version itself is 7.1.0 "
Yes, I have a major upgrade version.
I have the UI set to "Any previous version" so IS is putting in those numbers. I don't need it to update itself.
BOb