PDA

View Full Version : Single UAC prompt for multiple setup.exe



amit.kumar3117
07-14-2008, 01:16 AM
My .msi(i.e installer) installs 8 applications all together .. But on Vista I am getting one UAC prompt for each application(i.e setup.exe)..which is all together 9 UAC prompts..Its not accepted by our users...Please guide me how can I suppress all UAC and just show Only one UAC for all application(installer+8 application)...
My .msi runs one custom action for each each application(setup.exe)..So 8 CA are being used to install all applications..
I read in an article that windows installer 4.5 can install multiple packages with single UAC prompt by using digital signed certificate...How can I do that in Windows installer 4.5..Is there any other way to do so...???

Thanks

amit.kumar3117
07-14-2008, 08:35 AM
Hey..Could anyone help me in this problem...

Thanks in advance

Mike Marino
07-14-2008, 09:49 AM
A few options:

1. Change the setup.exe Required Exectuation Level setting to "Administrator"
2. If your other setups are not MSI based, launch them from a custom action scheduled as Deferred Execution in System Context scheduled after InstallInitialize but before InstallFinalize.
3. If you are using Setup Prereqs to launch your other setups, see the help topic "Minimizing the Number of User Account Control Prompts During Installation"

amit.kumar3117
07-15-2008, 01:55 AM
Thanks for reply...I tried that also..but its not working in my case...
I think I should elaborate the problem first..

I dont hav msi of all other applications ..I have only setup.exe of those 8 applications and all these application are getting launched by custom action which are Immedeaite execution in sequence....When I run installer As "STANDARD USER" (which installs all these applications) it shows UAC prompt for all setup.exe...

I tried to change the word count to 8..but it doesn't work..because it only tells windows installer that it doesnt reaquire admin priviledge..and my installation fails..What should I do to minimize UAC prompt for "Standard user"

Thanks :confused:

Mike Marino
07-15-2008, 12:01 PM
Which version of InstallShield are you using to build your installation?

The easiest options for you is to change the setup.exe Required Exectuation Level setting to "Administrator". However if you are not using a later (InstallShield 2008+) version of InstallShield, that option is not available.

Thanks.

amit.kumar3117
07-17-2008, 12:32 AM
Thanks..I am using InstallShield 2008 professional edition..But It has required execution level for setup.exe in Release view...


Thanks

Mike Marino
07-17-2008, 11:35 AM
What do you have that set to?

amit.kumar3117
07-18-2008, 01:09 AM
It has several point...

Set up launcher
Required execution level and so many...but still its suppressing the UAC for master installer only..

What to do..??

DebbieL
07-18-2008, 07:53 AM
amit.kumar3117,

What value is selected for the Required Execution Level setting for your master installation project? Is it Invoker, Highest Available, or Administrator? See the screen shot below.

In your case, you'll probably need to set it to Administrator. If you do that, you should get one UAC prompt for your master installation. Then elevated privileges will be carried over to all of the other packages. (Note that if a reboot happens somewhere in the middle, elevated privileges will be lost, and you'll probably get another UAC prompt to continue after the reboot.)

amit.kumar3117
07-21-2008, 05:29 AM
Thanks Dabbiel...It seems to work fine...But 1 more issue is thr that when i launch master installer by setup.exe it works fine i.e it installs all applications perfectly...but msi is not able to do the same work..why changes made in setup.exe in not being reflected in msi...How can I install all applications(suppressing UAC and writing in registry) through msi..???
I am a newbie
Please help..

Thanks..

DebbieL
07-21-2008, 11:21 AM
When you use a Setup.exe file for your main installation and select Administrator for the Required Execution Level, a manifest is added to your Setup.exe file specifying basically that elevated privileges are required. Therefore, when someone launches your Setup.exe file in this scenario, they get prompted for elevated privileges right away, at the beginning of your installation. Those privileges are used for the UI and execute sequnces of your .msi package. There's no equivalent thing for an .msi package. You can't launch an .msi package by double-clicking it and immediately get the UAC prompt.

Since your multiple .exe files are running during the UI sequence of your .msi package, they won't have the elevated privileges when someone has launched your .msi package directly by double-clicking it (instead of by double-clicking a Setup.exe file). Therefore, you won't get the UAC prompt for elevation until Windows Installer launches your separate .exe installations.

As a workaround, if you really want to use an .msi package and get only one UAC prompt in your scenario, you'd need to launch it from an elevated command prompt window. However, I'm guessing that you probably don't want to have your end users launch an elevated command prompt window, and then type some sort of MsiExec.exe /i "<path to .msi package>" command line.

amit.kumar3117
07-22-2008, 12:38 AM
Thanks Debbiel for ur kind help...I ll try to give setup.exe(instead of .msi) to my end user..

Thanks:o