6.2 Streaming Virtual Applications from the Web

6.2.1 Preparing Applications for Streaming

To build a model for streaming an application, you must first package and profile the application or product. This section includes the steps that make a product ready for streaming.

Packaging

You need to package the application to prepare it for profiling.

  1. Create a virtual application by using the templates available, or take a snapshot and capture the information.

  2. While creating the application, select Settings > Process Configuration and ensure that the Compressed Payload option is disabled.

  3. Build the application.

Profiling

The profiling feature generates transcripts or profiles, which are then used to create a streaming model for the virtual application. Clicking a profile launches the application and creates a single transcript file based on observed user behavior during that run. You should create multiple transcripts before creating a streaming model, because multiple transcripts allow the streaming system to consider different use cases for the application. You should also create at least one transcript for each operating system that the application runs on.

NOTE:Only uncompressed virtual applications can be profiled and streamed. Compression is automatically disabled during the model build process.

  1. Click Advanced, select Profiling, and choose the virtual application to be profiled. This application is the one created in Packaging.

    When you open the virtual application, its profiling begins.

  2. Let the application run for a few minutes to complete profiling, then click Close to close the application. If profiling is not complete, wait for a minute and then select Stop to stop the profiling.

You can also profile the application by using the Xstudio.exe command with the following syntax: /profile [App Path] [Transcripts Folder]

Where,

  • App Path - path of the application to be profiled.
  • TranscriptsFolder - folder in which the specified transcript files are stored.

The Xstudio.exe file is located in the ZENworks Application Virtualization directory where you have installed the ZENworks Application Virtualization 10.x application. The Xstudio.exe file depends on the StudioDependencies.svm file. If you want to execute the XStudio.exe command from any other folder, then ensure you copy both the XStudio.exe and StudioDependencies.svm files together to the new location for it to work.

Building a Model

After the necessary transcripts have been created, the streaming model is ready to be built. The model build process uses the transcripts and Connection Speed parameter to compute a model for execution. After the model build process is complete, the streaming files are written to the selected output folder. The Connection Speed setting is used to optimize delivery of application content to the end-user.

To make the product ready for streaming:

  1. Select the desired Connection Speed. The 1.5Mbps connection speed setting is recommended in most scenarios.

  2. Click BuildModel and create a model file for the virtual application.

  3. Create a new temporary location.

  4. For streaming the application from the Web server, move the entire directory from the Client or temporary location to the Web server under the layers folder. This directory contains one model.xm file and a number of *.xs files.

You can also build a model by using the Xstudio.exe command with the following syntax: /buildmodel [App Path] [Transcripts Folder] [Model Folder] [Connection Speed]

Where,

  • App Path - path of the application to be modeled.
  • TranscriptsFolder - folder in which the transcript files are available.
  • Model Folder - folder in which the model files are stored or created.
  • Connection Speed - speed that is specified in MB/second. The default value is 1.5.

Click Help from within the Novell ZENworks Application Virtualization program to access more information.

Juke-boxing for Streaming Virtual Applications

In ZENworks Application Virtualization, you can have multiple icons (ZENworks or standalone Web URLs) referring to the same streamed content with different triggers. You do this by creating multiple configuration files, each with a different startup application. After you create the configuration files, you post them on the standalone Spoon Web server with different icons and application names.

To view the list of startup applications that can be selected during configuration creation:

  1. In the ZENworks Application Virtualization studio, click Advanced.

  2. From App Certificates, click Create App Configuration to open the Create App Configuration Wizard.

    Advanced tab > Create App Configuration
  3. From the drop-down list next to Startup Path, select the required startup application.

    Create App Configuration Wizard
  4. Specify the details in the fields, then click Create.

6.2.2 Setting Up Files on a Web Server

ZENworks Application Virtualization Streaming Server can be set up using any standard Web server. The examples in this section use Internet Information Services (IIS) Manager.

After a directory for the root folder of the server site has been configured, files can be added to the root folder. Setup files for ZENworks Application Virtualization Streaming Server are included in the StandaloneTemplate.zip file from Novell.

The StandaloneTemplate.zip file contains the following files and folders:

  • The config folder: Contains the XVm configuration files. This folder is the eventual location of your virtual application configuration files.

  • The doc folder: Contains documentation for setting up ZENworks Application Virtualization Streaming Server.

  • The images folder: Contains the Novell logo, which appears in the application buffering dialog box during application launch.

  • The layers folder: Contains the XVm and ZAV plug-in layer files and will be the eventual location of your virtual application streaming model files, and SVMs.

  • The scripts folder: Contains the scripts for the ZENworks Application Virtualization Streaming Server Web site.

  • The launch file: The HTML file used to run the virtual application from the server web site.

  • The plugin-check file: The HTML file used to check whether or not the ZAV plugin has been installed.

