You are on page 1of 12

White Paper

Citrix Application Streaming Internals

Citrix Presentation Server™

Citrix® Systems, Inc.


Notice
The information in this publication is subject to change without notice.
THIS PUBLICATION IS PROVIDED “AS IS” WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NON-INFRINGEMENT. CITRIX SYSTEMS, INC. (“CITRIX”) SHALL NOT BE LIABLE FOR
TECHNICAL OR EDITORIAL ERRORS OR OMISSIONS CONTAINED HEREIN, NOR FOR DIRECT,
INCIDENTAL, CONSEQUENTIAL, OR ANY OTHER DAMAGES RESULTING FROM THE FURNISHING,
PERFORMANCE, OR USE OF THIS PUBLICATION, EVEN IF CITRIX HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES IN ADVANCE.
This publication contains information protected by copyright. Except for internal distribution, no part of this
publication may be photocopied or reproduced in any form without prior written consent from Citrix.
The exclusive warranty for Citrix products, if any, is stated in the product documentation accompanying such
products. Citrix does not warrant products other than its own.
Product names mentioned herein may be trademarks and/or registered trademarks of their respective
companies.
Copyright © 2007 Citrix Systems, Inc., 851 W Cypress Creek Rd, Ft. Lauderdale, Florida 33309 U.S.A. All
rights reserved.

Version History
1.0 Citrix Technical Publications CTX 110303 February 27, 2007

Citrix Application Streaming Internals


„ ii
Table of Contents
INTRODUCTION........................................................................................................................................................................ 5

GETTING STARTED: BASIC STEPS...................................................................................................................................... 5


INSTALLING THE PROFILER ......................................................................................................................................................... 5
PROFILING AN APPLICATION ....................................................................................................................................................... 6
LIMITATIONS............................................................................................................................................................................... 8
PROFILER INTERNALS........................................................................................................................................................... 8
CREATING A PROFILE .................................................................................................................................................................. 8
CREATING TARGETS ................................................................................................................................................................... 9
TARGET COMPONENTS .............................................................................................................................................................. 10
CREATING THE .CAB FILE ......................................................................................................................................................... 10
CONFIGURATION OPTIONS ........................................................................................................................................................ 10
OTHER CONFIGURATION OPTIONS ............................................................................................................................................ 11
MANIFEST FILE ......................................................................................................................................................................... 12
SUGGESTED READING.......................................................................................................................................................... 12

Citrix Application Streaming Internals


„ iii
Citrix Application Streaming Internals
„ iv
Introduction
This white paper provides you with details about profiling and Citrix Streaming Profiler internals for Citrix
Presentation Server 4.5. It is one of a series of white papers designed to provide you with more detailed
information beyond the scope of the Citrix Application Streaming Guide included with the Presentation Server
documentation.

Getting Started: Basic Steps


The profiler is an independent application that enables you to prepare commercial or custom Microsoft Windows
applications, Web applications, browser plug-ins, files, folders, and registry settings streamed to your users’
workstations. Resources you prepare with the profiler are called profiles.
You create a profile by installing applications or other resources on an independent computer running the profiler.
The profiler bundles files and configuration settings that the client accesses to stream to end-user desktops, or
laptops, or stream to end point. After you create a profile, you make it available for publishing by saving it to a
network file share.
This section includes the basic steps for installing the streaming profiler and profiling a simple application for
streaming.

Installing the Profiler


For best results in creating streamed application profiles and avoiding issues after deployment, follow the
recommendations in this section.
Tips for preparing a workstation
• Start with a workstation that has only the Windows operating system and service packs of your end-users
(ensure it is clean of other software applications).
• The operating system base should be the same as or older than your target client configurations. Client
configurations older than the operating system of the profiling workstation might not successfully run
profiled applications.

For example:
o Profiles created on a Windows 2000 workstation launch best on Windows 2000, XP, and 2003
client desktops
o Profiles created on an XP workstation launch best on XP and Windows 2003 client desktops
o Profiles created on a Windows 2003 workstation launch best on Windows 2003 client desktops
• Check for files left behind from uninstalled applications. If you uninstalled applications from the workstation
using Windows Add or Remove Programs, manually remove any remaining files. This step is important
because if an application’s files exist on the profiling workstation, the profiler detects them and skips them
when installing files into an application profile. As a result, the streamed application might fail to launch.
After the profiling workstation is prepared, insert the Components CD in the CD-ROM drive.
To install the Citrix Streaming Profiler
1. On the Components CD, double-click Autorun.exe to start the installation wizard.
2. Select Product installations and updates.
3. Select Install Citrix Streaming Profiler for Windows.

