cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
sarfuis
Level 3

UAC Maintenace mode -ARP error

Hi
We have a app.msi file created from install shield. There is no Setup.exe associated with msi.

The msi file is launched from custom executable with msiexec /i command.
The custom executable has manifest file embedded into it. When launched from vista machine which has the UAC enabled, our custom executable gets the consent from the user and launches the msi in elevated mode and this is working perfectly till now.

NOW WHEN THE USER TRIES TO LAUNCH MAINTENANCE MODE FROM ADD/REMOVE PROGRAMS, the first CA which is scheduled just after cost finalize in UI sequence is failing with error code 1721 with return value of 3.

This is pretty much straight forward as msi when launched from ARP will not run with elevated privileges and the CA is failing.

Is there a way when the installer is launched from Add/Remove programs, it should get the consent and launch the msi with elevated privileges ?

I know setup.exe will do this for us. (that it will get the consent and luanch)
But for some reasons, we CANNOT create the setup.exe from installshield.
It has to be a msi file and our custom executable must launch it.

Please provide me the possible solutions.
Labels (1)
0 Kudos
(4) Replies
Vijay__K
Level 7

The custom actions which edit the system should be deferred in system context.
Any immediate action which tries to edit the system will fail if UAC is on.
0 Kudos
sarfuis
Level 3

I can't put it in Installexecute sequence as this has to be executed in UI itself.
It does some pre requisite setup checks which are very custom to the product.

SO IT HAS TO BE IN UI SEQUENCE ONLY. NO OPTION OF PUTTING IT IN DEFERRED
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

If you need to elevate your MSI from the ARP, you will need to hide the original UNINSTALL keys and add your own instead which refer to your custom exe. Note that if you intend to support various patching scenarios, getting the updates to the UNINSTALL keys right is very tricky business. See Heath Stewart's ARPSYSTEMCOMPONENT blog series for more information.
0 Kudos
sarfuis
Level 3

Thanks a TONN MichaelU,

So according to your suggestion, theres no way to launch msi from ARP with elevated privileges.

I have knowledge on how to hide ARP and how to luanch custom executable. But as you said, hav to consider the patching also.

I will investigate further on this.

Thanks a lot again.

Cheers
0 Kudos