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.
One of the most important things to know when using application streaming is to know how your applications work. A good starting reference for application streaming is to read over Citrix support article CTX118623 – Application Streaming Delivery and Profiling Best Practices for XenApp 5.0.
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. You should use the product of your preference, then 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.
- Save it your profile share repository.
- Open the profile on your Windows XP profiler.
- Add a target for Windows XP.
- 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. You can explore the target device drive you are profiling on the local profiler machine by going to %userprofile%Local SettingsTempCitrixPackager. 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 Application Streaming Profile since your profile is ignored during the profiling process.
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 just under 800MB.
When updating profiles I always open/modify them from the UNC path of where they are stored. From my experience, opening the profiles from a mapped network drive can causes issues or possibly corrupt your profile. If you have a very large profile, you can always copy the profile to the local profiler machine. Once done modifying the profile, you need to copy it back up to your profile share. This also helps if you don’t want to modify the production profile online and possibly corrupt it. You can also specify which version of profile is used by following the steps in Citrix support article CTX120436 – How to Manage Application Streaming Packages. This is very useful when you have rolled out an updated profile and need to roll back to the previous version because of issues found during testing.
Profile Share/Deployment
For the location of the profiles I like to use DFS shares. This enables you to move the profiles without having to modify all of your published applications. DFS shares also allow 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 Citrix support article CTX115137 – Application Streaming Utilitiesand look for the radedeploy command.
Troubleshooting Application Streaming Issues
There are several things to look at when troubleshooting Application Streaming issues. First thing to do is launch the application during the profiling process to make sure there are no issues from the installation process. Next thing is to launch the application manually on the XenApp server or client machine. This can be done following the steps in Citrix support article CTX115191 – 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, search keyword phrase: 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 Service see Citrix support article CTX116483 – 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 is System RootProgram FilesCitrixRadeCache), and restart the Streaming Service. Another good article to look at when troubleshooting Application Streaming issues is Citrix support article CTX113304 – Troubleshooting Application Streaming Issues.
If you have found this article interesting or if you have any other insights, please feel free to contact me via email.