Video Screencast Help
Search Video Help Close Back
to help
New in the Rewards Catalog: Vouchers for "Symantec Technical Specialist" and "Symantec Certified Specialist" exams.

Symantec Workspace Streaming 6.1 – File Extension Association

Updated: 29 Jul 2010
Scot Curry's picture
+12 12 Votes
Login to vote

Symantec Workspace Streaming 6.1 is a great way to provision applications to your users. The applications are delivered efficiently on demand when the user clicks on a shortcut to the application. While this is a great way to associate license consumption with the actual usage of the application, many users have grown accustom to being able to just double click on a file and have the application launch based on the file extension.

Because Workspace Streaming delivers the registry entries on demand, these extension association entries are not populated on the target machine. This article describes how to configure the target machine to stream applications based on file extensions.

This will be automated in a future release of the Workspace Streaming product.

Determining Required Registry Keys

For this example I am going to use Microsoft Visio 2003 as my example application. The standard Visio drawing has an extension of VSD, so I am going to create the registry entries that will allow me stream Visio when a user double clicks on a file with a VSD extension.

The easiest way to determine what keys will be needed to pull this off is to install the application traditionally.

Since I know that I will be using the VSD extension I start by looking in the registry under the HKEY_CLASSES_ROOT registry hive for the .vsd key. The key will look like the following.

Once I have the extension, the default value points me to the Product ID, which in this case is Visio.Drawing.11. Note: you will need to create this key on the target machine.

Navigate to HKEY_CLASSES_ROOT\Visio.Drawing.11 and you will see the following.

Open the key and you will see the following.

Important: You will need to obtain the file that is listed in the default data point for the DefaultIcon key. This is the file that causes Windows to associate and icon with the extension.

The key that actually tells Windows how to open the file is HKEY_CLASSES_ROOT\Visio.Drawing.11\Shell\Open\Command. This is the key that we will modify to cause the streaming agent to kick off the streaming when the user double clicks on a VSD document.

Recap

  1. Find the extension, use the extension to get the Program ID
  2. Navigate to the Program ID for your extension
  3. Look at the DefaultIcon key, and grab a copy of the file.
  4. Note that we will need to create a Shell\Open\Command under the program ID

Creating the Registry Entries to Associate Extension with Workspace Streaming

I have found that the easiest way to create a package with the entries required is to use the following template and replace the appropriate fields.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.vsd]
@="Visio.Drawing.11"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Drawing.11\DefaultIcon]
@="C:\\_AC\\Icons\\visicon.exe,1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Visio.Drawing.11\shell\Open\command]
@="\"C:\\Program Files\\Altiris\\StreamingAgent\\bin\\exeForService.exe\" \"%1\" \"%2\" \"%3\" \"Visio.Drawing.11\" \"Open\""

"AppStream.Launch"="http://svspro-svr:8080/loginServlet?ExeName=\"Program Files\\Microsoft Office\\Visio11\\Visio.EXE\"&CmdLineParams\"%1\"&WorkingDir=\"Program Files\\Microsoft Office\\Visio11\"&ServerParams=1/1&aid=5ce575f8-57da-45b9-b644-d69815eda10d&pid=d8b0d398-c35b-49dd-92fe-f91b5d7b18c5"
"AppStream.Package"="d8b0d398-c35b-49dd-92fe-f91b5d7b18c5"

"AppStream.Title"="Visio2003min_3_XP"

What all this means

The first registry key is the exact replication of what we found for the extension.

The second key is the DefaultIcon key. You will notice that this is changed from the original. We point to the file that we got from the original installation. Because we are going to need to build some sort of script to create these registry entries and deploy the icon file, it will be up to you to put the file in the location specified by the registry key.

The third registry key has four separate data values, the default data, Appstream.Launch data, AppStream.Package data, and AppStream.Title data.

The default value is used to call the streaming agent. You will need to replace the second to last parameter with the Program ID that you found earlier.

The AppStream.Launch data requires the most clarification. The first portion http: //svspro-svr:8080 is the Streaming Server name and port, so this must be modified to match your environment. LoginServlet?ExeName tell the Streaming Server we are going to request an application.

To determine the remaining parameters go to the Workspace Streaming console. Go to the Provisioning section and select Packages. Click the + of the package you want to stream.

Click on the + next to the Version you want to stream, and you will see the application that you want to stream.

Click on the application that you want to stream and you will be presented with Application Details. We need to get a couple of pieces of information off this screen.

"AppStream.Launch"="http://svspro-svr:8080/loginServlet?ExeName=\"Program Files\\Microsoft Office\\Visio11\\Visio.EXE\"&CmdLineParams\"%1\"&WorkingDir=\"Program Files\\Microsoft Office\\Visio11\"&ServerParams=1/1&aid=5ce575f8-57da-45b9-b644-d69815eda10d&pid=d8b0d398-c35b-49dd-92fe-f91b5d7b18c5"

The registry parameter ExeName corresponds to the Executable Path, WorkDir corresponds to Working Directory, use the default of ServerParams=1/1, aid is the Unique Application Id.

To get the last piece of information for this registry key hit the back button to return to the Package screen. Click on the Version link and you will be presented with the Package Version Details.

The final parameter for the AppStream.Launch registry key is the pid which corresponds to the Unique Package Id on the screen above.

The AppStream.Package registry key will contain the Unique Package Id that we just used above.

The AppStream.Title registry key will contain Package Display Title listed above.

Conclusion

You are now left with a registry file and an icon file. You could use a WiseScript to bundle this information up and run it on the target machines that require file association.