Windows Installer RDS Compatibility Availability

UIGeneratedMonitore16e124ff4f542ee90e5c0de18973515 (UnitMonitor)

This object monitors the availability of the Windows Installer RDS Compatibility feature.

Knowledge Base article:

Summary

Windows Installer RDS Compatibility is a new feature included with Remote Desktop Services in Windows Server 2008 R2 and newer. With Remote Desktop Services in Windows Server 2008 R2, or newer, per user application installations are queued by the RD Session Host server and then handled by the Windows Installer.

Resolutions

To resolve this issue, identify and fix any issues on the RD Session Host server by doing the following:

To perform these tasks, refer to the following sections.

To perform these procedures, you must have membership in the local Administrators group, or you must have been delegated the appropriate authority.

Stop the installation and try again

If an installation is taking too long to complete on the RD Session Host server, you can stop the installation and try again.

To stop the installation and try again:

1. On the RD Session Host server, right-click an empty area of the taskbar, and then click Start Task Manager.

2. Click the Processes tab.

3. At the bottom of the tab, select the Show processes from all users check box.

4. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Yes.

5. Click the msiexec.exe process, and then click End Process.

6. Click End Process to confirm that you want to end the process.

7. Try to install the program again.

Use a different method to install programs on the RD Session Host server

If Windows Installer RDS Compatibility is not working correctly, you can put the RD Session Host server in install mode and then install the application.

To use a different method to install programs on the RD Session Host server:

1. On the RD Session Host server, click Start, and then click Run.

2. Type cmd.exe and then click OK.

3. Type change user /install and then press ENTER.

4. Install the program.

5. When the installation is finished, type change user /execute to allow the RD Session Host server to function normally.

Close the command prompt.

Element properties:

TargetMicrosoft.Windows.Server.2012.R2.RemoteDesktopServicesRole.Service.RDSessionHost
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogManualReset2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Windows Installer RDS Compatibility Availability Alert
Event ID: {0} -- Description: {1}
RunAsDefault

Source Code:

<UnitMonitor ID="UIGeneratedMonitore16e124ff4f542ee90e5c0de18973515" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.2012.R2.RemoteDesktopServicesRole.Service.RDSessionHost" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.SingleEventLogManualReset2StateMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="UIGeneratedMonitore16e124ff4f542ee90e5c0de18973515_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/Context/EventDescription$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId8b68810376294294ab124c7c68655366" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateId72736bcca96e4b5c92c00669dc065954" MonitorTypeStateID="EventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Microsoft-Windows-TerminalServices-TSAppSrv-TSMSI/Operational</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Channel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-TerminalServices-TSAppSrv-TSMSI/Operational</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1280</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1281</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</Configuration>
</UnitMonitor>