Symantec Workspace Streaming (SWS) is an ideal tool for user based provisioning. It is a key component in virtualization strategies that focus on freeing users from specific devices, giving them access to their applications from any device.
While this is the primary use of SWS, I often run in to customers who are implementing streaming in conjunction with a VDI initiative. In the environments I have been involved with, the customer spins up a number of VM session that just sit there for users to access, avoiding the boot process on initial connection.
These users would like to stream packages down to these VM's prior to user login. This will eliminate the start-up penalty associated with launching an application for the first time that has not yet been streamed to the local cache. With a couple of minor updates to the VDI image registry, pre-provisioning of the package can be accomplished.
User Configuration
To make the applications stream to the VM's we are going to use a generic user account. If you are using Active Directory or LDAP, you will either need to create a user in the directory, or determine a generic user account that will be used to stream the applications to the VDI sessions. The Symantec Workspace Streaming agent will use this account on boot up to look for packages that should be streamed to the machine. In this example we will be using SWSUser as the generic account.
Package Configuration
Symantec Workspace Streaming provides a number of option as to how packages can be delivered to users. In the case of a VDI implementation, we need to update the package configurations to allow the packages to stream down to the computer as soon as the session starts, which will be at system boot time.
To do this select the package that you want to stream down automatically and click on the link to that application. Note: You don't want to click the plus.
Once you have the application open, set the Options on the packages to be as follows:
Provision the Package
Now that the package is ready to go all we need to do is provision it to our generic user. It is possible to put the generic user in a group, and provision the package that way, but it is considered best practice to control this process through a single user. To do this click on the Provision tab, and enter the generic user name in the search box.
Once the user is selected click the provision button.
and assign the package to the generic user.
Client Workstation Configuration
Up to this point, everything has been very standard configuration information. This step is where the "secret sauce" to make this work comes into play.
There is a registry key HKLM\Software\AppStream\AppMgr\Apps\Licenses, with a string (REG_SZ) for AppStreamUser. When we create the base image this value has to be set to our generic user account. When the SWS Streaming agent starts at boot up, it will look to this key to check for provisioned applications. Based on the package options, those packages will be automatically streamed down to the client machine in the background. This registry key needs to be set to our generic user.
Best Practices
It has been our experience that the best candidates for this type of pre-provisioning are core apps that will be used by all user every day, that for some reason have not been included in the base image to either to keep the image smaller and more manageable, or to enable the applications to be managed for metering, licensing, and upgrades.
It should be noted that this configuration does not allow for "user randomization" which we normally experience with Workspace Streaming. Because all of the machines come on line, and start the streaming process at essentially the same time, this configuration will need planning to make sure it operates efficiently. If you plan on implementing this technique, I would encourage you to contact one of the Streaming specialists to assist with the optimal configuration.
Summary
Using the techniques described here you can pre-deploy applications to your VDI environment. This is has the advantage of keeping your non-persistent images as small as possible while providing your end users a very responsive system where applications are complete available when they launch the application.