Citrix Application Streaming Internals 5


4. Select your preferred language (English, by default) and continue following the instructions in the wizard.
The default settings are sufficient for typical installations.
5. After you click Finish, restart the computer.
Similarly, to uninstall the profiler, from Windows Add or Remove Programs, select Citrix Streaming Profiler 1.0
for Windows.

Profiling an Application
You use the Citrix Streaming Profiler to profile applications that your users’ clients stream to their desktops. Using
the profiler, you can create several targets within an application profile that can match a variety of your client
devices. In this way, you can create a single profile that can accommodate a variety of user environments. You can
also use the profiler to update applications in the profile and provide other resources that you find your users need.
The profiler includes a wizard to create streaming application profiles. This section includes the basic steps in using
the wizard. For more information about using the wizard and other options in the profiler, see the Administrator’s
Guide.
To start the profiler, from the Start menu, choose Programs > Citrix > Streaming Profiler > Streaming Profiler.
To create a new profile and the initial user configuration (target)
1. The profiler opens with the Welcome page. To create a profile, click New Profile.

Alternatively, when the profiler is already open, from the File menu, choose New.
2. On the Name Profile page, enter a simple name. Do not include any criteria the client uses to identify
targets. For example, do not include a version number in the profile name.
3. On the Set User Profile Security page, select the level of user profile security you want for the profile. Use
the option buttons to select between the following:
• Enhanced security. Does not permit any executable files to run other than those included in the
target. For example, if the client is running an Internet Explorer plug-in included in the target, the
enhanced security setting prevents the client from running any other plug-ins that the user might
download.
• Relaxed security. Permits executable files to run that are accessed through the profiled resource.
4. On the Set Target Operating System and Language page, select the client configurations that can
access the application you are installing. You must select at least one target operating system and
language.

Setting the target and operating system and language criteria are the first steps in creating the initial target
for a profile. The default operating system and language are those of the operating system installed on your
profiling workstation.
a. To support other operating systems and languages, select the check boxes associated with those you
want to support. When selecting target operating systems and languages, do not select those
languages for which you are going to create separate targets.
b. If you want the client to consider the service pack level, click Set Service Pack. By default, a target
matches all service packs of the operating systems it supports.

When selecting the service pack supported by the target, use the Supported Service Pack Levels
pull-down menu to choose a rule for considering the service pack level.

Citrix Application Streaming Internals 6


Type the number representing the service pack level in the applicable field for Minimum Level,
Maximum Level, Exact Level; or, if for a range, Minimum Level and Maximum Level.

Note: For subsequent targets, you can ensure the current target you are adding does not conflict with other
targets in the profile by clicking Check for Conflicts.

5. On the Select Install Option page, choose an installation option. You choose an installation option
according to the type of resource or number of resources you want to install into a target.
• Quick Install (selected by default). Use this option if the application you are installing has an
installation program, such as setup.exe (recommended for normal installations).
• Advanced Install. Use this option if you are installing Internet Explorer plug-ins, editing registry
settings, installing an application manually, or installing from multiple installers. Advanced install
provides the opportunity to repeat the installation procedure as many times as you need, so you can
add a variety of multiple resources to a target. For instructions about using Advanced Install, see the
Administrator’s Guide.
With Quick Install selected, continue with the remaining steps.
6. On the Choose Installer page, locate the application’s installation program. Click Browse to locate the
executable file or a script you run to install the application into the current target. In this step, you are only
choosing the installer, not running it. If needed, enter required command-line arguments. Click Next.
7. On the Run Installer page, ensure the installation program and command-line parameters are correct,
then click Launch Installer and wait for the installation program to run. You have the option of using
installers (.exe or .msi), Microsoft Internet Explorer (plug-ins, Web applications, and online updates),
selecting folders and files (custom applications), and editing the registry.

Note: When running the installer, you can accept the default destination folder or location. The profiler
automatically installs the application in an isolation environment on the profiling workstation.

After you launch the installer, the Back button is disabled. Do not click Next until the installer finishes.

If, after you are sure the application installer is finished, you want to force a virtual restart, before clicking
Next, check Perform virtual restart. When you click Next, instead of restarting your profiling workstation,
the profiler simulates a system restart.
8. On the Run Application page, launch the application and enter a license code or accept a license
agreement. Select the application and click Run. Additionally, you can add files that the application needs
to perform correctly. When the application is fully launched, close it and click Next.
9. On the Select Applications page, select the application to make it available for you to publish in the
Access Management Console.

