Sequencing Best Practices

This week I want to go over a few of the best practices for sequencing applications, including a couple Vista specific suggestions now that version 4.2 is released and we fully support sequencing and virtualizing applications on Windows Vista. Each application is unique and may require a different step here or there but as long as you follow a few simple guidelines you will find that virtualizing just about any application can be a snap.

• Before you perform the sequencing operation, make sure that you know how to install and how to run the program. Make sure that you read all installation instructions that are associated with the program. Also, you may want to learn how the program runs. And, you may want to learn the components of the program that the user will need. To improve the sequencing process of a program, document the installation and the post-configuration procedures for the process. When you do this, you can prevent the need for unnecessary troubleshooting during the sequencing process because no important steps will be skipped.

• Always document the step-by-step sequencing process you use so that when you're done you will have a "recipe" that can be given to anyone else in your organization. As long as they have your recipe they should have no trouble recreating your package, plus if something happens and you need to sequence the application again you won't have to rely on your memory and start again from scratch.

• Use the Comments field in SoftGrid Sequencer to record the version of the SoftGrid Sequencer, the service pack of SoftGrid Sequencer, the OS it was sequenced on and the date, plus any other pertinent information you want to keep track of. If you do this you will have a record of this information when you revisit the sequence later.

• Always sequence on a computer that has a clean operating system and make sure that no extraneous applications are installed. The operating system should mirror a typical client on which the sequenced applications will run.  If you intend to target two different operating systems, sequence on the earlier version of the operating system in use. This includes the service pack and update versions. For example, if the target computers are running Windows Vista and Windows XP, you should sequence applications on a computer that is running Windows XP.

• Since you need to start clean for each sequencing session, I sequence my applications within a VirtualPC or Hyper-V image so that when I'm done I can reset the VM and no changes get saved. Alternatively you can make an image of your system by using a disk image product and then restore that image before each sequencing project. By doing this you can avoid having to rebuild your sequencing computer every time you want to sequence a new app.

• Configure the SoftGrid Sequencer computer with at least two primary partitions. Make sure that the first partition, drive C, has the operating system installed and that it is formatted as NTFS. The second partition, drive Q, will be used as the destination path for the application installation.

• Always install your application to your Q: drive if possible. The SoftGrid Sequencer contains functionality to handle exceptions for applications that will only install to drive C but if you can install to your Q: drive you will have a better chance for success.

• Use 8.3 names wherever possible. For example, when you install an application like Microsoft Visio you should install it using a directory such as Q:\Visio.2K3 instead of "Q:\Microsoft Visio 2003".

• Install your applications to a folder in the root of the drive. Do not sequence to a subfolder.

• Always use globally unique paths, SUITE tags, and package names across the set of application sequencings. For example, do not install multiple Microsoft Office sequencings to the same directory name or with the same SUITE tag. Use a standardized naming scheme for the directory that can be incremented for new revisions. For example, you could use either Q:\OFFXP.v1 or Q:\OFFXP.001.

• Configure the application in the Install Phase, then test the application in the Install Phase. After you complete the installation of an application, you may have to perform several manual tasks that are not part of the application installation process. These steps may involve configuring a connection to a back-end database, copying updated files, or performing other tasks. Perform these tasks in the Install Phase and then run the application to make sure that it works.

• Run the application until the program is in a static state in the Install Phase. You may have to run the application many times. For example, run StarOffice or run Acrobat multiple times to complete all registration requests and to complete all dialog box requests. These applications perform different tasks when you start them the first time, when you start them the second time, and in some cases, each time that you start them later. When you start the application many times, you can make sure that only relevant application code will be installed into Feature Block 1 during the Execution Phase.

• Use the Shortcut Wizard to start each executable file in a suite of applications. When you do this, each application will have the required initial start data for the SoftGrid client.

• If an application requests a valid restart, click Stop Monitoring to enable SoftGrid Sequencer to process the restart tasks. After the restart tasks are complete, click Start Monitoring, and then click Install Again to continue to install the application if you have to. If the application installer prompts you to restart, click Yes. Many applications unnecessarily request a restart.

• Sequence as much as you can in a single pass of the Install Phase. Do not click Stop Monitoring after each installer unless the application has to be restarted. You do not have to click Continue Monitoring to reenter the Install Phase unless a restart task is required.

• Click Stop Installation only if you have to. The SoftGrid Sequencer monitors the application installation by using a background process, and monitors the first process, the Setup.exe process or the Install.exe process, and any child processes that the installation starts.

• Disable any "Install on First" Use options in the app. Some applications have this option for certain components so make sure that no components are sequenced with this option. You must click either Run from My Computer to install this component, or you must click Not Available not to install this component.

• When you sequence on a Terminal Services computer, configure the operating system to use Application Hosting mode instead of Remote Administration mode.

• When you sequence large applications consider using two hard drives instead of a single drive partitioned into two separate partitions. The SoftGrid 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 disk drive you can shorten the sequence time.

• If using Windows Vista to sequence your app, if the application will be streamed to a SoftGrid Client computer that has User Access Control (UAC) turned on then be sure that UAC is turned on for the sequencing machine prior to the sequencing process.

• Stop the Windows Defender service, and any anti-virus/malware protection software for that matter, to improve system performance during the sequencing process.

If you want some more details about any of this we have a really good Knowledge Base article that talks about all of this and more here.