How to Configure RDS RemoteApp on Windows Server 2012 R2
RemoteApp is a Remote Desktop Services feature that allows individual applications to be published from RD Session Host servers and delivered to users as if the applications were running locally on their workstations. Instead of seeing a full remote desktop, users see only the application window — the application appears seamlessly on their local desktop. RemoteApp is ideal for delivering line-of-business applications to thin clients, providing access to applications that cannot be installed on all workstations, and enabling BYOD scenarios where users need corporate applications on personal devices.
How RemoteApp Works
When a user launches a RemoteApp program, their RDP client connects to an RD Session Host, starts an RDP session, and runs only the specified application within that session. The application window is displayed on the local desktop with seamless window integration. Multiple RemoteApp windows from the same connection share a single RDP session, reducing server load.
Prerequisites
- An RDS deployment with at least one Session Collection configured
- Applications installed on all RD Session Host servers in the collection
- RD Connection Broker configured and functional
- RD Web Access configured (for browser-based RemoteApp delivery)
Step 1 — Publish a RemoteApp Program
Publish an application from a Session Collection using PowerShell. The application must be installed on all Session Hosts in the collection:
New-RDRemoteApp -Alias "Notepad" -DisplayName "Notepad" -FilePath "C:WindowsSystem32notepad.exe" -CollectionName "General Desktop" -ConnectionBroker "rdcb.domain.com"
Publish Microsoft Word (assuming Office is installed on the Session Hosts):
New-RDRemoteApp -Alias "MicrosoftWord" -DisplayName "Microsoft Word 2013" -FilePath "C:Program FilesMicrosoft OfficeOffice15WINWORD.EXE" -CollectionName "Office Apps" -ConnectionBroker "rdcb.domain.com" -ShowInWebAccess $true
The -Alias must be unique within the collection and is used in the .rdp file and URL. The -ShowInWebAccess parameter controls whether the app appears in the RD Web Access portal.
Step 2 — Configure RemoteApp Properties
Update properties of a published RemoteApp:
Set-RDRemoteApp -Alias "MicrosoftWord" -CollectionName "Office Apps" -ConnectionBroker "rdcb.domain.com" `
-DisplayName "Word 2013" `
-ShowInWebAccess $true `
-CommandLineSetting Require `
-RequiredCommandLine "/q" `
-UserGroups "DOMAINOfficeUsers", "DOMAINManagers"
The -CommandLineSetting parameter controls whether command-line arguments are allowed:
DoNotAllow: Ignores any command-line arguments passed by the clientAllow: Passes client-specified arguments to the applicationRequire: Requires specific arguments defined by-RequiredCommandLine
Step 3 — Set a Custom Icon for RemoteApp
By default, RemoteApp uses the icon from the application executable. To set a custom icon:
Set-RDRemoteApp -Alias "MicrosoftWord" -CollectionName "Office Apps" -ConnectionBroker "rdcb.domain.com" -IconPath "C:IconsWord.ico" -IconIndex 0
Step 4 — List Published RemoteApp Programs
Get-RDRemoteApp -CollectionName "Office Apps" -ConnectionBroker "rdcb.domain.com" | Select-Object DisplayName, Alias, FilePath, ShowInWebAccess | Format-Table -AutoSize
# List all RemoteApps across all collections:
Get-RDSessionCollection -ConnectionBroker "rdcb.domain.com" | ForEach-Object {
Get-RDRemoteApp -CollectionName $_.CollectionName -ConnectionBroker "rdcb.domain.com"
} | Select-Object DisplayName, CollectionName, FilePath
Step 5 — Generate an RDP File for RemoteApp
Users can launch RemoteApp programs from the RD Web Access portal or directly from an .rdp file. To get the RDP file content for a RemoteApp:
# View the connection properties (these are embedded in the .rdp file):
Get-RDRemoteApp -Alias "MicrosoftWord" -CollectionName "Office Apps" -ConnectionBroker "rdcb.domain.com"
Administrators can also export the .rdp file from the RD Web Access portal or create one manually. The key .rdp file settings for a RemoteApp are:
full address:s:rdcb.domain.com
remoteapplicationmode:i:1
remoteapplicationname:s:Microsoft Word 2013
remoteapplicationprogram:s:||MicrosoftWord
remoteapplicationcmdline:s:
prompt for credentials on client:i:1
Step 6 — Configure RemoteApp File Associations
File type associations allow users to open local files in RemoteApp programs. For example, double-clicking a .docx file on the local desktop launches the remote Word application and opens the file. This is configured through Group Policy or by distributing a pre-configured .rdp file that includes file type association settings. In Server Manager’s RD Web Access configuration, you can configure which file extensions are associated with which published RemoteApp.
Step 7 — Configure RemoteApp Access via Group Policy
Distribute RemoteApp configurations to domain-joined workstations through Group Policy using the RemoteApp and Desktop Connections feature. Users then see RemoteApp programs as if they are locally installed:
- Open Group Policy Management Console
- Create or edit a GPO linked to the OU containing user accounts
- Navigate to User Configuration > Policies > Windows Settings > Remote Desktop Services > RemoteApp and Desktop Connections
- Enable Specify default connection URL and enter the RD Web Access feed URL:
https://rdwa.domain.com/RDWeb/Feed/webfeed.aspx
Step 8 — Remove a Published RemoteApp
Remove-RDRemoteApp -Alias "Notepad" -CollectionName "General Desktop" -ConnectionBroker "rdcb.domain.com" -Force
Troubleshooting RemoteApp
Common issues and resolutions:
RemoteApp fails to launch with “cannot connect to the remote computer” error: Verify the Session Host servers are running and accepting connections. Check the Connection Broker event logs on the RDCB server.
RemoteApp asks for credentials every time: Configure SSO (Single Sign-On) through Group Policy or ensure that NLA and SSO GPO settings are aligned. The credential must match the user’s domain credentials.
Application does not appear in RD Web Access portal: Verify ShowInWebAccess is set to $true and the RD Web Access server has been synchronised with the Connection Broker.
# Check event logs for RemoteApp connection errors:
Get-WinEvent -ComputerName "rdcb.domain.com" -LogName "Microsoft-Windows-TerminalServices-SessionBroker/Admin" | Select-Object -First 20 TimeCreated, Message
Summary
RDS RemoteApp on Windows Server 2012 R2 transforms how organisations deliver applications, enabling seamless remote application delivery without requiring users to interact with a full remote desktop. By publishing applications through Session Collections, configuring appropriate user group restrictions, and distributing access via RD Web Access or Group Policy-pushed connection URLs, you can provide users with a familiar, local-feeling application experience backed by centralised server-side execution. RemoteApp is particularly valuable for legacy applications that cannot run on modern operating systems, resource-intensive applications that require server-class hardware, and regulated environments where applications must not be installed on endpoint devices.