Citrix Application Profiling
Citrix included application virtualization in their Citrix Presentation Server/XenApp software for a while. The component is best known as Citrix Streaming Server. I still think it is a pity that the application virtualization solution is not available as a separate product, which means that the product is mainly used in Server Based Computing even though Citrix worked really hard to catch up with the other vendors. In the current XenApp 5 for Windows 2008 the application virtualization features are almost the same as the most sophisticated application virtualization products. For example, this current version includes a real streaming option and the possibility to link virtualized applications in the virtual layer (Citrix calls this Inter Isolation Communication).
One of the logical activities within application virtualization is the creation of application packages. Within Citrix Streaming Server these packages are called profiles, while the creation process is called profiling. This article will describe the basic steps to create a virtualized package using the Citrix Streaming Profiler.
The Citrix Streaming Profiler is the software component that is required to create the application packages. Just like other application virtualization solutions, this component should be installed on a clean machine where only the necessary files and settings are saved within the record process. The installation of the software component is really easy; during the installation wizard, choose the desired language, accept the license agreement, choose the destination location and the location of the icon in the start menu. When done, you are ready to create your first Applicaton Profile. It is best practice to use a virtual workstation for these activities, so you can create a snapshot of the state before you start the profiling process. Citrix is updating this software component on a regular basis, so when building the virtual machine it is a good idea to check the Citrix website for the latest version.
The first step is to start the Citrix Streaming Profiler software component. By default the shortcut is located in Start Menu\All Programs\Citrix\Streaming Profiler\Streaming Profiler.
The Citrix Streaming Profiler starts with this screen. You have the possibility to create a New Profile or to open a current profile (for updating the package with for example hot fixes). You can also choose to start the profile without performing any tasks automatically.
For this article I will use the option Open Profiler.
When choosing the above mentioned option the profiler will start without performing any additional tasks. You can choose to start a new profile or open a current one with the two icons highlighted. The previous start-up screen will perform this task for you automatically.
We will start a new profile, so I select the New Profile Wizard button.
The wizard starts with an information dialog box explaining the basic steps involved in creating a profile. Use the Next button to continue with the wizard.
The first “real” window is the Name Profile wizard. Here you need to specify the name in which the application will be known. This name will also be used as the directory name in which the profile data will be saved. I suggest using a logical short name, but one which will make it easy to determine which application is profiles. For this article I will use Acrobat Reader as the application to be virtualized. Therefore I will use the profile name AcrReader8 and will continue with Next.
In the next dialog box a selection needs to be made if enhanced or relaxed security. Choosing enhanced security will allow the possibility to set (NTFS) security on files in the profile package, while relaxed security will give a kind of Full Control within the package.
Previous versions always used the relaxed security and my opinion is that is not too bad. Especially in Terminal Server environment this method solves lots of problems, while there are no important disadvantages. That’s why I chose relaxed security for this article.
This dialog box is a big advantage when using the Citrix product. Here you can specify which profiles should be linked to this application. In this way you can use the middleware application out of the profile packages for creating the profile package for this application. For Acrobat Reader there is no need for a inter isolation communication, so I will continue via the Next button.
Within the Citrix Profiler you can specify for which operating system the application is suitable. With the Set Service Pack button you can specify a requirement for a specific (set of) service pack(s). Also there is a possibility to run the application only on specified languages. All these selections do only intend that the Citrix Streaming Server will prevent the profile to be started on not selected operating system, service packs and/or languages. The person who creates the profile needs to guarantee that the application works on the selected operating system (levels).
When profiling a pretty forward application the Quick Install option is the way to go. To show all the options I will use the Advanced Install feature in this article.
Because I have chosen the advanced option the below displayed window will be shown. This window shows the option which can be performed. Because Acrobat Reader is a normal installer I now choose the Run install program or command line script.
Next you need to specify the installation program of the command line script. There is also a possibility to add additional parameters.
With the Launch Installer button the virtual layer is created and the actual installation of the application (in our case Acrobat Reader) will be started.
In this phase you just install the application using the installation wizard of the application. Additional you can perform additional configuration for the application.
With the actual application installation you return to the profile wizard. If needed you can perform a (virtual) reboot. If this is not the case you can continue by clicking the Next button.
This takes us to a new window. If needed, you can perform an installation of an additional part of the application or perform additional task like registry and folders actions. For our current profile package is this not necessary, so I choose the Finish Installations option, followed by the Next button.
Some applications require to be started once to fully install all the components or to enter a license key. If this is the case you can start the application using the Run button, so these steps are added in the virtual layer. The wizard needs to be continued again via the Next button.
The Select Application dialog box shows the discovered application shortcuts. You can add or remove application shortcuts or edit the properties of the shortcut(s).
For additional security (to guarantee that the profile package is not altered) you can sign the package using a Certificate authority. I will not use this option, so I select the option Do not sign profile and continue with the wizard.
All the settings are now configured and using the Finish button the profile package will be built.
After the build the profiler utility will be shown again. There are several possibilities to make changes to the profile package (for example adding an additional operating system target). It goes way to deep to explain all the options.
The last step is to save the profile, so the actual files will be created. You need to specify the profile directory location, which is normally a file share accessed via a UNC path.
When the profile is saved, the last step is to add the profiled application to the infrastructure via the Citrix Access Management Console. Therefore you need to be sure that a streamed application will be used, not forgetting to specify the location of the profile package. After these steps the virtualized application is available to the end users.
In this article I showed the basic steps in creating a virtualized application using the Citrix Streaming Profiler based on XenApp 5 for Windows 2008. Also some best practices are mentioned during the article for creating optimized profile packages.