Esent keys are required

It’s been a while so I figured it’s time for a new post.

When trying to change the configuration of an operations manager agent to use a different management server I ran into the error “microsoft esent keys are required to install this application”.

After clicking OK, no changes are made. This error is apparently being caused by UAC and is described in a microsoft knowledgebase article here.

Quote: ‘…An application is treated as an administrator who is approved if the administrator accepts a UAC prompt during the first-time installation of the application. A user who does not have administrative credentials should be able to perform maintenance operations on such applications without being prompted for administrative credentials. However, no UAC prompt is generated because the system cannot differentiate between an administrator and a user who does not have administrative credentials.

Therefore, if the user has to perform a modification in a change or repair action that only an administrator can perform, the user is blocked because no UAC prompt is generated….’

The workaround that is offered by microsoft is to run the installation from an elevated command prompt by using specific GUID’s. Like this:

For SP1 Agents: msiexec /I{768DB8BD-CB3A-43F4-9A4C-BA2921D27AD3}

For R2 Agents: msiexec /I{25097770-2B1F-49F6-AB9D-1C708B96262A}

However this method might not work as expected because the GUID of the installed application can apparently change after having installed hotfixes or updates for the application. And you will receive the error “This action is only valid for products that are currently installed”. This is also mentioned in this discussion on one of MS’s Operations manager 2007 forums: http://social.technet.microsoft.com/Forums/en-US/operationsmanagergeneral/thread/def8d8b3-4ed0-4ebd-bf3e-d42e04752b7b.

 To work around this you can look up the right GUID in the registry which is located somewhere under ‘HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall’:

Browse through the subfolders and look at the ‘DisplayName’-Key for your application.

When found, the ‘ModifyPath‘-Key will show you the command to run from the elevated command prompt.