Advertising a Per-User Application To Be Installed with Elevated Privileges

To advertise an application on a per-user installation basis when the application requires elevated (that is, system) privileges for installation, use the guidelines in the following list:

  • Your process must be a service that runs under the LocalSystem system account on Windows XP or later.
  • Generate an advertise script by calling MsiAdvertiseProduct or MsiAdvertiseProductEx.
  • Your process must impersonate the user that is the target for the advertisement.
  • Call MsiAdvertiseScript, and use the flags SCRIPTFLAGS_CACHEINFO | SCRIPTFLAGS_REGDATA_APPINFO | SCRIPTFLAGS_REGDATA_CNFGINFO | SCRIPTFLAGS_SHORTCUTS.

When you follow the guidelines, you advertise an application to a specified user, and when the user chooses to install, the application is installed with elevated privileges.

Patching Per-User Managed Applications