To change the default icon or application name, such as to remove a version number, click Modify, and
after making changes, click OK. Click Next to continue.
10. Use the Sign Profile page to sign the profile with a digital signature (optional). By default, the profile is not
signed. Click Next.
11. On the Build Profile page, review profile details and, if necessary, click Back to edit the profile. Click
Finish to build the profile with the installed application. When it completes, the new profile appears in the
navigation panel in the profiler. Click the tabs to review the information.
12. Manually save the profile to a network file share. From the File menu, click Save as, and enter the UNC
path to the file share. The path must already exist on the file share; the profiler cannot create new folders.

Citrix Application Streaming Internals 7


Note that the profile name and manifest name (name.profile) are automatically added to the UNC path, as
noted in the Save To address.
After creating the profile, publish the application in the Access Management Console so that configured users can
stream the application to their local desktops and launch it locally or stream it to a server and launch it using a
Presentation Server Client connection.

Limitations
Citrix recommends that you test every application before deploying it to users. As you select and test applications
for profiling, keep in mind the following compatibility guidelines:
• Some suites of applications, such as Microsoft Office, install Windows Services or drivers that cannot
stream to clients. When you profile these suites, the applications run properly on clients, but the features
that rely on Windows Services or the drivers do not work.
• Some applications are supported with issues.
For more information about application compatibility issues and workarounds, see the Citrix Knowledge Center at
http://support.citrix.com.

Profiler Internals
This section provides in depth information about how the profiler creates a profile. The purpose is to enable
administrators to identify objects of interest at the point when profile creation or modification fails.
You can use the profiler to create a streaming application profile (and its initial target), add a target to a profile,
delete a target from a profile, update a target, and add updates, patches, additional applications, and so on.
As part of the basic functionality, the profiler can install applications, configure profiles, support Access
Management Console functionality, and maintain profile security.

Creating a Profile
A streaming application profile is a collection of client configurations (called targets) and a list of applications that
users can execute. In addition, profiles include scripts and other settings that are used in streaming applications to
client devices.

Citrix Application Streaming Internals 8


The following diagram illustrates the flow of profiling.

The profiler wizard guides you through the process of starting the application, running the application in an isolation
environment, creating and storing the files, registry changes, isolation environment rules, and manifest file.

Creating Targets
As you create a streamed application profile, you specify client configurations (targets), consisting of the operating
systems, service packs, languages, and boot drive, that can access the applications in the profile.
Adding individual targets can simplify application publishing as well as simplify application enumeration. You can
configure the same target to run on multiple operating systems (and services packs) and languages. By default, the
operating system, language, and boot drive of the profiler workstation are selected, but service packs are not
specified.
You need to create different targets for applications that can be used only by specific configurations of operating
systems, languages, service packs, and boot drives.
As a best practice, do not target applications to run on operating systems older than the current profiler operating
system. To create targets for specific configurations, install the profiler on a matching configuration and create the
target.

Note: When profiling applications that you intend to enable for offline access, create targets for all intended client
operating systems to ensure applications can be deployed beforehand correctly on all client computers. For
example, if your users have a mix of 32-bit and 64-bit client platforms, create a target for 32-bit platforms and
another for 64-bit platforms.

The client accesses a target based on the client configuration. If the client attempts to launch an application, but
cannot access an appropriate target, an error message appears. To avoid this problem, select all the client
configurations (operating systems and languages) that need to access the target. If needed, create multiple targets
for users of different configurations.

Citrix Application Streaming Internals 9


Target Components
A target is a client configuration specified in the profile. Each profile has one or more targets, and each target in the
profile is identified by a unique .cab file name. In the profiler, when you click the target, you can see its folders with
the installed files, registry data, and isolation environment rules, as noted in the following graphic.

Creating the .Cab File


When you save the profile to a network file share, the profile manifest has a .profile file extension, and each target
has a unique cabinet (.cab) file. The size of the .cab file is dependent upon the files being compressed and cannot
be estimated until actually creating the .cab file. For example, if the files in the profile are mostly text or other highly
compressible data, the .cab will be rather small. On the other hand, if most of the files are binaries or other
compressed data, the compression ratio will not be as good.

