Video Screencast Help

Workspace Streaming Agent Silent Install

Created: 15 Jun 2009 • Updated: 29 Jul 2010 | 10 comments
Language Translations
Gene Kupfer's picture
+6 6 Votes
Login to vote

So far I discussed some high level info about the Symantec Workspace products. Yet I have barely touched the tip of the iceberg in terms of how vast the "virtualization" industry is. Just with application streaming and virtualization alone, you can cover most if not all desktops out there.

Virtualization provides a tool for creating efficient deployable application layers that can also be isolated to keep a completely pristine environment. When you couple this together with application streaming you are with this single step now creating a complete solution for delivering traditional Windows based applications on-demand into anything that looks and acts like a Windows desktop.

This is not limited to the traditional desktop either. While that is probably the larger percentage of endpoints today, eventually we will see this shift to the hypervisor and VDI solutions. The options are vast, Type 2 hypervisors such as Parallels Workstation or VMware Fusion, running Windows on Mac OS or any virtual desktop solution like Symantec Workspace Corporate or XenDesktop from Citrix, irrespective of this being inside the enterprise or the cloud. Really any place, any time, you can deliver applications as needed.

But first we need to enable our endpoints with the streaming capability. While thinking about all this I wanted to write about something that is a bit more detailed, but yet very relevant. Something that can apply regardless of deployment to VDI, VHD, thin-client, in the cloud or the traditional desktop. Yet deployment can become a nightmare if your options are confusing at best, and everyone wants to be as efficient as possible.

With this in mind I thought that a good area to write about is the streaming agent, which is a common piece in the streaming plus virtualization environment, that will enable our endpoints to take advantage of streaming and provide our end users with a much more efficient, virtualized, yet seamless "desktop" experience.

You know, I've been in the technology industry for many years and have had the pleasure of working with many different products, and the one thing that seems to me always lacked good instruction has been silent installation. I remember in my early days, (I'm really not -that- old), when I wanted to put together a silent install for some application, and reading the instructions made me want to shoot myself. By the time I was done with the answer file I wished someone could have given it to me in a more direct manner. Why should I have to spend so much time configuring something that shouldn't be so complicated when there is someone out there that can give me the facts and tell me where to plug in my details. So that brought me to this article and I hope that you will find it useful and it will bring some benefit to your respective needs.

Before I delve into the heart of the silent install of the streaming agent, let's just look at the acronyms I'll be using.

Acronyms

  • STE: Streamlet Engine
  • STS: Streaming Server
  • LS: Launch Server
  • FE: Front-end
  • MSI: Microsoft Installer
  • MST: Transform
  • AD: Active Directory
  • GPO: Group Policy Object

Silent install options

  1. Using the "setup.exe" wrapper.
  2. Using the "AppStream Technology Windows Edition Client.msi" installer.
  3. Customized MSI or using a transform (MST).
  4. Default configuration with settings import through .reg.

The streaming agent can also be deployed via GPO, but given the amount of information I'm already trying to relay in this article, I thought I'd save it for another day in order to keep things clean.

Prior to deployment make sure you have the following version of the install shield engine installed. (ISScript10.msi). You can get this and the streaming agent MSI installer from START->Run->Type %temp% ->Click OK, after running "setup.exe". You can exit out of the installer after you grab the files you need. The setup.exe is basically a wrapper. As you will see shortly, the silent install command line is pretty much the same thing used for both the .EXE and the .MSI.

.EXE (Fig. A)

setup.exe /S /v" /qn SILENT_ERROR_NOTIFY=0 REBOOT=ReallySuppress FROM_LAUNCHER=1 CURRENT_DIR=C:\installs\config SILENT_REBOOT_NOTIFY=FALSE APPSTREAM_STS_SERVER=STShostName APPSTREAM_STS_SERVER_PORT=80 APPSTREAM_LAUNCH_SERVER_URL=http://LaunchServerHostName

Fig. A

.MSI (Fig. B)

Msiexec /qb!- /i "AppStream Technology Windows Edition Client.msi" SILENT_ERROR_NOTIFY=0 REBOOT=ReallySuppress FROM_LAUNCHER=1 CURRENT_DIR=C:\installs\config SILENT_REBOOT_NOTIFY=FALSE APPSTREAM_STS_SERVER=STShostName APPSTREAM_STS_SERVER_PORT=80 APPSTREAM_LAUNCH_SERVER_URL=http://LaunchServerHostName

To use a transform for the MSI, just specify the path to your MST file in the command line.

  • Msiexec /qb!- /i "AppStream Technology Windows Edition Client.msi" TRANSFORMS="Path\To\MSTfile.mst"

Fig. B

