Scripting Question

What is the difference between MSI (C) and MSI (S)?

04/15/2020 662 views

I understand that C stands for client and S stands for server.

I need to know what these processes are doing, where is this affecting.

What is the difference between them? When do they come into picture?

0 Comments   [ + ] Show comments


All Answers


From Phil Wilson's book, which you may have seen me mention from time to time [side-eye...]

At the end of the InstallUISequence there are entries:

MSI (c) (E8:64): Doing action: ExecuteAction

Action start 15:08:56: ExecuteAction.

MSI (c) (E8:64): Grabbed execution mutex.

MSI (c) (E8:64): Incrementing counter to disable shutdown. Counter after increment: 0

MSI (c) (E8:64): Switching to server: TARGETDIR="C:\Program Files\Phil\TryNotepad\"

As the log says, this is the point at which the installation switches from the UI mode to the Service mode (called server here, denoting a client/server architecture). In this particular log where the install transitions from the UI to the execute sequence, ExecuteAction is the action that makes this switch to the server. Note that line about grabbing an execution mutex. It's a characteristic of Windows Installer that only one installation is allowed to be in the server mode (running on the Service) at once. As a programmer you're probably aware that a mutex is a mutual exclusion object that blocks subsequent callers after the  first one.Another installation that tries to enter server mode won't proceed beyond this point.

Answered 04/16/2020 by: VBScab
Red Belt

This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