

This isn’t impersonation, true, but the title of this post is really in regard to what happens next. If the install is to run in silent mode the client does very little as shown in a verbose log.Īny custom actions executed during this time, of course, run under the invoking user’s credentials.

If any user interface is authored and is to be displayed, the client processes the UI to collect install locations, feature selection, and other properties from the user. The package is opened and certain properties are read to determine if the product is already installed, what the product language is, and other stateful information.

This means, of course, that in over-the-shoulder elevation when administrative credentials are provided it’s the administrator’s credentials that are used. When you install a package using msiexec.exe – which is executed by default in response to shell verbs such as Install – or APIs like MsiInstallProduct the package is initially processed under the user’s credentials. Windows Installer is a client/server application.
