Tuesday, July 21, 2009

Citrix Application Streaming Notes from the Field

By: Jarian Gibson

Since the release of Citrix Presentation Server 4.5, I have had the pleasure of working with Application Streaming in many different customer environments. Here are some of the things I have learned from those engagements.

Application Streaming Profiler

A lot of questions I get when going to a customer site is where to install the Application Streaming Profiler. I like to use virtualization technology. Use the product of your preference. Setup and install the profiler on a clean operating system and create a snapshot. Every time you create and save a profile, revert back to your clean snapshot. This way you know you are starting with a clean operating system and nothing is left over from the previous profiling process.

Install the Application Streaming Profiler on the same operating system you are deploying to. If you are going to use the same profile on multiple operating systems, then open the profile on each operating systems profiler and add a target for that operating system. An example would be using the same profile to deploy to Windows Server 2008 for streaming to server and Windows XP for streaming to client. Create the profile and target for Windows Server 2008 on the Windows Server 2008 profiler and save it your profile share repository. Open the profile on your Windows XP profiler, add a target for Windows XP, and save it your profile share repository. Now you can publish the same profile for Windows 2008 to stream to server and for Windows XP to stream to client. The same process works for creating a target for both 32-bit and 64-bit operating systems in the same profile.

Profiling Process

When I profile I always like to use the Advanced Install option. I have come across several applications that put stuff in the users profile that is creating the Application Streaming Profile. Whatever gets copied into the users profile is ignored and doesn't get saved into the Application Streaming Profile. Once the install process is done, I like to go and use Select Files and Folders install method to see if anything has been copied into my profile. If something has, I copy it to the same directory in the All Users profile.

When installing an application I either select installed or not installed. I never use install on first use. This only causes issues with Windows Installer and generates errors when the user launches the application and tries to use that feature.

I always like to just have a single partition for my installs and try not to split things between C, D, M, N, etc. When I profile, everything goes to the system drive. As a frequent user of the Citrix support forums, I have come across some posts stating that any drive other than the system drive gets ignored and not saved during the profiling process. I have not come across this issue myself since I always stick to a single partition.

For ODBC connections, these can be added from the Edit Registry install method or use the Select Files and Folders install method. Using the Select Files and Folders install method, I copy over ODBC files into the profile. On the Run Application screen I add the ODBC executable, launch it, and add System DSN entries for ODBC connections.

Some profiles can be very large in size. Up to 1GB or more. To reduce the profile size I delete any application install cache. A good example of this would Microsoft Office 2007. After installing Office 2007 use the Select Files and Folders install method to delete the MSOCache folder on the system drive. This can reduce the profile size from over 1GB to under 800MB.

Profile Share/Deployment

For the location of the profiles I like to use DFS shares. Using DFS shares enables you to move the profiles without having to modify all of your published applications. DFS shares also allows you to have a single path to all of your profiles if you have a multi zone/multi site farm setup. Depending on your Active Directory sites configuration, DFS shares will provide profile access from the share in the local Active Directory site.

When coming across profiles that are very large in size, I like to predeploy them during off peak hours. Predeploying larger profiles allows for faster application launch and reduces any errors users may get when the application is loading. This also helps prevent your file servers and network from being overloaded during peak hours. For information on predeploying applications, see Application Streaming Utilities and look for the radedeploy command.

Troubleshooting Application Streaming Issues

There are several things to look at when troubleshooting Application Streaming issues. First thing I do is launch the application during the profiling process to make sure there are no issues from the installation process. The second thing I do is launch the application manually on the XenApp server or client machine. This can be done following the steps in How to Use RadeRun to Manually Stream an Application or by using the RadeRun Gui. The RadeRun Gui can be found in the Citrix Support Forums by searching for RadeRun Gui. Another thing to check is the permissions for the Streaming Service. I have come across this in a few environments where security policies have removed rights for the Streaming Service. For the permissions required to run the Streaming Serivce see Required Permissions to Run the Citrix Streaming Service. One other thing I like to do is stop the Streaming Service, manually delete the client cache (default directory System Root\Program Files\Citrix\RadeCache), and restart the Streaming Service. Another good article to look at when troubleshooting Application Streaming issues is Troubleshooting Application Streaming Issues.

1 comment:

  1. You can explore the target device drive you are profiling on the local profiler machine by going to %userprofile%\Local Settings\Temp\Citrix\Packager. After you find the correct folder you can get the files out of your profile to copy them into the All Users profile in the profile since your profile is ignored during the profiling process.

    ReplyDelete

Microsoft Virtualization, Citrix, XENServer, Storage, iscsi, Exchange, Virtual Desktops, XENDesktop, APPSense, Netscaler, Virtual Storage, VM, Unified Comminications, Cisco, Server Virtualization, Thin client, Server Based Computing, SBC, Application Delivery controllers, System Center, SCCM, SCVMM, SCOM, VMware, VSphere, Virtual Storage, Cloud Computing, Provisioning Server, Hypervisor, Client Hypervisor.