Use the following steps to set up ZAV plug-in files on a Web server:

  1. In the ZAV-11.1-Streaming.zip build location, go to StreamingServer > StandaloneTemplate.zip file.

  2. Extract StandaloneTemplate.zip to the root folder for the Spoon Web site. This folder includes the StandaloneTemplate_Novell and LicenseUtil_Novell.exe files.

  3. In the root folder, edit scripts\zenworks_config.js to specify the correct location on the Web server and the correct plug-in version. Do this by making sure that the ZENworks_SiteRoot variable in this file refers to the root folder on the Web site where the Spoon files are found.

    Example 1: If the files are copied to http://www.mysite.com/spoon/, edit the variable as follows:

    ZENworks_SiteRoot='/spoon/';
    

    Example 2: If the files are copied to http://www.mysite.com/products/streaming/, edit the variable as follows:

    ZENworks_SiteRoot='/products/streaming/';
    
  4. In the root folder, update the config\XVm.xml file. Towards the bottom of the file update host to point to the correct hostname and path.

    Layer entry="True" type="Exe">http://host/layers/xvm/9-6-2002-0__0/xvm.exe</Layer>.

6.2.3 Adding File Types to the Server’s MIME Type List

The ZAV plug-in utilizes certain special file types which must be added to the Web server’s MIME type list in order to be recognized.

Add the following file extensions. The MIME type is given in parentheses.

  • .svm (application/octet-stream)

  • .xs (application/octet-stream)

  • .xm (application/octet-stream)

  • .xlayer (application/octet-stream)

  • .exe (application/octet-stream)

  • .xreg (application/octet-stream)

6.2.4 Streaming License Certificates

ZENworks Application Virtualization allows you to generate site license certificates to validate that the application is running in a licensed environment. Application configuration files are then generated with the site license certificate and used with the Novell standalone streaming server.

  1. Launch the ZENworks Application Virtualization studio.

  2. Click Advanced, then click the App Config button to regenerate the application stream configuration files.

  3. To generate a new site license certificate, click Advanced.

  4. In the App Certificates box, click Request Certificate.

  5. Specify the following details:

    • Organization Name: The organization name.

    • Unit: The user or unit name.

    • Allowed Portal Hosts: The allowed hostnames of the servers from which the application will stream.

  6. Click Request to request the site license certificate, then save the certificate to a desired location.

  7. Click the App Config button to regenerate the application stream configuration files again.

6.2.5 Adding Applications to the Server

This section describes how to make new application configurations available on the Standalone Streaming server that requires adding the .svm or streaming files to the Web server and create a configuration file which references the application.

Adding Streaming Files to the Web Server

After you use ZENworks Application Virtualization to package and profile the application you want to stream, create a folder on the Web server to host the files.

Example Path for a Streamed Application: http://site/site_root/layers/application_name/version__revision/xstream/model_revision/

A concrete example of a path for a streamed application might be

http://www.mysite.com/spoon/layers/firefox/3.5.0.8__0/xstream/0/ 

Example Path for a Non-Streamed Application: http://site/site_root/layers/application_name/version__revision/

A concrete example of a path for a non-streamed application might be

http://www.mysite.com/spoon/layers/firefox/3.5.0.8__0/

Creating an App Configuration File by Using ZENworks Application Virtualization

ZENworks Application Virtualization now allows you to generate site license certificates, which can then be used to generate application configurations for use with Novell’s standalone streaming server.

  1. Launch the ZENworks Application Virtualization console, then click Advanced.

  2. In the App Certificates box, click Request App Config.

  3. Enter the following details in the fields provided:

    • Application Name: Provide a name for the application.

    • Application Version: Provide a version number for the application in the following format: Major.Minor.Build.Revision format, for example, 3.8.12.895.

    • Layer Revision: Provide the current revision of the application build.

    • Type: Select either SVM or XM (streaming).

    • Layer URL: Include the path to the location where the application is hosted. The file will be of the .svm or .xm format, as defined by the type check box).

    • XVm Config URL: Path to the location of the virtual machine configuration.

    • Certificate Path: Path to the requested application license certificate that was saved during generation of the application license certificate. Click Browse Icon to search for this location.

  4. Click Request to request the application configuration.

  5. Save the application configuration document in the config folder on the root of the Web server.

Creating an App Configuration File by Using the Command Line Utility

Each application delivered by using the Spoon Standalone requires a unique .xml configuration file. Each configuration file is linked to a private key. An application configuration file is copied to the Web server and referenced on the Web page where the application is launched. The ZAV plug-in uses the configuration file to validate the application and determine where to locate the files to stream and launch the application.

Use the LicenseUtil-Novell.exe command line tool (extracted from StandaloneTemplate.zip) to create application configuration files.

IMPORTANT:The LicenseUtil-Novell.exe command line tool requires Microsoft .NET Framework 3.5 for correct operation.

