This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- My workaound...
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
‎Jan 14, 2010
09:50 AM
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
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
(15) Replies
‎Jan 14, 2010
11:55 AM
did you change your product code for the Major upgrade? If you don't change the product code it treats it as an update and not an upgrade.
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.
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.
‎Jan 18, 2010
02:31 AM
Hi Lurean,
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
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
‎Jan 18, 2010
11:20 AM
if you accidentally marked the original exe file's component in the orignal install as "Permanent" then it won't be uninstalled. But if the newer exe has an updated version number it still should be overwritten.
‎Oct 28, 2011
05:24 AM
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. 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.
‎Oct 28, 2011
08:53 AM
hari14singh wrote:
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
‎Oct 31, 2011
06:34 AM
You need to put entry in Upgrade table. Is it already done?
‎Oct 31, 2011
06:47 AM
I looked at your log...
it says upgrade table as
nstallShield 10:24:16: UpgradeCode: {BCAAAA51-B350-4B0C-B5C3-2EE2F04A9ECE} MinVersion: 1.0.0 MaxVersion: 7.1.0 Language: 1033 Attributes: 257
Change MaxVersion: 7.1.0 to 7.1.1 as your product version itself is 7.1.0
it says upgrade table as
nstallShield 10:24:16: UpgradeCode: {BCAAAA51-B350-4B0C-B5C3-2EE2F04A9ECE} MinVersion: 1.0.0 MaxVersion: 7.1.0 Language: 1033 Attributes: 257
Change MaxVersion: 7.1.0 to 7.1.1 as your product version itself is 7.1.0
‎Oct 31, 2011
11:59 AM
hari14singh wrote:
I looked at your log...
it says upgrade table as
nstallShield 10:24:16: UpgradeCode: {BCAAAA51-B350-4B0C-B5C3-2EE2F04A9ECE} MinVersion: 1.0.0 MaxVersion: 7.1.0 Language: 1033 Attributes: 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
‎Oct 31, 2011
02:27 PM
Attributes: 257 , means not to include higher version, change this attribue or the version entry of upgrade table. This seems causing the problem
You can refer
http://msdn.microsoft.com/en-us/library/windows/desktop/aa372379(v=vs.85).aspx
You can refer
http://msdn.microsoft.com/en-us/library/windows/desktop/aa372379(v=vs.85).aspx
‎Oct 31, 2011
03:05 PM
hari14singh wrote:
Attributes: 257 , means not to include higher version, change this attribue or the version entry of upgrade table. This seems causing the problem
You can refer
http://msdn.microsoft.com/en-us/library/windows/desktop/aa372379(v=vs.85).aspx
Version 6.5.3 is on the PC. That is certainly in the range of 1.0.0 thru 7.1.0 inclusive of 1.0.0.
Also, I have the InstallShield options of "Any Previous Version" which set up the Upgrade table.
Also, this works if I install over 7.0.0 but not if I install over 6.5.3. Also, the log seems to indicate that the version IS found. So, why isn't it 100% removed before files are copied over? This is what is confusing me.
BOb
‎Jan 18, 2012
10:41 AM
Hello!
Researching the internet, I found this thread here and have the same problem with InstallShield 2010.
All settings of upgrade table entries and co were done and rechecked, as mentioned before.
But, I won't uninstall any previous versions and there is no scenario, that helps here...
Maybe, somebody else, had this problem and found the reason??
Here in my case, I update from a version 12.0.9 to 13.0.0.
UpgradeCodes fit and tables are properly set.
File and production version are checked and new product code was created, as well...
So, this issue is quite critical for me and it seems so, that I'm the only one on this planet here, want to perform such an upgrade??
Best to all,
Olaf
Researching the internet, I found this thread here and have the same problem with InstallShield 2010.
All settings of upgrade table entries and co were done and rechecked, as mentioned before.
But, I won't uninstall any previous versions and there is no scenario, that helps here...
Maybe, somebody else, had this problem and found the reason??
Here in my case, I update from a version 12.0.9 to 13.0.0.
UpgradeCodes fit and tables are properly set.
File and production version are checked and new product code was created, as well...
So, this issue is quite critical for me and it seems so, that I'm the only one on this planet here, want to perform such an upgrade??
Best to all,
Olaf
‎Jan 18, 2012
10:48 AM
There can be several reasons why it won't upgrade. Look at you installer log.
One issue we had was a previous install was per user and the new installer was per machine.
Sometimes that happens. There is just something in the old installer that prevents it from working properly. The only way around this is to put a custom action in your installer to check for your previous version.. and it it is there request the user uninstall it first manually.
This actually is what occurred in my case above. A previous update should have had a new product code because a component was removed (or something that required a major update) but I didn't change the product code. So, subsequent upgrades didn't work properly since that latent error resided in a previous installer.
BOb
One issue we had was a previous install was per user and the new installer was per machine.
Sometimes that happens. There is just something in the old installer that prevents it from working properly. The only way around this is to put a custom action in your installer to check for your previous version.. and it it is there request the user uninstall it first manually.
This actually is what occurred in my case above. A previous update should have had a new product code because a component was removed (or something that required a major update) but I didn't change the product code. So, subsequent upgrades didn't work properly since that latent error resided in a previous installer.
BOb
‎Feb 14, 2012
09:57 AM
I too found this thread and none of these suggestions had worked with my project either. I had orphaned files and folders sitting in my install directory. After doing a lot of research I found that I had some orphaned registry entries for these files in the following key.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
Once I deleted the offending values in here, when I uninstalled my app, it uninstalled everything. When I upgraded my app using a Major upgrade it did what it was supposed to do.
I have hundreds of dynamically linked files that, due to time contraints, is not feasible to statically link. We're trying to do more with less these days, and I'm not a full time installshield dev so it's a necessary evil in the REAL world. Hope this helps someone...
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
Once I deleted the offending values in here, when I uninstalled my app, it uninstalled everything. When I upgraded my app using a Major upgrade it did what it was supposed to do.
I have hundreds of dynamically linked files that, due to time contraints, is not feasible to statically link. We're trying to do more with less these days, and I'm not a full time installshield dev so it's a necessary evil in the REAL world. Hope this helps someone...