SoftGrid 3.1 Sequencing Best Practices (Technically out of date)

General Disclaimer
This is a copy of a document created by Softricity, Inc specifically to provide assistance in sequencing applications using the  system. It was developed for Sequencer v3.1. While it is technically out of date, the material is still relevant and for the most part, correct. Areas of change or difference have been noted in the text.

The contents of this document are subject to change without notice; therefore, the information presented herein shall not be construed as a commitment or warranty. Softricity, Inc. shall not be liable for any errors or omissions contained herein

I. Preface

Sequencees should use the following hierarchy of resources when sequencing an application:

  • If a Recipe (in the Softricity Knowledge Base) exists, the recipe supersedes any other recommendation.
  • The Best Practices (below).
  • The Sequencing Training Class.
  • The Sequencing Training documentation.

 

II. Definitions

A recipe is a document of step-by-step instructions on how to package an application with the sequencer. The recipe is based off a set of step-by-step instructions created while doing a local install of the application in preparation of sequencing the application.

There are two steps where the Sequencee may specify "installation" paths. This document uses the term Installation Directory to refer to the application-specific and application generated dialogue box that asks the installee where to install the application. This occurs early in the Sequencer Installation Phase. The term Asset Directory refers to a Sequencer generated dialogue box that asks where to install the application assets. The box appears as the last part of the Sequencer Installation Phase, although the directory must be created in advance.

The client destination drive, also called the mount point drive is the operating system drive from which the packaged application run. Each application will be mounted on the Client system as Q:\<Asset Directory>, where Q is the typical drive letter. On the sequencer machine you must recreate the client destination drive by using a partition with the same drive letter to sequence.

 

III. Best Practices:

       

1.It is recommended that you familiarize yourself with the installation and execution of the application prior to sequencing. Be sure to read all installation instructions associated with the application. It is also recommended that you learn how the application runs and what components of the application the user will need. To improve the process of sequencing an application, one should document step by step the installation and post-configuration procedures for the application. Step-by-step documentation will insure that no unnecessary troubleshooting occurs during the sequencing process since no important steps will be skipped.

Items to document include:

  • What application components are needed and will be installed?
  • What updates such as adding new files to the package need to be performed in the sequencer after the installation?
  • What post-installation configuration steps need to take place in the sequencer?
  • What do users commonly do with this application immediately after its launch?
  • What file types are associated with this application?
  • Does this application do something that currently does not support? If so, check the Softricity Knowledge Base for the appropriate workaround.

       

2.Always document the sequencing process step-by-step creating a "recipe" using a standardized template. Documenting the sequencing process step-by-step will allow you to hand the recipe to someone inside (or outside) your organization and have them recreate the same package. Step-by-step documentation will insure that no unnecessary troubleshooting occurs since no important steps will be skipped. Softricity provides a sample recipe template that can be downloaded from the Softricity Knowledge Base.

       

3.Use the Comments field in the sequencer (Abstract Tag) to record the version and service pack of the sequencer and operating system along with the date. This will allow you to revisit the sequence later and have a record of this information.

       

4.Always sequence on a Clean Operating System. It is important to sequence an application on a machine with a clean operating system and with no extraneous applications installed. The system should mirror a typical client on which the sequenced applications will run. A client system is defined as a system on which the Client software will run. This can be a windows desktop client or a terminal server. After your sequencing system is setup, it is recommended that you make an image using a disk image product such as Symantec's Norton Ghost?. After each sequencing session you will need to rebuild your sequencing machine or reload with an image. You may need to sequence the application for each target operating system. See FAQ #3.

      

 5.Setup your sequencer machine with multiple partitions. It is recommended that the sequencer machine be configured with at least two primary partitions. The first partition 'C' should have the operating system installed and should be formatted as NTFS. The second partition 'Q' is used to store the cloned base image and will be used as the destination path for the application installation.

      

 6.Sequence to the client destination drive, usually 'Q:' . Both the Installation Directory and the Asset Directory should be on 'Q'. The Sequencer does contain functionality to handle exceptions. One can sequence to the 'C:' drive for applications that will only install to 'C', for example. See FAQ 1 on how to handle this scenario.

       

