Recently I was asked to test out some solutions to try and get a business critical application to users with the catch being that it had to be installed on a machine in my location for logistical purposes. One of the proposed solutions was using RemoteApp so it gave me a chance to get a look at this more closely than I had seen it before e.g. benchmarking performance etc.
Many companies implement such a solution as a work around for some applications which have hard stop application compatibility issues or require to be hosted on a server for logistical purposes. Citrix Terminal Services with XenApp and RemoteApp might be possible alternatives to consider.
The set up of RemoteApp is actually really simple. You just have to enable Remote Desktop Services and IIS on your server, also you should have the server on a valid domain for the purposes of enabling the Connection Broker which you will require if you desire to run the application via Web Access.
If you are on a Domain you will most likely already have your AD set up on the domain, I say this because during the set up of the Web Access service you are required to assign admin permissions, for scalability I would suggest having this set to an AD Group though from my own testing it appears that you can set the actual WebAccess to a Local user on the Server and still use it via the web. You get prompted for a domain login to access the actual Remoteapps but on launching you can then input a local account that exists on the server. But if you are setting it up I figure you might as well keep things persistent and set it up with AD. Ensure the domain user is added to the TS Web Access Group on the server.
On that note, I tried to set up the Connection Broker on a Domain Controller which was against my best judgement anyway, I tried anyway and it did not work. There was a happy little warning message to say it might work on a Domain Controller but might not 🙂 It did not, this is most likely because it ties into a local user group TS Web Access. So I would advise setting this up on a server that is joined to your domain but is not a domain controller that way the group will still exist on your local machine, otherwise on a domain controller machine your local groups are stored in your Active Directory Users and Computers which RemoteApp doesn’t seem to like.
Once I had RemoteApp set up on my test environment I tested it out using the different options. I have alluded to the Web Access option. This is similar to the Citrix Metaframe, presenting the users with shortcuts from within their web browser, running the application on the server but presenting it to the user.
The other options can be seen in my next screenshot:
As you can see the options are to create a .rdp file or a Windows Installer file (.MSI)
The .rdp file works fine. It’s just like using an .ica file in the Citrix world. The file establishes a remote connection to the server and then present the application to the user. The other option of the MSI is pretty sweet. It allows you to streamline things very nicely by creating an MSI with a shortcut in the start menu for your users, you can also set up file type associations this way e.g. If you choose to host WinZip on your server you can set the FTA in the MSI so when a user double clicks a .zip file on their desktop it will launch within the Winzip that is running from the server. Similar to how FTA works in APP-V. This method makes the experience a lot more seamless to the user as to them it’s just like a regular app being run from their machine, only it’s obviously running on the server and being presented to them.
I like how simple this solution is to set up and the fact for me at least, I already have easy access to Servers and a Server 2008 R2 image. I also have access to Citrix solutions but not every small to medium size business might have this so it offers a workable alternative. Performance wise running there was a noticeable actually a great performance increase in the initial loading of the application for me because my local machine is so much more inferior to the server being used. The only times I noticed issues was when I tried an application which required access to a backend DB. Even though my local machine and the server existed on the same subnet as the server with the DB, when run through the WebAccess the latency was crippling. On initial load it actually took 20 seconds longer, I feel though that this is not an issue with RemoteApp but rather an issue with running the application in any hosted terminal server solution due to the architecture involved and amount of data required to be brought back from the DB.
Overall, I have to say I’m really impressed with the simplicity of setting this up. I think Citrix has a pretty strong hold on this part of the market with XenApp but this could be a good alternative for those companies who don’t have the extra funds for setting up a Citrix environment and just want to leverage some existing Windows Server 2008 R2 server(s)