This object monitors the availability of the Windows Installer RDS Compatibility feature.
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.
To resolve this issue, identify and fix any issues on the RD Session Host server by doing the following:
Stop the installation and try again.
Use a different method to install programs on the RD Session Host server.
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.
Target | Microsoft.Windows.Server.2012.R2.RemoteDesktopServicesRole.Service.RDSessionHost | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.SingleEventLogManualReset2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>