The SoftGrid Streaming Process

1.1        SoftGrid Streaming Process

The sequences of events that occur when a user runs an application via the SoftGrid® client are as follows:

-          The PRE STREAM scripts are run.

-          The client connects to the SoftGrid® Server.

-          Launch data is streamed from the SoftGrid® Server to the SoftGrid® Client.

-          The POST STREAM scripts are run.

-          The virtual environment is setup.

-          The PRE LAUNCH scripts are run.

-          Application is started.

-          The POST LAUNCH scripts are run.

-          Application is exited by the user.

-          The POST SHUTDOWN scripts are run.

Note that client does not support a SHUTDOWN event with Timing of PRE. The protect attribute specifies if the script runs inside or outside of the virtual environment. The wait attribute specifies if the client waits for the script to finish before proceeding to the next phase. Scripts can be written in any language but their language must be installed locally on the client machine. For example if they are using PERL, the PERL runtime must be locally installed on the client machine. There are two kinds of scripts <SCRIPTBODY> and <HREF>.

 

1.2        <SCRIPTBODY> Examples

 

Example 1: Pre-Launching Command Prompt
 <DEPENDENCY>
        <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE">
<SCRIPTBODY>cmd.exe</SCRIPTBODY>
        </SCRIPT>
</DEPENDENCY>

Example 2: Embedding Batch File Commands within OSD File
 <DEPENDENCY>
        <SCRIPT EVENT="LAUNCH" TIMING="PRE" PROTECT="TRUE" WAIT="TRUE">
<SCRIPTBODY>
net use k: \\\\w2k-pdc\\netlogon\n
CALL k:\\usr-w2k.cmd\n
\\\\sfc-softgrid\\shr\editini.exe c:\\word
word.ini "File Locations" [TempPath] c:\\temp\n

</SCRIPTBODY>
        </SCRIPT>
</DEPENDENCY>

Example 3: Pre-Launching EXE from within the Sequence
 <DEPENDENCY>
        <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE">
<SCRIPTBODY>%SFT_MNT%\\[OfficeXP]\\Office10
proflwiz.exe</SCRIPTBODY>

        </SCRIPT>
</DEPENDENCY>

Example 4: Pre-Launching a Data File (e.g. AVI file) from within the Sequence
<DEPENDENCY>
        <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE">
<SCRIPTBODY>%SFT_MNT%\\App\\Data
Sequencing.avi</SCRIPTBODY>

        </SCRIPT>
</DEPENDENCY>
NOTE: In this example, the sequencing.avi launches the locally installed Media Player.
NOTE: A data file (e.g. sequencing.avi) cannot be specified within the FILENAME entry of the CODEBASE tag as shown below.
             <CODEBASE
FILENAME="App\Data\Sequencing.avi"
                SYSGUARDFILE="App\osguard.cp"
                HREF="rtsp://softgrid:554/app.sft"
                GUID="A2A6D95E-8898-41C0-8020-797B23A1E917"
                SIZE="33363442"/>

Example 5: Pre-Launching a Control Panel Applet within the Sequence
<DEPENDENCY>
        <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE">
<SCRIPTBODY>%SFT_MNT%\\App\\CPL
SYSDM.CPL</SCRIPTBODY>

        </SCRIPT>
</DEPENDENCY>

Example 5a
<DEPENDENCY>
        <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE">
                <SCRIPTBODY>
"C:
Program Files
Common Files\\System\\Mapi\\1033
mlcfg32.cpl"

                </SCRIPTBODY>
        </SCRIPT>
</DEPENDENCY>

 

1.3        <HREF> Examples

Example 1 - Accessing local application
<DEPENDENCY>
        <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE">
<HREF>c:\winnt\system32\cmd.exe</HREF>
        </SCRIPT>
</DEPENDENCY>
Example 1a - Accessing Batch File via UNC
<DEPENDENCY>
        <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE">
<HREF>\\SRV_NAME\NT_SHR\PRE_SCRIPT.CMD</HREF>
        </SCRIPT>
