2
votes

There exists a windows installer windows service (pointing to msiexec executable). This service Startup Type’ is Manual and ‘Log On As’ is set to be Local System. When we double click on any .msi file this windows service is started automatically. Additionally, one more process (msiexec) is created under logged on user context. I want to understand the role that this two different processes play and how this two processes interact with each other?

2

2 Answers

3
votes

The service is called the server process and it basically handles all MSI installations. During an installation it can have multiple MSIEXEC child processes which execute operations (for example a custom action).

The process which runs under the current user account is called a client. It's purpose is to show the installation UI, handle any UI-related operations and start the execute sequence handled by the server process.

So the client starts, shows the UI and starts the actual installation which is handled by the server. These processes are handled by the Windows Installer service automatically.

What exactly do you need to do?

1
votes

For a deep-dive on the technology, refer the UAC in MSI series of posts. Specifically the post Credential Prompt and Permissions which shows where the process is first handed off from the user context, to the system context (requiring permission elevation)