When you create a configuration file, the first parameter must be CreateAppConfig. For other command line parameters, refer to the following list:

  • /pc: The path to the private key (ZAV90-NOV-xxxxxx.xml) file on your Web server.

  • /an: The name of the application (limited to ASCII characters).

  • /av: Application version information (application_version;layer_revision;model_revision_if_applicable).

    • Streamed Application Example: 1.0.0.0;0;0

    • Non-Streamed Application Example: 1.0.0.0;0

  • /au: The URL to the model file for a streamed application or to the .svm file for a non-streamed application.

    • Streamed Application Example: http://www.mysite.com/layers/myapp/1.0.0.0__0/xstream/0/model.xm

    • Non-Streamed Application Example: http://www.mysite.com/layers/myapp/1.0.0.0__0/myapp.svm

  • /vm: The version information for XVm.exe version;revision, such as

    To locate the version number, from the extracted StandaloneTemplate.zip folder, go to layers, then select the XVm folder. Copy the directory name and replace it in the command line as

  • /XVm: The URL to the .XVm configuration file.

    NOTE:The SpoonReg version and revision information is assumed to be identical to the XVm version and revision.

  • /o: The output file.

The following is an example of the command line syntax that was used to create a GroupWise application configuration file.

C:\Template>LicenseUtil_Novell.exe CreateAppConfig /pc C:\Users\Administrator\Desktop\certificate.xml /an groupwise /av 8.0.2.0;0;0 /au http://164.99.186.237/bh237/layers/gwmodel/model.xm /xvm http://164.99.186.237/bh237/config/xvm.xml /vm 9.6.2002.0;0 /o groupwise.xml

After you generate the configuration file, save it in a convenient location on the Web server, for example, http://site/site_root/configs/.

6.2.6 Testing the Streaming Server Setup

Testing the ZENworks Application Virtualization Streaming Server setup involves installing the ZAV plug-in and launching an application. This section includes the following information:

Testing the Plug-In Install

  1. (Conditional) On the Windows desktop, click Start > Control Panel > Add or Remove Programs, select ZENworks Application Virtualization Sandbox Manager, then click Remove.

    Repeat this step to remove all previous installations (versions) of the ZENworks Application Virtualization Sandbox Manager.

    NOTE:Although this step is unnecessary for end-users, it helps you to ensure that the plug-in installer is correctly referenced.

  2. Use a Web browser to navigate to plugin-check.html. For example,

    http://www.mysite.com/spoon/plugin-check.html
    
  3. Install the plug-in.

Testing the Application Launch

  1. In a text editor, open launch.html and edit the OnRunClick function of the relevant hyperlink to point to the correct application configuration document. In the following case we are updating the first application by changing [APPLICATION_1] to the name of the application document created earlier, without the square brackets.

    <a href="#" onclick="OnRunClick('IE8', false);return false;"><img src="images/novell.png" border="0"></a>.

    In the <script> section at the top of launch.html you will see the following code:

    var sConfigUrl = ZENworks_SiteRootUrl + ZENworks_SiteRoot + "config/" + sApp + ".xml" (new SpoonEntry()).RunApp(sConfigUrl, fReg);

    The sConfigUrl variable is built based on what you set the hyperlink to previously. To verify this, add a new line after the var sConfigURL statement:

    alert(sConfigUrl);

    This displays the value that is being passed to the streaming server and should match the URL of the application document that you have created.

  2. Use a Web browser to navigate to plugin-check.html.

    The page then redirects to launch.html.

  3. Click the required application or its corresponding logo on the page. A security dialog box might appear requesting to run the application. If so, allow the application to run.

    The application buffers and then launches.

  • The application configuration file is cached by the plug-in for up to 15 minutes. If the application configuration is changed, it is best to restart the ZAV plug-in (select Start > All Programs > Startup > ZENworks Application Virtualization Sandbox Manager) before retesting.

  • To register the streamed applications to a local machine, modify the OnRunClick function to send the value true instead of false.

    For example, to attempt launching a configuration file called ie8.xml in the config folder and then register the application to the desktop.

    <a href="#" onclick="OnRunClick('ie8', true);return false;">

  • If the application is registered by using the ZAV plug-in manager, you can access the application offline.

Troubleshooting an Application That Fails to Buffer

The DebugView tool from Microsoft generates the logging information output from the ZAV plug-in. Use the following steps to obtain, configure, and use the tool.

  1. Download the DebugView tool from the Microsoft Web site.

  2. Run the debug tool (dbgview.exe) to immediately start capturing the debug output.

  3. In HKEY_CURRENT_USER\Software\Code Systems\Spoon of the Windows registry, create the TraceLevel value and add Debug as a new String value.

  4. On the Windows desktop, select Start > All Programs > Startup > ZENworks Application Virtualization Sandbox Manager to restart the ZAV plug-in.

  5. Navigate to launch.html.

  6. Inspect the DebugView output for possible errors in the application configuration file.