As I finish up version 1 of InstallRunner, I went to set the UAC setting for “Require Administrator Privileges”.  I did that, and got this error:

A referral was returned from the server

Doing some research*, the cause of the error was that I did this:

Application Mainifest - uiAccess True

By default, uiAccess is false.  I changed it to true.  I’m not sure why, ignorance perhaps 🙂

What does uiAccess do anyway?

Imagine this.  You are remote controlling a users desktop.  You need to run a program which requires Administrative Privileges.  When you click on it, a UAC dialog appears on the users computer:
UAC prompt with Microsoft Management Console

But you don’t see it because it’s not passed to the remote control application.  Setting uiAccess to true allows the UAC dialog to be seen by the remote application. 

To use uiAccess = true, you need to do 2 things:

  1. your application needs to be digitally signed
  2. your application needs to stored in a secure location.

I changed uiAccess back to false, and my problem went away.

*:
Using the uiAccess attribute of requestedExecutionLevel to Improve Applications Providing Remote Control of the Desktop
UAC: All Information Developers need about the User Account Control (UAC)

Bookmark and Share