Why don't MSI Installers Run in Elevated Context??? (And other deployment related questions)


Joseph Geretz

Here's the situation.

I have an installer which needs to install and register an ActiveX EXE as
part of my product.

(Yeah, it's me again. :-\ I'm getting awfully tired of this myself.)

In order to do this, the executable needs to be launched with elevated

Fact 1. The name of my MSI is MyAppSetup.MSI. (It contains the magic term

Q1. Does the MSI run in elevated context? The indication that it does is
that I do get the elevation prompt when the MSI is launched. Indications
that it does not run elevated are a, there is no 'shield' incorporated to
the icon and b, see Fact 2. So I'm really not sure about this. Does the MSI
run in elevated context? Can someone answer this question, please?

Fact 2. Whatever the answer to Q1, the ActiveX executable launched as a
custom action from within the MSI does NOT get elevated and consequently
fails with 'Unanticipated error', since it can't get access to the Registry
which it needs in order to register itself.

Q2. IF the answer to Q1 is YES, then why doesn't the ActiveX application
launch as elevated? Can someone answer this question please?

Fact 3. If I compile my installer to EXE, as opposed to MSI then the
installer runs elevated (as proof, the icon displays the little shield icon
in the corner) AND the ActiveX executable properly launches elevated and
registers itself properly during the installation.

Q3. If an EXE can do this, why can't an MSI?

Q4. How is an MSI supposed to be deployed via Active Directory Group Policy?
Will it be able to run elevated under this condition? Will executables
launched from the MSI be able to run elevated under this condition?

Q5. Am I going to need to generate 2 installers for every software release;
an MSI for Group Policy install and an EXE for interactive workstation

Just a few questions. Anyone wishing to install software for Vista is going
to need to know the answers to these questions.

Thanks for your help!

- Joseph Geretz -

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question