Readme for Citrix Streaming Profiler SDK 1.1

Added by Citrix CDN , last edited by Citrix CDN on Oct 04, 2007  (view change)
Tags: 

Readme Version: 1.0

Finding Documentation

The ProfilerSDK.chm help file is included in the download with the Profiler SDK. To open this help system, double-click the ProfilerSDK.chm file.

Getting Support

Citrix provides technical support primarily through Citrix Solutions Network (CSN) channel partners. Contact your supplier for first-line support or use Citrix Online Technical Support to find the nearest Citrix Solutions Advisor.

Citrix offers online technical support services on the Citrix Support Web site . The Support page includes links to downloads, the Citrix Knowledge Center, Citrix Consulting Services, and other useful support pages.

SDK Overview

What this SDK Includes

The Profiler SDK offers a set of COM objects and interfaces that give Citrix customers, distributors, and partners a programmatical interface into the Citrix Application Streaming Profiler. Using the Profiler SDK to create large numbers of profiles in one batch can be more efficient than creating them through the user interface. Developers can write in a platform-independent medium, and scripts can be written in C++, C#, or Visual Basic (VB) Script.

The Profiler SDK views a profile as a set of collections that serve as containers for their respective data, and offer a standardized method of adding, removing, and iterating through profile data. For example, a profile contains a collection of targets (client workstation environments), each of which contains a collection of scripts and a collection of target applications.

Before You Start

To use this SDK, you are expected to understand how to use the Citrix Streaming Profiler 1.1 for Windows to create and manipulate profiles. At a minimum, you should understand how to:

  1. Launch the Profiler utility
  2. Run an application installer capturing its installation activities
  3. Store the newly created profile to a network file server where it can be referenced for publishing

In addition, you should understand application publishing using the Access Management Console of Citrix Presentation Server and have the ability to launch a published application on a client desktop or Presentation Server.

The Profiler SDK provides a subset of the overall functionality provided by the Profiler utility and exposes the profiling APIs exposed by RADEPkg.dll. The SDK can be used by Citrix customers, distributors, and partners to programmatically access and manipulate profiles used in application streaming.

Note: Not all the functionality available in the Profiler utility is available in this SDK. For example, to set a pre-launch analysis, sign packages, or modify the default isolation rules, you must open and modify the profile in the Profiler utility.

Installation Information

To install the Profiler SDK:

  1. Download the SDK and unzip the package in a temporary location.
  2. Read the EULA.rtf. Your use of the SDK implies your acceptance of the license.
  3. The following three components are needed in the location where your compiler will find them:
    • RadeSDK.dll - Copy this file to the Streaming Profiler folder. You must also register this .DLL with the system, using the Windows regsvr32 command:
      regsvr32 radesdk.dll
    • RadePKG.dll - This .DLL is automatically installed when the Profiler is installed
    • RadeSDKpia.dll - Copy this file to the same directory as the application. This file provides COM InteropServices to .NET applications
  4. Copy the ProfilerSDK.chm documentation file to a convenient location on your workstation.

As you begin using the SDK, refer to the ProfilerSDK.chm documentation, which includes an overview of application streaming, SDK overview, and language reference.
For more information about profiling applications for streaming using the Profiler utility and publishing profiled applications for streaming using Presentation Server, refer to the Citrix Application Streaming Guide.

Basic Steps for Using the SDK

Follow these basic steps to create a profile with the Profiler SDK. Refer to the documentation for descriptions and syntax of the properties and methods. This template supports a number of frequently used nested list formats that you can also apply from the formatting toolbar rather than having to code it manually.

  1. Create a profile and the targets associated with that profile.
  2. Fill in the required data members of that profile with required and optional parameters (for example, language and operating system parameters for the target).
  3. Run the installer for each target.
  4. Run Discovery on (or manually configure) each target. Discovery looks at all targets and locates information such as shortcuts, registry information, and FTAs.
  5. Perform any additional customizations.
  6. Save the profile to a network file share where it can be accessed by users.

The result is a profile with applications ready to be published in Presentation Server.

See the "Example" topic for sample text that demonstrates this sequence. Similar steps can be performed on existing profiles, such as adding targets or having service packs applied to existing targets.

Known Issues in this Release

The following is a list of known issues in this release. Read it carefully before installing the product.

There is currently no radesdkpia.dll available for 64-bit platforms.

As a workaround, you can rebuild the .Net interoperability services .dll file under Visual Studio 2003 or earlier. Note that this method is not compatible with Visual Studio 2005.

To do this, open the application solution and remove existing references to radesdkpia.dll. In its place, add a reference to radesdk.dll and change all "using CitrixRADESDK;" directives in the code to "using RADESDK;". When this solution is built, it creates a file named "Interop.RADESDK.dll," which you must place in the same directory as the SDK application.* You must manually add target-level applications:

You cannot manually add target-level applications to a profile in this release of the Profiler SDK. This restriction is a result of the way icon information is extracted into a profile. As a workaround, you can create a "dummy" shortcut inside the virtual file system. For example, you can create a shortcut on the local file system that points to the expected executable path, which does not have to exist on the local file system. Your SDK application can then copy this file into the virtual drive with code such as the following:

String local_shortcut_file = @"C:\SDK_files\notepad.exe.lnk";
String virtual_shortcut_destination = target.BuildLocation +
@"\Device\C\Documents and Settings\All Users\Start Menu\
Programs\Notepad\notepad.exe.lnk";
File.Copy(local_shortcut_file, virtual_shortcut_destination);

Note that the local shortcut you create must point to the location where the application executable would appear on the virtual drive, such as:
"C:\applications\notepad.exe".

You must manually add File Type Associations (FTAs)

This release has a restriction against manually adding FTA's. As a workaround, you can manually edit the manifest (.profile) file.

The .profile file contains XML-formatted information. As a result, an SDK user can add XML information to this file in some cases. For example, if an FTA associates "notepad.exe" with ".txt" extensions, the following code would be inserted in place of the <FTA> segment of [Package/Apps/App] and [Package/Targets/Target/Apps/App]:

<FTAs>
<FTA>
<Name>NOTEPAD.TXT</Name>
<Description>Standard Text File</Description>
<Extensions>
<Extension> .txt</Extension>
</Extensions>
<MimeTypes />
<Executables>
<Executable> NOTEPAD.EXE</Executable>
</Executables>
</FTA>
</FTAs>

With this XML code inserted into the .profile file, the FTAs associated with an application are properly publishable.