</DEPENDENCY>
NOTE: HREF tag cannot be used with %SFT_MNT% or to launch EXE from within virtual environment.

 

1.4        <PARAMETERS> Examples

NOTE: The PARAMETERS tag will not support environment variables (e.g. %SFT_MNT%).

Example 1 - Generic Example
<CODEBASE
FILENAME="\ABCD\EXECUTE\Z_RUN.EXE"
PARAMETERS=" FORM=MRF01 LANG=ENG ZENV=X_POINT_CHAR"
                SYSGUARDFILE="ACBS\osguard.cp"
                HREF="rtsp://hercules:554/ACBS_V2.sft"
                GUID="BD9AF94E-4A8E-415D-B57F-54A454911FAA"
                SIZE="648019522"/>

Example 2 - Launching Data File via a Relative Path
<CODEBASE
FILENAME="App\[WordEditor]\wordpad.exe"
PARAMETERS=" ..\Data\cli.doc"
                SYSGUARDFILE="App\osguard.cp"
                HREF="rtsp://softgrid:554/app.sft"
                GUID="A2A6D95E-8898-41C0-8020-797B23A1E917"
                SIZE="33363442"/>
NOTE: '..\Data\cli.doc' is located in the following location within the sequence:
%SFT_MNT%\App\Data\cli.doc

Example 3 - Launching a Data File via an Absolute Path
<CODEBASE
FILENAME="App\[WordEditor]\wordpad.exe"
PARAMETERS=" Q:\App\Data\cli.doc"
                SYSGUARDFILE="App\osguard.cp"
                HREF="rtsp://softgrid:554/app.sft"
                GUID="A2A6D95E-8898-41C0-8020-797B23A1E917"
                SIZE="33363442"/>
NOTE: This example assumes that the SoftGrid Client Virtual Drive is Q: (e.g. Q:\App\Data\Cli.doc).

 

1.5        <WORKINGDIR> Examples - Specifying a Working Directory

 

Example 1 - Generic Example
     <IMPLEMENTATION>
<WORKINGDIR>C:\temp</WORKINGDIR>
                <CODEBASE HREF="rtsp://ds1-soft1:554/np_ecj.sft?Customer=Sequencer"
                        FILENAME="np_ecj\notepad.exe" PARAMETERS="cjm.txt"
                        GUID="D47C0A23-32CF-11D6-990A-00A0CC6413D5"/>
                <OS VALUE="[WinXP]"/>
     </IMPLENENTATION>

Example 2 - Long File Name Example
     <IMPLEMENTATION>
<WORKINGDIR>C:\program files\internet explorer</WORKINGDIR>
                <CODEBASE HREF="rtsp://ds1-soft1:554/np_ecj.sft?Customer=Sequencer"
                        FILENAME="np_ecj\notepad.exe" PARAMETERS="cjm.txt"
                        GUID="D47C0A23-32CF-11D6-990A-00A0CC6413D5"/>
                <OS VALUE="[WinXP]"/>
     </IMPLENENTATION>

Example 3 - Example with Variable
     <IMPLEMENTATION>
<WORKINGDIR>%SFT_MNT%\App\Data</WORKINGDIR>
                <CODEBASE HREF="rtsp://ds1-soft1:554/np_ecj.sft?Customer=Sequencer"
                        FILENAME="np_ecj\notepad.exe" PARAMETERS="cjm.txt"
                        GUID="D47C0A23-32CF-11D6-990A-00A0CC6413D5"/>
                <OS VALUE="[WinXP]"/>
     </IMPLENENTATION>

 

1.6        <REGISTRY> Examples - Registry Customizations

     <IMPLEMENTATION>
              <CODEBASE  ... />
              <VIRTUALENV>
<REGISTRY>
<REGKEY HIVE="HKLM" KEY="Software\Test">
<REGVALUE REGTYPE="REG_SZ" NAME="string">Holas</REGVALUE>
<REGVALUE REGTYPE="REG_DWORD" NAME="dword">5051</REGVALUE>
<REGVALUE REGTYPE="REG_BINARY" NAME="hex">50,51,52</REGVALUE>
<REGVALUE REGTYPE="REG_SZ">Value of Default Key</REGVALUE>
</REGKEY>
</REGISTRY>
              </VIRTUALENV>
     </IMPLENENTATION>

 

