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

Problems with nested installation and Vista/W2K8 (UAC)

We are using a nested installation custom action to install/uninstall another MSI during our setup. Installation works fine on Windows Server 2008, but there's a problem while uninstalling: the corresponding nested uninstallation custom action is called, but it doesn't do anything.
This problem doesn't occur, if we are logged on as the builtin\administrator; but if we are logged on as another member of the administrators group, we have those problems.

Looking at the corresponding (uninstallation) log files shows the following different feature/component states in the nested InstallValidate section:
************** Logged on as buildin\administrator:
...
MSI (s) (10:6C) [16:44:06:214]: Feature: Engine; Installed: Local; Request: Absent; Action: Absent
MSI (s) (10:6C) [16:44:06:214]: Component: German; Installed: Local; Request: Absent; Action: Absent
...
************** Logged on as another member of the administrator group:
...
MSI (s) (10:1C) [16:33:20:708]: Feature: Engine; Installed: Advertise; Request: Absent; Action: Absent
MSI (s) (10:1C) [16:33:20:708]: Component: German; Installed: Absent; Request: Null; Action: Null
...

As a result of this, uninstalling the nested msi never takes place as a member of the administrator group...

Can someone explain this behaviuor?

Thanks in advance
Labels (1)
0 Kudos
(3) Replies
TsungH
Level 12

On Windows Server 2008, default UAC configurations of the built-in Administrator account and members of local Administrators group are not entirely identical. If you have not, please refer to User Account Control.
0 Kudos
groupjm
Level 3

The whole uninstallation runs with elevated rights except for the nested installation part, I think. There's a problem identifying the correct feature/component states when not running as buildin\administrator.
Just another confusing thing:
Trying to uninstall the software via "Change/Remove" runs with the logged on user's credentials; there's no elevation dialog, UAC doesn't seem to work in that case. This will lead to uninstallation errors in our case. Any explanations???
0 Kudos
TsungH
Level 12

I think the scenario described is unlikely. You would want to find out more about Using Windows Installer with UAC.
groupjm wrote:
The whole uninstallation runs with elevated rights except for the nested installation part, I think.
Change/Remove? One button? Is it an InstallScript MSI project?

Running setup.exe with a manifest explicitly requiring Administrator privileges will have the elevation prompt appear at the beginning of installation. Using Programs and Features, formerly Add/Remoev Programs, in Control Panel will evoke msiexec.exe which doesn't require elevation until deferred Execute Sequence. It is setup developer's responsibility to ensure no custom action that makes system changes is scheduled in UI and Immediate Execute Sequence.
groupjm wrote:

Trying to uninstall the software via "Change/Remove" runs...
What exactly happened? It really didn't do anything? Or it did something but changes were rolled back? Any error in the log? Identifying the exact error in the uninstallation or nested uninstallation will be the first step toward finding a solution.
groupjm wrote:
the corresponding nested uninstallation custom action is called, but it doesn't do anything.
0 Kudos