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
- :
- Re: Major Upgrades exits the installation
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 14, 2010
04:49 PM
Major Upgrades exits the installation
Hello!
I have a Setup project that needs to uninstall 3 old applications before installing itself.
This setup project is designed to be run in silent mode and perform the same actions as in UI mode.
So, to achieve this i added 3 major upgrade items in the upgrades section.
These old software install packages were made with Wise. One of them is generating problems when being uninstalled by my project: it closes the installation, without any error or warning!!! If i remove this specific upgrade item, everything goes well.
Also, if i try to manually uninstall that problematic package, using control panel/add remove programs or msiexec.exe from a command line, everything goes well.
I also tried calling a VBScript in my UI sequence to remove it, and everything works there too. (But i need to support silent mode! 😞 )
I tried this with both MSI InstallScript and Basic MSI projects and the same thing happens.
Please help! There must be a solution.
Regards
Louis-Pierre beaumont
I have a Setup project that needs to uninstall 3 old applications before installing itself.
This setup project is designed to be run in silent mode and perform the same actions as in UI mode.
So, to achieve this i added 3 major upgrade items in the upgrades section.
These old software install packages were made with Wise. One of them is generating problems when being uninstalled by my project: it closes the installation, without any error or warning!!! If i remove this specific upgrade item, everything goes well.
Also, if i try to manually uninstall that problematic package, using control panel/add remove programs or msiexec.exe from a command line, everything goes well.
I also tried calling a VBScript in my UI sequence to remove it, and everything works there too. (But i need to support silent mode! 😞 )
I tried this with both MSI InstallScript and Basic MSI projects and the same thing happens.
Please help! There must be a solution.
Regards
Louis-Pierre beaumont
(6) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 15, 2010
09:50 AM
Maybe consider running a custom action that calls
msiexec /x {productcode} /qn
and waits for completion?
msiexec /x {productcode} /qn
and waits for completion?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 15, 2010
10:10 AM
Hi Louis-Pierre,
I would actually suggest generating a logfile of the installation, and posting it here. Very likely something is taking place during the RemoveExistingProducts action.
I would actually suggest generating a logfile of the installation, and posting it here. Very likely something is taking place during the RemoveExistingProducts action.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 15, 2010
12:24 PM
Hi back,
Mumble, as i stated in my first post, my installation program needs to run in silent mode. I already tried calling msiexec manually to remove the erroneous component, but i cannot do that in the installation execute sequence: there is a kind of mutex on installation execute sequence. Maybe i'm missing something here too.
Cary, i attached the log file from the installation in this new post. At the beginning of the log file, we can see that the erroneous product (Labcal Fingerprint ActiveX) has ALLUSERS = 0, and not the others. Also, RemoveExistingProducts is only called for that erroneous product.
Thank you for the support
Sincerely
Louis-Pierre Beaumont
Mumble, as i stated in my first post, my installation program needs to run in silent mode. I already tried calling msiexec manually to remove the erroneous component, but i cannot do that in the installation execute sequence: there is a kind of mutex on installation execute sequence. Maybe i'm missing something here too.
Cary, i attached the log file from the installation in this new post. At the beginning of the log file, we can see that the erroneous product (Labcal Fingerprint ActiveX) has ALLUSERS = 0, and not the others. Also, RemoveExistingProducts is only called for that erroneous product.
Thank you for the support
Sincerely
Louis-Pierre Beaumont
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 15, 2010
04:17 PM
I finally found a solution to my problem!
The old softwares to upgrade were not installed the same way.
One of them was intalled "per user", and the two others "per machine".
They had different ALLUSERS values.
The standard function SetAllUsers called at the beginning of the installation
execute sequence was enumerating these old softwares and related products,
then setting the ALLUSERS value to 0!
After that, FindRelatedProducts could only find one of them, the one with ALLUSERS = 0.
To remedy that, i added registry system searches for the old softwares product codes.
Then, after FindRelatedProducts, i added a custom action that sets the ALLUSERS property to 1. After that, i added
two other custom actions that set the ActionProperty of their related upgrades,
with a condition based on the system searches for their product codes.
Tada!!! Now i can uninstall the old **** from my MSI, and i can do this silently! 🙂
Have a nice day! 🙂
Louis-Pierre Beaumont
The old softwares to upgrade were not installed the same way.
One of them was intalled "per user", and the two others "per machine".
They had different ALLUSERS values.
The standard function SetAllUsers called at the beginning of the installation
execute sequence was enumerating these old softwares and related products,
then setting the ALLUSERS value to 0!
After that, FindRelatedProducts could only find one of them, the one with ALLUSERS = 0.
To remedy that, i added registry system searches for the old softwares product codes.
Then, after FindRelatedProducts, i added a custom action that sets the ALLUSERS property to 1. After that, i added
two other custom actions that set the ActionProperty of their related upgrades,
with a condition based on the system searches for their product codes.
Tada!!! Now i can uninstall the old **** from my MSI, and i can do this silently! 🙂
Have a nice day! 🙂
Louis-Pierre Beaumont
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 21, 2010
04:57 PM
Hi Louis-Pierre,
I am encountering a similar issue where my previous Basic MSI was installed per-user and now I am trying to force the new install as per-machine. Using a Major Upgrade item to fully uninstall then reinstall, it is finding the existing per-user install and automatically setting the ActionProperty but not actually removing it. Did you have to change something else to get the files and registry entries uninstalled? Any additional incite is appreciated.
I am encountering a similar issue where my previous Basic MSI was installed per-user and now I am trying to force the new install as per-machine. Using a Major Upgrade item to fully uninstall then reinstall, it is finding the existing per-user install and automatically setting the ActionProperty but not actually removing it. Did you have to change something else to get the files and registry entries uninstalled? Any additional incite is appreciated.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 22, 2010
07:41 AM
Hi Griffin,
In the installation execute sequence, after FindRelatedProducts, i added a "Set Property" custom action that sets the ALLUSERS property to 1.
Also, my installation program must be run by an administrator. Maybe your old installation was installed by another user, and you do not have the rights to remove it if you are not an admin.
Sincerely
Louis-Pierre Beaumont
In the installation execute sequence, after FindRelatedProducts, i added a "Set Property" custom action that sets the ALLUSERS property to 1.
Also, my installation program must be run by an administrator. Maybe your old installation was installed by another user, and you do not have the rights to remove it if you are not an admin.
Sincerely
Louis-Pierre Beaumont