While I didn't think that anything had changed on my machine (Vista auto-update disabled) nor with VBox, when I couldn't find anything relevant on Google I eventually installed all outstanding Vista updates and upgraded to 2.2.0 (then uninstalled and reinstalled - from the Administrator account) But still from a "user account", I get a UAC prompt when I start VirtualBox.exe

(OTOH, since a VM is doing some pretty complicated stuff, perhaps I should be asking why it didn't require UAC from the outset?)

What's even more irritating is that entering an administrator's password doesn't simply run the program at an elevated level - it runs with different credentials (and folders and VirtualBox.XML)

I'd appreciate it if people could confirm whether their Vista always does or does not require UAC - or have any ideas why my system should start behaving differently.

RegEdit showed both VirtualBox and VBoxSvr had a compatability setting: RUNASADMINISTRATOR.

Removing these keys from the Registry restores the original (non-UAC) behaviour - Although I would have sworn that I hadn't changed these settings until /after/ the UAC prompts had started appearing (why would I have wanted to?) after rereading the notes from my initial 1.5.6 installation, perhaps I did wrongly apply this old work-round too liberally.

>> Your COM server VboxSvc.exe must be set to run as administrator.>> Open your Virtualbox folder, Right-click Vboxsvc.exe, properties “run as administrator”

In the hope that this might save someone from hours of Googling when trying to track down Vista UAC problems, I'll post some notes here...

I found a (probably simplified) description of how Vista UAC decides if it needs to raise a prompt...

"First Vista checks for the presence of an embedded manifest. If there is one and it specifies a requestedExecutionLevel, Vista uses that to determine whether or not to elevate via UAC."

"Secondly, assuming there was no embedded manifest at all, Vista looks for an external manifest file with a requestedExecutionLevel. If that exists, Vista uses it to decide whether or not to elevate via UAC."

That should be a N/A - and there's no external manifest anyway.

"If we reach the third stage, Vista has determined that the application is not Vista compliant and so starts using the Application Compatibility settings to determine whether or not elevation is likely to be required. Predominantly this is based on an appcompat flag that indicates elevation is required (equivalent to the "Always run the program as an Administrator" flag in the Compatability settings) and detection of known binaries which have identified issues."

By my reading, we shouldn't "reach the third stage", but Explorer, right-click on "VirtualBox.exe", Properties, Compatability, and the "Privilege Level / Run this program as an Administrator" option is indeed checked - and greyed-out.

Back to Google to see why that option might be greyed...

"If the file has a Windows Vista manifest identifying the level of privilege required then the compatability options will be greyed out."

Well, SigCheck says it does have a manifest but that doesn't identify any privilege.

"Vista will attempt to identify installers and prompt you for elevation (indicated by the small shield overlay icon)."

And squinting at the icon - yes, it does have a teensy little shield on both VirtualBox and VBoxSvc that my ageing eyes hadn't noticed before.

"There is also an appcompat feature known as installer detection. This uses a variety of non-disclosed settings to attempt to identify installers and elevate them if required. The specifics of how an installer is detected is not disclosed because it's not something Microsoft want you to depend upon and indeed it may change as Service Packs and hotfixes are released."

"Non-disclosed" won't help me to fix it. But since no other Vista-host user is reporting errors, maybe the problem is with my compatability options...

FWIW on Windows Server 2008 I was able to give my user account (also an admin) full permissions for the default <username>\.VirtualBox directory (I have cygwin installed so that's probably why that directory got picked), and to a new directory I designated as default and things seem to work fine with no prompts.

Don't know if this is best practice, but I don't mind my user account having full permissions to these directories.