SoftGrid Operations Guide – Part 1

So Brian has been writing this guide and updating it for some time! He has put a lot of work into the document and finally it was decided to post it to the SoftGrid Product Team Blog.

Brian Kelly, one of our top gun SoftGrid tech guru's, recently put together a really cool SoftGrid operations guide that covers day-to-day procedures for managing and operating the SoftGrid infrastructure.  Well, I guess technically it would now be a Microsoft Application Virtualization operations guide but breaking us of the 'SoftGrid' habit is going to be a slow, difficult process.  Anyway, it's not one of those "official" type Microsoft docs so it's not out on the web anywhere but there's some good information in here that I think you'll find helpful.  It's too big to post in a single shot so I'll break it up into two parts, one today and one tomorrow.  Here's part 1:


1 Introduction

This document is a draft for a SoftGrid Operations Guide for the Microsoft Virtual Application infrastructure. It provides day-to-day procedures for managing and operating the SoftGrid infrastructure.

2 Application Management Procedures

This section provides procedures for application packaging, deployment and updates.

2.1 Candidates for Virtualization

Thousands of applications have been sequenced so it is likely that your applications can be sequenced. However, some traits in an application can make it unsuitable or unable to be completely virtualized.  For SoftGrid 4.1/4.2 these traits include:

· Applications that install and rely on a system-level driver, i.e. an application that installs a print driver or a USB device driver. It may be possible to separate and install, the driver portion of this application locally on the client system, allowing the other components of the application to be virtualized.

· Applications that install boot-time services.

· Applications that use COM+.

· Applications that require MAPI virtualization. For information on SoftGrid and Microsoft Office, see the following article:
939796 Prescriptive guidance for sequencing 2007 Office programs in Microsoft SoftGrid;EN-US;939796

· Applications that use COM DLL surrogate virtualization, i.e. DLL’s that run in Dllhost.exe.

· Applications with licensing enforcement tied to the machine, e.g. the license is tied to the system’s MAC address. Branding may need to be done on each client.

It may still be possible to virtualize such applications if these components can be extracted and installed locally. We recommend you test the applications thoroughly to ensure they meet the expected level of functionality.

2.2 Microsoft Virtual Application Support Policies

Description of the support policy for versions of Office that are running in SoftGrid Application Virtualization

The support policy for third-party applications that run in a SoftGrid Application Virtualization environment

Support policy for Microsoft programs that are running in a third-party application or software redirection program or in a third-party application or software virtualization environment

Information about SoftGrid support for non-English-based configurations:;EN-US;935684

2.3 Sequence a New Application

Sequencing best practices should always be followed and are documented in KB 932137:

Advanced guidance on sequencing can be found in the article Sequencing Guide posted on

It is also highly recommended to keep searchable recipes to store the details of each package to facilitate management and upgrades.

2.4 Publish an Application

