Windows Installer, Java Installer, Freeware Installer
Home|Contact|Site Map|TOC|Search
Download  Features   Java  Licensing  Purchase  Testimonials  Support  Forums

Windows Vista User Account Control (UAC)

In Windows Vista, the correct way to mark your applications is to embed an application manifest within your program that tells the operating system what the application needs. The Windows Vista application manifest has been enhanced with attributes that permit developers to mark their applications with a requested execution level.

The available options are:

  • As Invoker - The application runs with the same access token as the parent process. (Recommended for standard user applications)
  • Highest Available - The application runs with the highest privileges the current user can obtain. (Recommended for mixed-mode applications)
  • Require Administrator - The application runs only for administrators and requires that the application be launched with the full access token of an administrator. (Recommended for administrator only applications)
  • No Execution Level Information - Advanced Installer does not embed the requested execution level information in Windows Vista application manifest.

When using an EXE bootstrapper or a Java product, Advanced Installer embeds an application manifest file with the selected execution level. Operating systems earlier than Windows Vista ignore the required execution level specified in the application's manifest.

The benefit of elevating the bootstrapper application is that privileges are elevated only once (if necessary) and these privileges are inherited by all of the installation's prerequisites and the MSI file without requiring multiple elevation prompts. In most cases, running an application with elevated privileges on Windows Vista platforms is not recommended.

ImportantUnless an application is designed to be run exclusively by system administrators, it should be run with the least privileges.

NoteWhen no execution level information is set in the application's manifest file and the application is not elevated previously, on Windows Vista, the application runs in "legacy mode" for backwards compatibility support. In this mode the operating system uses a virtualization mechanism for file system and registry access. This means that attempts to create or change files in restricted folder locations or registry write access to restricted hives are redirected (reflected) towards a "per-user" accessible location.

CautionWindows Vista heuristically detects installation, updater and un-installation programs and requests administrator credentials or administrator approval in order to run with access privileges. This heuristic detection checks such attributes like: filenames, keywords, versioning resources, etc. (e.g. keywords like: "install", "setup", "update", etc.). Note that this detection heuristic applies only if your do not add requested execution level information to the application's manifest. Beware that if you do not set an execution level information your application might be easily mistaken as an application that needs administrator privileges.

TipFor additional information please check the online Microsoft documentation on Windows Vista & UAC.

Privacy Policy | Windows Installer | Search Engine Ranking | Link Analyzer