Installing applications on RD Session Host servers
Whether you are providing session-based virtual desktops or RemoteApp programs, you need to ensure that apps are installed properly on the RD Session Host servers. Before you attempt to install the app in a production environment, you need to verify that it works properly when installed on an RD Session Host server. When you install the app on an RD Session Host server, you need to follow a specific installation process.
The following are some considerations for deploying apps on RD Session Host servers:
- Suitability for multiuser environments:
This is the most important consideration for apps installed on RD Session Host servers. Historically, most end-user apps function well in multiuser environments, but this isn't always the case. Ideally, the app vendor officially will support installation on RD Session Host servers. In some cases, you may need to obtain an update from the app vendor that enables an app to run properly on an RD Session Host server. If an app can't run on RD Session Host servers, then you'll need to install it on desktops or consider using an alternative app.
Many apps that aren't officially supported for RD Session Host servers run properly, but the vendor hasn't done the necessary testing. You can choose to install the app anyway and accept the risk of unforeseen failures. Whether you do this depends on the organizational benefits of putting the app on RD Session Host servers versus the cost of potential failure in the future.
- App compatibility:
You need to investigate whether apps have compatibility issues when coexisting on RD Session Host servers. Ensure that you thoroughly test apps before you put them into a production environment. You might need collections with separate pools of RD Session Host servers to run incompatible applications separately from one another.
- App dependencies:
Install related apps or apps that have dependencies on other local apps on the same RD Session Host server. For example, all the apps in a suite such as Microsoft Office should be installed on the same RD Session Host server unless otherwise prescribed by the vendor.
- Capacity requirements:
There are no firm numbers on how many clients a single RD Session Host server can support. Resource requirements depend on the number of apps that are being used simultaneously and the resource requirements of individual apps. Adding a new app to an RD Session Host server will increase the load on the server. Don't assume that because the number of clients remains the same, the load won't increase.
- Licensing requirements:
The licensing requirements for apps vary widely among vendors and apps. In many cases, installing an app on an RD Session Host server means that you need to purchase licenses for every user who has access to session-based virtual desktops. In a large RDS deployment, this can be very expensive. You may be able to mitigate this by using RemoteApp programs, which can be controlled by user groups. Some vendors have specific licensing for RDS deployments.
Installing an app on an RD Session Host server is different from installing an app on a traditional desktop. RD Session Host servers operate in two modes: install mode and execute mode. You must put a server in install mode to install multiuser apps properly. In install mode, the Windows operating system ensures that appropriate registry entries and initialization (.ini) file settings are configured for an app to function in multiuser environments. After an app successfully installs, the server must be placed back into execute mode.
The Windows Installer Service is RDS-aware. This means that Windows Installer packaged apps (.msi) automatically are installed properly. Windows Installer switches to install mode and back to execute mode as part of the installation process. Most apps are distributed as Windows Installer packages as for installation, but you should verify before installing.
If the app isn't distributed as a Windows Installer package, then you need to ensure that you install it by using the proper process. One way to install the application properly is by using the Install Application On Remote Desktop Server option in the Programs area of Control Panel. This option is added to all RD Session Host servers. Using this option opens a wizard that prompts you for the location of the installation files and puts the server into install mode while performing the installation.
Alternatively, you can use a command prompt to manually put the RD Session Host server into install mode by using the following command:
change user /install
After the RD Session Host server is switched to install mode, install the application. Then, change the RD Session Host server back to execute mode by using the following command:
change user /execute
You also can check the current server mode by using the following command:
change user /query
You also can use apps deployed by using Microsoft Application Virtualization (App-V) for sessionbased virtual desktops and RemoteApp programs. Using App-V can mitigate some compatibility issues and simplify application deployment and updates.
Publishing RemoteApp programs
Before users can access RemoteApp programs, you must publish them. Publishing configures a session collection with the information necessary for users to access the apps on the RD Session Host servers.
To publish a RemoteApp program from a session collection, perform the following steps:
- In Server Manager, in the navigation pane, click Remote Desktop Services.
- In the navigation pane, click the session collection from which you want to deploy RemoteApp programs.
- In the RemoteApp Programs area, click Tasks, and click Publish RemoteApp Programs.
- In the Publish RemoteApp Programs Wizard, on the Select RemoteApp Programs page, select the check boxes beside the apps that you want to publish and click Next. This list of applications is queried from an RD Session Host server in the collection. If an app you want to publish isn't listed, you can use the Add button to browse for the executable for the app.
- On the Confirmation page, click Publish.
- On the Completion page, click Close.
After you publish RemoteApp programs in a session collection, that session collection can be used only for RemoteApp programs. You can't provide session-based virtual desktops and RemoteApp programs from the same session collection.