For general guidance on publishing applications, please see SoftGrid Platform Administration Guide ( The following section describes additional guidelines.

2.4.1 Validate the information in the package files before publishing the application.

If possible, perform these checks before placing the package in the master content repository to prevent wasted replication cycles. It is also beneficial to verify before publishing the package in the SoftGrid Management Console. For more information on content replication, see Section 4.4

1. Inspect the OSD file(s) in the application package to be published and verify the HREF, OS VALUE, NAME and VERSION tags.

HREF: Verify that the SoftGrid server hostname and <relative path to SFT file> portions of the HREF path are valid in your target environment. Hostname is resolved at stream time by the SoftGrid client to locate the SoftGrid server. A specific hostname, FQDN or an environment variable can be used to resolve to a single server or a load balanced farm. The <relative path to SFT file> is the relative path under the Content repository in which the package directory is located.

HREF="rtsp://Hostname:554/<relative path to SFT file>"

Below is an example of an HREF tag for an actual application where the client has an environment variable set %SFT_SOFTGRIDSERVER%=Sgserver.corp.msft and the package files are located in .\Content\TextPad_Helios_473_MNT\:

HREF="rtsp://%SFT_SOFTGRIDSERVER%:554/TextPad_Helios_473_MNT/ TextPad_Helios_473_MNT.sft"

Note: The SoftGrid client installer does not set the environment variable %SFT_SOFTGRIDSERVER%. If you choose to use this method, the variable can be set through GPO or a login script.

NAME and VERSION: Verify these values as they will be used to identify the application in the SoftGrid database and on the SoftGrid client. The NAME value will be the display name of the published icon. The combination of NAME+VERSION must be unique in the SoftGrid database.


OS VALUE: Verify that the list of target operating systems is correct. Application advertisements will only be delivered if the SoftGrid client’s operating system matches one in the list or if all the OS VALUE tags are removed.

<OS VALUE="Win2K"/>
<OS VALUE="Win2KSvr"/>
<OS VALUE="Win2003Svr"/>
<OS VALUE="Win2003TS"/>
<OS VALUE="WinVista"/>

2. Inspect the SPRJ file and verify the <SHORTCUT Path> tag(s) point to the correct names of the OSD file(s) in the package.

<SHORTCUT Path="TextPad_4.0.7.3.osd"/>

Note: A third party reference for many of the OSD tags can be found here:

2.4.2 Create a Security Group to Provision the New Application Package

Microsoft recommends the following articles on Active Directory group management:

Active Directory Best Practice for Global Group Names and Conventions

Group Type and Scope Usage in Windows;EN-US;231273

To ease management of the SoftGrid environment, create a specific Organization Unit for groups used in SoftGrid provisioning. For example, OU=SoftGrid Applications. This makes it easier to locate these groups and to delegate their management. It is also beneficial to add a prefix to identify virtual application groups. For example, a group named VAPP_TextPad_v4.

In addition, to reduce provisioning administration, create based on roles, which can be added to the application groups. For example, role_Helpdesk and role_InfoWorker could be added to VAPP_TextPad_v4.

2.4.3 Publish the Application Package via the SoftGrid Management Console

Verify that the Default Content location has been set properly (i.e. \\%SFT_SOFTGRIDSERVER%\Content or \\\Content). The Default Content property is set in the System Options of the SoftGrid Management Console. This path should be resolvable to all clients. As mentioned at the beginning of this section, SoftGrid Platform Administration Guide details the publishing steps.

2.5 Application Testing

Microsoft recommends creating a test environment to verify the functionality of the virtual application.

· Install a SoftGrid Virtual Application Server and a SoftGrid Client in a test domain. If this is not possible, create test accounts (i.e. SG-TestUser and SG-TestGroup).

· Deploy the application and test the functionality. An application subject matter expert or a power user should thoroughly test the application.

· Functionality tests should be performed on each operating system to which you will deploy the application. If your environment is not standardized on a single virtual drive letter, i.e. Q:, then test deployment on each additional drive letter as well.

· Record the application test results.

2.6 Publish Application in a Citrix Environment

To deliver applications to clients, Citrix can publish a standard desktop or it can publish individual applications (Seamless Windows). When publishing a standard desktop to Citrix (or to Terminal Server) clients, no special SoftGrid specific steps are required. When clients log into their desktop session they receive the file associations and shortcuts just as they would on the SoftGrid desktop client. However, extra steps are may be required when publishing seamless window applications. The following Microsoft SoftGrid knowledge base article describes how to publish SoftGrid-enabled applications in Citrix Environments:

However, the steps discussed in this article do not include the configuration of file associations on the Citrix client when applications are published in a seamless window.. In order to deliver the File Associations registered by SoftGrid applications, follow the steps below.

1. Logon to the Citrix server with the SoftGrid client installed. Your account needs permissions to all the SoftGrid applications.

2. Open the SoftGrid Client Console and go to the File Types Associations node.

3. Create a New Association for each file type desired. Check the "Apply this file type to all users" check box. Note: It must be a new association, this option is disabled when editing.

4. Close the SoftGrid Client Console and open the Citrix Management Console.

5. Go to the servers’ container in the Citrix Management Console, right-click the same server and choose "Update File Types from Registry" from the context menu.

6. Create a new published application.
a. Name it to the desired application name.
b. Set the "Command Line" to “<insert path here>\sfttray.exe”.
c. Change the Icon to the correct one using a UNC path to the content directory.
d. Check the appropriate File Type Associations.
e. Finish the publishing procedure.
f. Open the properties of the new application and add the path to the OSD file as a parameter to the command line i.e. sftray.exe \\server\content\TextPad_v4_MNT\TextPad4.osd.

7. From a client with the PN Agent installed, refresh your Citrix applications.

8. Verify that documents associated to the new application have the correct icon.

9. Verify the application can be launched directly and through document invocation.

2.7 Application Updates

Throughout the lifecycle of an application, applications may need to be updated. It is important to understand the options available when updating an application, and when to use the different options. For detailed steps on performing an update on the sequencing workstation, see the Sequencing Guide also posted on

2.7.1 Package Update Methods

There are three methods to update a virtual application: Active Upgrade

In an Active Upgrade a new SFT file that includes the application updates is deployed to the SoftGrid server. This is recommended for updates and service packs rather than for moving to new major versions.

Reasons to use:

· Maintains user and machine customizations for the application.

· Bandwidth requirements are reduced as only the deltas of the SFT file are streamed to the client.

· Upgrade process is seamless to users

· Update is Immediately available on next application launch.

· Straightforward publishing process.

Reasons not to use:

· Does not allow side-by-side existence with the original package. It is a mandatory upgrade for all users.

· New version cannot be provisioned to users separately than original package.

· For major version updates, this method is not recommended.


· Do not change the application name (i.e. from Acrobat 6 to Acrobat 6.1) as this will skew reporting results.

· It can be difficult to know when a older version is no longer in use, particularly on a terminal Server. It is recommended to bounce the servers one by one in the farm to break connections. To confirm that a new version is in use on a client, add the “Package Version” column to the display of the Applications node in the SoftGrid Client console.

· When performing an Active Upgrade, you will copy *all* the files up to the package directory in the content repository.. This will cause the current version of OSD, ICO and SPRJ files to be overwritten. As such, it is recommended to archive the package before uploading the new package folder in case of the need to rollback any of the files.

· Be aware that the new SFT is usually at least as large as the original and will need to replicate throughout the enterprise content stores before using the SoftGrid Management Console to add the new version. Re-sequence

With this method, the package is re-sequenced from scratch rather than upgrading the original SFT. Using the recipe created for the original package as a guide, add any changes or apply any updates as needed.

Reasons to use:

· This results in the cleaner more efficient sequence.

· Easy to avoid unique value conflicts.

· The upgraded application can be run side-by-side with the original application.

· The upgrade can be provisioned to specific users.

· Straight forward upgrade process.

Reasons not to use:

· Does not retain the user and machine customizations.

· If the first sequence is not properly documented, the package may be difficult to reproduce.

· May be time consuming to re-sequence.


A re-sequence is seen as new package on server and client, so it requires unique application and shortcut names, unique package root directory and unique SUITE NAME. Branching

Branching refers to using the Sequencer’s Save As command to create a new package based on the original. Branching creates a new package GUID, SUITE NAME and package root directory. The result is similar to re-sequencing.

Reasons to use:

· Does not need to be re-sequenced from scratch.

· The upgraded application can be run side-by-side with the original application.

· The upgrade can be provisioned to specific users.

· The package will be difficult to reproduce from scratch.

Reasons not to use:

· Due care is needed to follow all the required steps.

· Does not retain the user and machine customizations.

· A major version upgrade is being applied.

3 Client Functionality
3.1 Preload a Single Application on a SoftGrid Client PC

The following procedure describes how to load 100% of the SFT file for a specific application package into cache on a SoftGrid client PC.

1. Open the SoftGrid Client Management Console (e.g., Start à Settings à Control Panel à Administrative Tools à SoftGrid Client Management).

2. Select the Applications object in the left window panel.

3. Right-click on the name of the application that you want to fully load into cache and select Load from the drop-down menu.

4. The Package Status column will indicate that the application is loading. Once the application finishes loading the Package Status column will indicate that the application is Idle (100%) and shown below:

5. This can also be scripted using the following
SFTTAY.EXE /Load “Textpad” (Use the value listed under the Application column in the SoftGrid Client Management Console, which is NAME+VERSION)
SFTMIME LOAD app:”TextPad” The application name is case sensitive

3.2 Preload All Available Applications into cache on a SoftGrid Client PC

The following two methods can be used to trigger the SoftGrid client to automatically pre-load all available applications into the SoftGrid client cache. This is strongly recommended for SoftGrid for Terminal Services client to reduce latency issues.

· Right-click on the SoftGrid Client system tray icon and select “Refresh Applications” and then select “Load Applications”.


· Execute the following command lines on the client PC interactively or in a script:

Sfttray.exe /refreshall
sfttray.exe /loadall

Note: When instructed to load all applications, the SoftGrid client will only load the applications that are provisioned to the currently logged in user. Therefore, scripted load solutions for a Terminal Server need to be executed in the context of a user account with permissions to *all* virtual applications that will be made available.

Comments (2)

  1. Anonymous says:

    As promised, here’s part 2 of Brian Kelly’s SoftGrid Operations Guide: Part 1 can be found here ======

  2. Ron de Gier says:

    Excellent job and very usefull.

Skip to main content