Error Message
When upgrading ArcGIS Server to version 11.5, the setup.exe installer appears to complete successfully, however, the following application error is observed in the Windows Event Log:
"Faulting application name: MsiExec.exe ..."

- The ArcGIS Server Windows service will be running as Local System.
- Where the ArcGIS Server site uses a file share for the config store or server directories, this change in service user prevents the server from communicating with the file share and take the server site offline.
- Where the site does not require any access to a file share, the server will likely appear to function as per normal, but running as Local System presents a serious security risk to the environment.
Cause
For this issue to be triggered, both of the following conditions must be true:
The system PATH environment variable contains a subdirectory of:
C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin
For example:
C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3

The system PATH environment variable does not contain:
C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin

The exception code reported in the Windows Event Log maps to an error code associated with failing to load a DLL.
The following was observed:
- The installer attempts to load the SeverConfigturationUtilityLib.dll from C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin - this DLL is responsible for setting the service account user.
- To do this, the installer code updates the system path environment variable to add the 'C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin' to the path before attempting to load the SeverConfigturationUtilityLib.dll, to ensure the DLL will be found.
- The problem lies in the logic that's used to perform this update, checking if the directory has already been added to the system path via substring matching.
- On the machines where the system path has already been configured to include a subdirectory of 'C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\, the logic responsible for making sure the installer can find ServerConfiguationUtilityLib.dll detects the 'C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin' string it requires in for example 'C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3' and erroneously assumes the required directory has already been added to the system path.
- Assuming that the system path has been configured such that SeverConfigturationUtilityLib.dll will be found, it then tries to load this DLL and crashes when the DLL cannot be found.
Solution or Workaround
- Remove system environment path variables that include a subdirectory into C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\xxxx.
- In the event that this issue is detected only after running an upgrade, the safest course of action is to restore from a backup, make the necessary changes to the PATH and then re-attempt the upgrade.