Configuration Options
After creating a profile, you can view and edit some of the properties at the profile level or target level.
To view and modify settings, from the Edit menu, select Profile Properties or Target Properties, which includes
the following tabbed windows:
• General. Shows profile or target information, including the name, description, operating system
configuration, boot drive, language, location on the file share, and dates of creation and last update.
• Application. Specifies the shortcuts and information for the application in the profile, including the details
about their availability in all or selected targets.
• File Types (profile property only). Specifies the file type associations used in publishing to invoke the
profile. This feature specifies automatic detection of file type association (FTA) information added by
various application installations in a profile and makes them available for application publishing in the
console.
• Target Operating System and Language (target property only). Specifies the operating systems, service
pack levels, and languages selected for the target.
• User Profile Security (profile property only). Specifies the security level selected initially in the profiling
wizard:
o Enhanced security (default setting). Users cannot launch executing files (such as .exe, .dll, and .ocx)
present in the User Profile Root. This setting can prevent malicious code from running.

Citrix Application Streaming Internals 10


o Relaxed security. Allows users to download executable files into the user profile root and run.
• Pre-launch analysis. Checks for certain applications, files, and registries on the client’s device before
running the application. Use this feature to check for certain prerequisites on the client before streaming a
profiled application.

For example, your application might require the installation of DirectX, a specific version of JRE, or .NET
2.0 on the client. In this case, you can set pre-launch analysis to check for the prerequisite on the client,
which allows the application to stream only if the prerequisite is installed.
• Pre-launch and post-exit scripts. Specifies the scripts to run either before the profile runs or after the
profile exits. Use this feature to:
o Run pre-launch scripts before the first application of a profile is run
o Run post-exit scripts after the last application of a profile exits
o Specify the order of execution
o Specify whether to run inside isolation environment or outside isolation environment
• Rules (target property only). Governs how the isolation environment functions when running an application
on the client. The default rules apply to most applications, and there is usually no need to change the
configuration. However, if needed, you can add, modify, or delete the rules. Rules are based on four types:
Ignore, Redirect, Isolate, and Strictly Isolate.

Other Configuration Options


The profiler includes the following additional options:
• Access Management Console can publish profiled applications. Application Discovery automatically
detects information in the profiles and makes it available for publishing:
o Application shortcuts installed in a profile
ƒ In case of Internet Explorer plug-ins and Web applications, Internet Explorer is available for
publishing
ƒ Manual selection of applications is also supported
o File Type Association information added by various application installations in a profile
• Profile security. Digital signing of profiles is supported to guarantee the integrity and origin of the profile
applications. This can be set while profiling or later in the profiler; from the Tools menu, select Sign
Profile.

Note: For information about securing your deployment, see the Citrix white paper CTX110304 Enhancing
the Security of Application Streaming for Desktops, located in the Citrix Knowledge Center.
• Profiler preferences. After starting the profiler for the first time, you can set profiler preferences that
optimize how you create profiles and targets. Preferences save time and improve usability by enabling you
to store relevant settings for use in future packaging tasks. To set these default preferences, from the Edit
menu, choose Preferences.
o On the User Profile Security tab, use the check box to select the security level for all profiles and
skip the security page in profiling wizards. You can save default security settings you want for all
profiles you create.

Citrix Application Streaming Internals 11


o On the Digital Signatures tab, if you are not signing profiles, you can specify not to show the Sign
Profile page in the profiling wizards.
You can change the preferences at any time, and the changes are effective immediately.

Manifest File
The manifest is an XML file containing information about the streaming application profile. The profiler creates the
manifest during a new profile creation. The profiler uses the manifest to open a streaming application profile. In
addition, the Access Management Console accesses the manifest for application publishing, and the Streaming
Client accesses the manifest to launch a streamed application.
After you complete a profile, you save the manifest file on the network file share, where it appears as shown in the
following example.

List of files in profile component:


• Scripts\. This subdirectory contains all the profile-level pre-launch and post-exit scripts for the profile.
• [ProfileName].profile. The .profile file, stored in XML format, contains details about which applications and
file type associations exist, as well as which versions of the profile exist.
• [guid]_[version].cab. The .cab file contains all the files for the target, as well as configuration files for the
isolation and streaming environment. A profile can have multiple .cab files, each representing a target.
• Hashes.txt. The hashes file contains all the file hashes for the profile, excluding the file contained in the
.cab, but including the .cab file. This allows digital signing (verification).
• Icons.bin. Icons are stored in this file for the Access Management Console to display and distribute to the
clients.

Suggested Reading
For more information about profiling and streaming published applications, refer to the Citrix Application Streaming
Guide, included with the product documentation. To locate this and other documents and white papers about
Presentation Server and other Citrix products, refer to the Citrix Product Documentation Web site located at
http://support.citrix.com/docs.

Citrix Application Streaming Internals 12

You might also like