7.Sequence to a unique, 8.3 directory name. This applies to both the Asset and Installation directories. ('Q:\MYAPP' is correct, 'Q:\My Application' is incorrect. Q:\MYAPP.001 is also correct.) See FAQ #2.

       

8.Sequence to a folder in the root of the drive, not to a subdirectory. ('Q:\MYAPP' is correct; 'Q:\' is incorrect; 'Q:\Temp_Junk\MYFOLD' is incorrect). If the suite has multiple parts, install each application in a subdirectory of the Asset Directory. For example with Q:[docs:[tmp:DocumentationSpace]:[AppSuite]] as your Asset Directory do:

Q:[docs:[tmp:DocumentationSpace]:[AppSuite]]\

Oracle\

App\

 

9.Always use globally unique Paths, SUITE tags, and Package names across the set of application sequencings. Do not install, for example, multiple Microsoft Office sequencings to the same Asset Directory name or SUITE tag. Use a standardized naming scheme for the Asset Directory that can be incremented for new revisions, for example Q:\OFFXP.v1 or Q:\OFFXP.001. See FAQ #2.

 

10.Configure and test the application in Install Phase. Completing the installation of an application often time requires performing several manual steps that are not part of the
            application installation process. These steps can involve configuring a connection to a 'back-end' database, copying updated files, etc. Do this configuration in the Install Phase and run the      application to make sure it works.

       

11.Execute the application, multiple times if necessary, until the program is in a static state in the Install Phase. For example, run [DocumentationSpace:StarOffice] or Acrobat multiple times to get past all registration and dialog box requests. These applications perform different tasks on first launch, second launch, and sometimes subsequent launches. The multiple launches will make sure only the relevant application code into Feature Block 1 during the execution phase.

       

12.Use the Shortcut Wizard to launch each executable in a suite of applications. This will insure that each application will have the required initial launch data on the  Client.

       

13.If an application requests a valid* reboot, press "Stop Monitoring" to allow the Sequencer to process the reboot tasks. Once the reboot tasks are complete, press "Stop Monitoring" and then "Install Again" to continue to install the application, if necessary. If presented with a choice from the application installer to reboot, select 'Yes'.* Many applications call unnecessarily for a reboot.

       

14.Sequence as much as possible in a single pass of the Install Phase. Do not "Stop Monitoring" after each installer, unless the application requires reboot. There is no reason to reenter the Install Phase via "Continue Monitoring" unless a reboot task is required.

       

15.Use "Stop Installation" only if necessary. The Sequencer monitors the application installation via a background process. It monitors the first process (e.g. setup.exe or install.exe) and any child processes that the installation spawns. It also monitors certain services (e.g. Windows Installer) that may be involved in the installation of the application. When the installation is complete, sometimes the sequencer will not detect it because the installation did not end all the child processes. When this occurs, click on the "Stop Installation" button to stop the monitoring process.

       

16.Disable "Install on First Use". Some applications have the option to "Install on First Use" for certain components. It is required that none of the components are sequenced with this option. It is necessary to choose either "Run from My Computer" (install this component) or "Not Available" (do not install this component). For application components that will not be used by any of the targeted users it is recommended that the components not be installed.

       

17.When Sequencing on a Terminal Services machine, place the OS in Application Hosting mode, not Remote Administration mode. See the Softricity Knowledge Base for the specific steps.

       

18.When Sequencing large applications, use two hard drives. The sequencer uses %TMP%, %TEMP% and its own scratch directory for large, temporary files. If you redirect these directories to a directory on a separate hard drive then your sequence time can drop dramatically. The %TMP% and %TEMP% environment should be changed in the System control panel for the specific user account that will be used for sequencing. The sequencer scratch directory can be changed via the sequencer GUI under Tool->Options, Path Tab, then "Scratch Root". For example on your primary hard drive you could have your 'C' and 'Q' partitions and on your secondary drive have an 'E" partition. On the 'E' drive you could create and redirect the specified directories to E:\SEQTMP.

 

III. Frequently Asked Questions

 

1. What must I do if an application must install to the 'C' drive?

Answer:

Softricity recommends that the Installation Directory drive, Asset Directory drive, and the client mount drive all match. (The convention is to label the drive 'Q').

  • Softricity has found a high success rate by using this practice;
  • Following the above recommendation simplifies the Sequencing process;

Because certain applications must install and/or run from the 'C' drive, the Sequencer does accommodate this requirement. In this particular scenario, do not name the Asset Directory the same as the Install Directory.

Softricity does not recommend Sequencing to the 'C' drive for the following reasons:

  • Depending on how the sequencing is performed, it may introduce slight or significant overhead.
  • The specific drive letter, 'C' will be required to be present on the Client.

To accommodate this situation, one would specify a directory on the 'C' drive for the Installation Directory and a directory on the 'Q' as the Asset Directory during Sequencing. This causes the whole application to be run via the Virtual File System.

Do not modify the FILENAME attribute to point to the 'C' drive; the executable specified there must point to the Q drive.

 

2. What must I do if I have to sequence an MMC snap-in or an Internet Explorer plug-in?

Answer:

(Examples of Internet Explorer plug-ins include different versions of Java runtimes, ActiveX components, Flash runtimes and Shockwave runtimes.)

While it is not possible to sequence core operating system components such as Internet Explorer, it is possible to create multiple virtual environments for each of these applications. It is important to realize that you do not install these applications during the sequencing process, but instead refer to the local copy of the application. This causes the local application to be pulled into a virtual environment, which includes the desired version of the plug-in that was sequenced. This means that the correct versions of the core operating system components on the Clients must match the versions on the Sequencer.

To create the sequence, create an empty folder on the 'Q' drive, which you must point to when the sequencer asks where the application was installed during the installation phase. Install the plug-in to this location on the 'Q' drive during the installation phase. During the execution phase, test the application using local shortcuts and then save the sequence.

You then must modify the .OSD file to point to the local core operating system executable with any appropriate parameters.
IE example:

FILENAME="%CSIDL_PROGRAM_FILES%\Internet Explorer\IExplore.exe"

MMC example:

FILENAME="%CSIDL_SYSTEM%\MMC.EXE"

PARAMETERS="%SFT_MNT%\<asset directory name>\<path to a .msc file>"

 

3. Why does Softricity recommend that one Sequence an application to a root folder using a unique name of eight characters or less?

Answer:

A globally unique name is required since each application is mounted on the 'Q' drive as "Q:\<asset folder name>\". Softricity recommends eight characters or less to insure the short path names of files are properly preserved on the client. Certain operating system components require the use of these short names.

For Example:

"Microsoft Office XP" is installed on the Sequencer machine and gets the short path name of "Micros~1". "Microsoft Office 2000"is installed on the Sequencer machine (after the box has been re-ghosted to the original state) and gets the short path name of "Micros~1".

If Microsoft Office XP is streamed to a fresh client it will get the short path name of "Micros~1". If Microsoft Office 2000 is then streamed to the same client, it will get the short path name of "Micros~2". This will cause the application to fail since non-parsed registry keys point to "Micros~1".

If one hard codes two applications to "Q:\office" and tries to stream the second version of Office with the first version of Office already streamed, the client will not be able to properly mount the second version of Office on the 'Q' drive.

 

4. Can one Sequence an application on one OS and stream it to another OS?

Answer:

Yes, allows you to Sequence on one OS and stream it to another OS. However, the application may not work properly if it detects the OS version at install time and performs different component selection based on that detection. This may cause problems depending on the component compatibility with other OS's. In this scenario, it is the customer's responsibility to know the application or contact the application vendor to determine if additional sequencings are required for each OS.

 

5. What are the current limitations of the Save-As feature?

Answer:

The current version of the sequencer's Save-As feature requires that the package root directory (asset directory) be changed as part of the process. This can cause applications with hard coded paths or some forms of copy protection to fail after a Save-As operation. To workaround this problem, re-sequence the application from scratch without using the Save-As option. Softricity is looking to eliminate this required package root directory change in some future version of the product.