Wednesday, June 13, 2012

Publishing an Internet Explorer 7 or 6 web application with Citrix XenDesktop VM Hosted Apps

One of the challenges I find I frequently face with XenApp deployments is the ability to publish legacy applications that is either incompatible with 64-bit operating systems or require a version of Internet Explorer that is older than the version that is natively installed on the XenApp base operating system.  One of the recently deployments I was involved in had Citrix XenApp 6.5 on Windows Server 2008 R2 but had 2 applications that required Internet Explorer 6 or 7.  As most would know, XenApp 6.5 will only install on Windows Server 2008 R2 and the base operating system is shipped with Internet Explorer 8.  Since there is no way of profiling and streaming Internet Explorer 6 or 7, the only option that crosses the mind is Citrix XenDesktop’s VM Hosted Apps.  For those who are not familiar with what VM Hosted Apps are, the following is a snippet from Citrix’s eDoc:

VM hosted apps allows you to deliver applications from virtual machines or physical computers, including blade servers, running Windows single-user desktop operating systems. Users access these applications through a Web browser, the Citrix online plug-in, or Citrix Receiver, just as they would applications hosted from XenApp servers running Remote Desktop Services. VM hosted apps allows you to deliver applications that otherwise must be installed locally or require extensive compatibility testing on XenApp servers.

http://support.citrix.com/proddocs/topic/xenapp65-publishing/ps-vmha-wrapper.html

The obvious drawbacks of using VM Hosted Apps is that you essentially have 1 to 1 mappings for application as each application you launch will use 1 virtual or physical machine.  So in the event that you want to allow 100 users to launch the same web application that uses a VM Hosted App, you’ll need to have a pool of 100 virtual or physical machines.  You can probably get by with 512MB to 1GB of memory for Windows XP but if you multiple, say 512MB by 100, you’ll essentially be using 50GBs of memory.  A typical 8GB XenApp server can serve many instances of Internet Explorer.  With that being said, if you absolutely need a way to publish legacy applications that your XenApp server cannot host then this would be a viable workaround.

**Note that Citrix blogs also has a post that demonstrates the process of publishing a VM Hosted App here: http://blogs.citrix.com/2011/09/07/xendesktop-5-configuring-vm-hosted-apps/

Now without further delay, the following is an example of publishing a web application with Internet Explorer 7:

Creating a Desktop Catalog

The first step is to create a desktop catalog from a master template that you have prepared with the applications you intend on publishing and then create a desktop catalog.  VM Hosted Apps supports different catalogs and depending on which type you deploy, the characteristics will vary.  For more information about the characteristics, see the following:

Working With Machine Catalogs and Desktop Groups
http://support.citrix.com/proddocs/topic/xenapp65-publishing/ps-vmha-manage-catalogs-groups.html

Notice how I created a random pool named WinXP VM Hosted Apps in the following screenshot:

image

Creating a Desktop Group

Once your desktop catalog has been created, proceed with creating a desktop group and add the desktop catalog machines to it:

image

Create an VM Hosted Application

Once the desktop group has been created, proceed with creating your VM Hosted App by right clicking on the Applications node and selecting Create Application:

image

Since we already have the desktop group created proceed with clicking on the Add existing button:

image

Select the desktop group you just created and click on the OK button:

imageimage

Proceed by clicking on the Next button:

image

The next screen allows us to choose the program that we would like to run so either type in the path and executable of the application or click on the Browse button to locate it:

image

Clicking on the browse button will present us with the following Browse For File window:

image

Notice how the Share drop down menu allows you to select either the Start menu or C$:

image

If your application is located in the start menu, simply use the Start menu and if your application isn’t, use the C$ option.  For the purpose of this example, we’re going to launch internet explorer and because we would like to launch a webpage in the browser, we’re going to put in the URL of the webpage in the Command line arguments field as such:

image

The next step is to add the users allowed to access the application so click on the Add button and choose a user or group:

imageimage

Clicking on the next button will allow you to specify a folder to put the application in and/or add shortcuts to the client’s start menu or desktop:

image

Clicking on the next button will then bring you to the advanced options.  Change them accordingly to your requirements:

image

The next menu allows you to give the application a name:

image

The next menu provides you with a summary of your VM Hosted App configuration:

image

Clicking next will create the application and provide you with the result:

image

Clicking on the finish button will show the newly created application in the list list of applications configured:

image

Proceed with logging onto your Citrix web interface webpage:

image

Notice how the newly published application is now available:

image

Launching the application will present you with multiple prompts that mimic the log on process for a Windows XP desktop:

image

**Note that I’ve spoken to a Citrix engineer about having this seamless and he said he has never seen these login prompts not presented but when I read responses of forums, I’ve seen people say it could be seamless.  In any case, I’ve always seen this prompt but it could be just the applications I’ve dealt with and I will update this post if I ever come across not seeing it. 

Once the log off completes, you should see the application launch:

imageimage

Closing the application will essentially log you off of the desktop so don’t be surprised if you see the log off windows when you close the application.

Hope this helps anyone out there not aware of this feature that provides a workaround for publishing legacy applications.

No comments: