/build/static/layout/Breadcrumb_cap_w.png

don't install if already installed

How do I make my msi not install if it is already installed on a machine. I don't want the repair, reinstall and uninstall prompt not to pop up?

0 Comments   [ + ] Show comments

Answers (6)

Posted by: FrankSpierings 16 years ago
Orange Senior Belt
0
I believe that when calling msiexec for a second time with the same package will always show a UI.

So the solution would be not to initiate the installation a second time. You could deploy your package with a distribution system that does this check, or write your own check in VBScript. For VBScript use the WindowsInstaller.Installer object. You can use the method Products or the method ProductInfo to check if the package is already installed.

The dialogs for a repair / reinstall / uninstall will also always be shown. You can somewhat influence the interface with the /QB parameters.
Posted by: msi_learner 16 years ago
Orange Belt
0
One method to do this is to use App Search Table along with Launch Condition table.You can make use of HKLM\Microsoft\Windows\CurrentVersion\Uninstall\{Product Code}key and choose any value like Display Name from there.Next put the condition as Property="" in Launch Condition table.
Now when you will install first time the msi will get installed fine and in second time it will not get installed /uninstalled or repaired if you give /i switch.The only pop up you will get is the one which you have mentioned in Launch Condition table, which can also be suppressed using some switch like /qn.
Posted by: anonymous_9363 16 years ago
Red Belt
0
Hey! I like your thinking. Nice solution. Quite why it's required escapes me, but horses for courses, eh?
Posted by: msi_learner 16 years ago
Orange Belt
0
lol you sound sarcastic !!
Posted by: aogilmor 16 years ago
9th Degree Black Belt
0
ORIGINAL: jhsolutions5150

How do I make my msi not install if it is already installed on a machine. I don't want the repair, reinstall and uninstall prompt not to pop up?


IME, the LIMITUI property (set to 1) will avoid this nicely.
Posted by: AngelD 16 years ago
Red Belt
0
If you are going to use the LIMITUI property then make sure to set the ARPNOMODIFY property as this will be "required" . Read about this requirement at http://msdn2.microsoft.com/en-us/library/aa369759.aspx
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