The following command line variables will need to be modified to match your environment:

  1. CURRENT_DIR=C:\installs\config indicates the location of the AppstreamCfg.txt. If you want to deploy a customized configuration file, this will be the directory where the installer will look for this file. If you aren't making any client customization changes and the default configuration is acceptable, simply omit this part from the command line and the default configuration will be applied.
  2. APPSTREAM_STS_SERVER=STSHostName indicates the host name of your STS server. If you recall in my last article (Workspace Streaming Server Primer), I discussed the various deployment types for streaming. This becomes important here because it can be different depending on your deployment. It will be the same host name as the streaming server if it's single-node. It will be the host name of the front-end if it's multi-node and can be different host names if you have multiple front-ends. So you can have a different command line for deployment for different locations.
  3. APPSTREAM_STS_SERVER_PORT=80 indicates the HTTP port of your streaming server. Even if you installed using the default port, 80, you still need to indicate it here.
  4. APPSTREAM_LAUNCH_SERVER_URL=http://LaunchServerHostName:80 indicates the host name of your launch server including the port, which will be the same host name as your STS host. (STS + LS = FE). See Workspace Streaming Server Primer
    • This will also populate the portals key which is responsible for providing a URL to the "Portal" button located on the streaming agent GUI. This key will automatically generate the first time the streaming agent GUI is launched after install. If the host indicated in this value is not accessible at this time and/or the STE is down, the key will NOT auto-generate with the URL.

Silent install with LS, STS and STS Port configured using a .reg import

Whichever way you choose to deploy the client, you can, if so desired import the host names of your STS and LS server, as well as the STS port number directly into your registry. Just leave those out of the command line.

After deploying the streaming agent, you will need to update the Licenses and Portals registry keys.

As you can see in Fig. C, those three entries are located in HKLM-->Software-->AppStream-->AppMgr-->Apps-->Licenses

Fig. C

The simplest thing to do is right click the top level key that you want to import to other machines and select export from the context menu. Save the file with a descriptive name so that it's easy to identify.

If you edit this file, the contents should look similar to the following (host name(s) changed as needed):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\AppStream\AppMgr\Apps\Licenses]
"InstallServerPort"=dword:00000050
"InstallServerName"="STShostName"
"InstallWebPageURL"="http://LaunchServerHostName"

Since the streaming agent records the LS URL you will also need to add the LS address under the key, HKLM-->Software-->AppStream-->AppMgr-->Portals (Fig. D). You can either manually add this into the previous .reg file or add it in the registry, export the key as before and then copy/paste that portion into the .reg you will deploy. If deploying using this method, you will not need to consider the availability check of the LS and the STE as indicated earlier when this is passed via command line.

Fig. D

When all is said and done, your final .reg file should look similar to the following:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\AppStream\AppMgr\Apps\Licenses]
"InstallServerPort"=dword:00000050
"InstallServerName"="STShostName"
"InstallWebPageURL"="http://LaunchServerHostName"
[HKEY_LOCAL_MACHINE\SOFTWARE\AppStream\AppMgr\Portals]
"1"="http://LaunchServerHostName"

  • "InstallServerPort" is a HEX value. You will need to convert your HTTP port to HEX if you customize this variable. The current HEX value of "50" is the decimal value of "80". Which is the standard HTTP port. If you have a different port you will need to Google a decimal to HEX converter. So if I have a non-standard HTTP port of 8080, I would enter that as my decimal and the conversion will give me "1F90". Now that variable will be, "00001f90". If I was entering this directly into the Registry, I would only type in the HEX value, omitting the leading zeros.
  • Or to make life easier, you can just toggle the edit dialog to use “decimal” and enter the actual port number.

You can import this file by simply double-clicking, but that's not what you need. You are going to push this to multiple endpoints so it should be able to import silently, and immediately following the installation of the streaming agent. With this approach your command line now looks like this:

setup.exe /S /v" /qn SILENT_ERROR_NOTIFY=0 REBOOT=ReallySuppress FROM_LAUNCHER=1 SILENT_REBOOT_NOTIFY=FALSE

Msiexec /qb!- /i "AppStream Technology Windows Edition Client.msi" SILENT_ERROR_NOTIFY=0 REBOOT=ReallySuppress SILENT_REBOOT_NOTIFY=FALSE

Finally, you will need to configure a script to run after the agent install completes, containing the following command line:

regedit.exe /s c:\Path\To\RegFile.reg

Customizing your MSI or creating an MST

You can customize the MSI logic by modifying the following values in the Property tables of the MSI installer. Fig. E.

Fig. E

There are some really great tools out there for customizing MSI logic. One of the top products for working with MSI's is Wise Package Studio. Of course, you may prefer some other tool. But whichever means you are using to customize your MSI, you will find that getting familiar with such tools will make life a lot easier.

I do hope the intent of this article was successful and has not served to confuse you more. I tried to simplify this to the point where it doesn't require much effort to configure and deploy the streaming agent silently. Again, this deployment can be applied to any environment ranging from standard desktops to virtual desktops to hosted operating systems.

If you did not see something in this article that you think is important and should be there, throw it at me and I will add to the article. Is anything here not clear or confusing... let me know and I will answer, try to answer, every question. I hope you don't mind that I changed "will" to "try" given that it may actually be physically impossible for one person to field hundreds of questions in a reasonable period of time.

 

Comments 10 CommentsJump to latest comment

cyclone's picture

I have used Wise Package Studio for customizing MSI logic, I found it has some bugs but it is the best there is. Also thanks for a well laid out tutorial here much appreciated.