1.7        Launching Local Applications

NOTE: The PARAMETERS tag will not support environment variables (e.g. %SFT_MNT%).

Example 2 - Launching Application that is local (not part of the Sequence)
<CODEBASE
FILENAME="C:\Program Files\Internet Explorer\iexplore.exe"
                SYSGUARDFILE="App\osguard.cp"
                HREF="rtsp://softgrid:554/app.sft"
                GUID="A2A6D95E-8898-41C0-8020-797B23A1E917"
                SIZE="33363442"/>
                <VM VALUE="Win32">
                        <SUBSYSTEM VALUE="Windows"/>
                </VM>
<CODEBASE
FILENAME=" C:\Program Files\Windows Media Player\wmplayer.exe"
PARAMETERS=" q:\app\data\sequencing.avi"
        SYSGUARDFILE="App\osguard.cp"
        HREF="rtsp://softgrid:554/app.sft"
        GUID="A2A6D95E-8898-41C0-8020-797B23A1E917"
        SIZE="33363442"/>
        <VM VALUE="Win32">
                <SUBSYSTEM VALUE="Windows"/>
        </VM>
NOTE: C:\Program Files\Windows Media Player\wmplayer.exe is a local application.

 

1.8        Multiple Operating System Support

<SOFTPKG>
<IMPLEMENTATION>
                <DEPENDENCY>
                        <SCRIPT EVENT="LAUNCH" TIMING="PRE" PROTECT="TRUE" WAIT="TRUE">
                                <SCRIPTBODY>cmd.exe</SCRIPTBODY>
                        </SCRIPT>
                </DEPENDENCY>
                <CODEBASE
                        FILENAME="[OfficeXP]\Office10\WINWORD.EXE"
                        SYSGUARDFILE="[OfficeXP]\osguard.cp"
                        HREF="rtsp://softgrid:554/[OfficeXP].sft"
                        GUID="5963F393-B7F0-47E5-8646-40FC6E80271A"
                        SIZE="484727932"/>
                <VM VALUE="Win32">
<SUBSYSTEM VALUE="windows"/>
                </VM>
                <OS VALUE="Win2K"/>
</IMPLEMENTATION>
<IMPLEMENTATION>
                <CODEBASE
                        FILENAME="[OfficeXP]\Office10\EXCEL.EXE"
                        SYSGUARDFILE="[OfficeXP]\osguard.cp"
                        HREF="rtsp://softgrid:554/[OfficeXP].sft"
                        GUID="5963F393-B7F0-47E5-8646-40FC6E80271A"
                        SIZE="484727932"/>
                <VM VALUE="Win32">
                        <SUBSYSTEM>Windows</SUBSYSTEM>
                </VM>
                <OS VALUE="[WinXP]"/>
</IMPLEMENTATION>
</SOFTPKG>

 

1.9        Launching Application via Non-Default Provider Policy

<CODEBASE
FILENAME="Photoshp\Photoshop.exe"
SYSGUARDFILE="Photoshp\osguard.cp"
HREF="rtsp://sgserver:554/adobephotoshop70.sft*?Customer=Sales*"
GUID="FE72DDCD-6E80-4ABE-8E82-8208A134CB34"
SIZE="178299260"/>

 

1.10    Running an Application as a CONSOLE application

                <CODEBASE
                        FILENAME="[OfficeXP]\Office10\EXCEL.EXE"
                        SYSGUARDFILE="[OfficeXP]\osguard.cp"
                        HREF="rtsp://softgrid:554/[OfficeXP].sft"
                        GUID="5963F393-B7F0-47E5-8646-40FC6E80271A"
                        SIZE="484727932"/>
                <VM VALUE="Win32">
<SUBSYSTEM VALUE="console"/>
                </VM>