Paul J Collins
Bachelor App Tech
paul_jay12@y7mail.com

0
Login to vote
Pascal KOTTE's picture

eg.

SEVAgents_x64.exe SetupCfg.txt /s

here the default sample answer file from Symantec: (6.3 mp1hf1 = 6.3.1.64.27820)

; ################################################################################
;# SetupCfg.txt for the common installer.   This file can be used as a template
;# of the default options that the Common Installer uses when installing both
;# the Streaming and Virtualization agents.   
;#
;# USAGE of this file:
;#    SEVAgents.exe SEV.CFG={DRIVE}:\PathTConfigFile\SetupCfg.txt
;#

;Indicate commoninstaller mode
commoninstaller = true

; *********************************************************************************
;                  Virtualization Installation Command line Options
; *********************************************************************************

; ******************************************************
; Install the Virutalization Administration tool (GUI)
; GUI Admin Tool for SWV.   
; if this is not included, all control for virtualization
; is done through the command line utilities.
;SWV.ADDLOCAL=SVS_Admin

; ******************************************************
; Install the Virtualization SDK
; Documentation, Libraries, Headers and sample code
; for Developing Symantec Workspace Virtualization tools/apps.
;SWV.ADDLOCAL=SDK

; ******************************************************
; Altiris Notification Server Install
; For now this is always '0', when SWV is installed as a
; 'SOFTWARE SOLUTION' this will be set to '1'.
;SWV.ADDLOCAL=Altiris_NS

; ******************************************************
; Install all the features
;SWV.ADDLOCAL=SVS_Admin,SDK,Altiris_NS

; ******************************************************
; specifiy A different installation directory than the default:
; Default "%DRIVE%:\Program Files\Symantec\Workspace Virtualization"
; SWV.INSTALLDIR="C:\Program Files\Alt Symantec Workspace Virtualization"

; ******************************************************
; specifiy A different Virtualization "redirect" directory.
; Default: "%DRIVE%:\fslrdr"
; this is the (hidden/system) directory that Layer data is placed.
; WARNING NOTE: If this option is used, it MUST NOT BE A NUMERIC VALUE (i.e. C:\123)
;               and is recommended to be 6 charactersin length.
;               Generally this is used to relocate the default directory to a
;               different drive (i.e. D:\fslrdr)
; SWV.DEFAULT_FILE_REDIR="C:\fslrdr"

; *********************************************************************************
;                  Streaming Installation Command line Options
; *********************************************************************************

; ******************************************************
; Setting streaming agent cache. Longer cache path will cause permance degrade so ensure that the given path is a small one.
; SWS.CACHE=C:\_AC
;       

;*******************************************************
; Setting installation folder
; SWS.BIN=C:\Streaming

;*******************************************************
; Setting Streaming server url. If you installed your server using ip then specify the ip address or specify the server name
; SWS.STS_SERVER=10.223.9.75

;*******************************************************
; Setting Streaming server port. Specify the port number in which client can communicate to server.
; Default port number is 80
; SWS.STS_SERVER_PORT=8080

;*******************************************************
; Specify streaming server user name. This username will be used for package and icon prepopulation
; SWS.USER_NAME=testuser

;*******************************************************
; Specify streaming server launch page url
; SWS.LAUNCH_SERVER_URL=http://10.223.9.75

;*******************************************************
; Specify proxy setting for streaming agent. Default proxy usage will be according to the IE browser settings.
; if you want to use direct called not using proxy.
; SWS.PROXY_USAGE = BROWSER
; SWS.PROXY_USAGE = NO
 

~Pascal @ Kotte.net~ Do you speak French? Et utilisez Altiris: venez nous rejoindre sur le GUASF

0
Login to vote
sre94's picture

I have had Wise Package Studio for a while.  It does so many things it would take me all day to describe all of them.  My favorite feature is the software manager

0
Login to vote
John Macarthur's picture

We've using the Wise Package Studio at work to automate our software installation. We've looked at Altiris (which is now owned by you guys) but it was too expensive and work didnt have the budget. At least with Wise, it saved us some time.

John Macarthur

0
Login to vote
Pascal KOTTE's picture

is there any option to change the install log from going on C:\ ?

~Pascal @ Kotte.net~ Do you speak French? Et utilisez Altiris: venez nous rejoindre sur le GUASF

0
Login to vote
christinetaylor448's picture

Hi There,

I am interested in using Wise Package. However, how much does it cost?

Regards,

Christine

0
Login to vote
Martha11's picture

I´m using Wise Package Studio and I think it´s a great tool. Recommend to everybody!

0
Login to vote
sujmam's picture

So, How much is the Package. Anyone?

Cheers,

Steve

0
Login to vote
Palvaran's picture

It averages at 2k a user license.

Systems Administrator
Rice University

Remember, "The happiness of your life, depends on the quality of your thoughts."

0
Login to vote
beryl's picture

We use Wise Package to manage all the apps on our server, makes life a whole lot easier.

 

Mike

mike_sap@hp7mail.com

0
Login to vote