Getting to the root of the 8.3 Root

An interesting conversation came up in the lunch room today that I thought deserved a good blog for clarification.

As you may well be aware, one of the “best practices” for Sequencing an application is to have the application install itself during the monitoring phase to an 8.3 directory on the Q:\ drive. What came up during lunch is the need for deeper clarification on the reasons and even an extension on this particular best practice.

During Sequencing you enter the information in the Package configuration phase that is common through all of the .OSD files in the suite, and then you enter what is called the “Installation Phase”. It is during this phase that you Install, Test and Configure the application(s) being virtualized. Also during this phase the Sequencer “monitors” the actual installation of the application so that it can capture all of the files, registry settings, com, embedded services, fonts, etc. that the application would normally lay down on a “client” during its native install.

The best practice states, “You should install the application to a 8.3 root directory on the Q:\ drive of the Sequencer. Each installer in the package should then have its own subdirectory under this 8.3 root.

For example, if Sequencing Microsoft Office 2007, during the installation phase the installer of Office will ask you where it should install into.

Default:

C:\Program Files\Microsoft Office\

“Best Practice”:

Q:\Off2k7.v1\Microsoft Office\

In the above example we followed the best practice with an 8.3 root and each piece of the suite having its own subdirectory. If we were to add Microsoft Communicator to this SoftGrid Suite we would put it during the monitoring phase into Q:\Off2k7.v1\Microsoft Office Communicator\

But why?

Good question. Let’s break this into pieces, shall we.

Q: “Why do I need to install it to Q:\?”

A: The SoftGrid System has been built to try to remove any restrictions on where you install applications to during Sequencing and which drive is used for the SoftGrid File System on your deployed clients. This is done by searching for paths in the Sequenced application that point to installed path and replacing them with thevariable %SFT_MNT%. However, some applications may have paths hard coded in non standard configuration files that are not found by SoftGrid. When that happens the application will stream to the client, launch into the virtual environment and look to Q:\, yet the Mount Point of the client may actually be B:\ and the application will not work properly.

Essentially the application is looking for what it was always told to look for, yet when it gets there its ideal does not exist.

Q: “Why do I need to install it to an 8.3?”

A: Most, if not all, applications will generate a backwards compatible 8.3 directory name even when they install into a long folder name. If you do not even remember the days when we were limited by our directory and file names to an 8.3 convention please, do me a favor, and just skip ahead. You’re too young. Now an application such as Microsoft Office 2000 will install into a long folder of “Microsoft Office”. When it auto generates the 8.3 it would follow the algorithm of first 6 characters, a “~” and a number (1). So Office 2000 would be Micros~1.

Following proper sequencing practices you would revert the Sequencer back to its “clean state” at the end of every successful Sequence and start over fresh. If you were then to Sequence Office 2003, it would install to a long folder of “Microsoft Office”, again. And again, because the Sequencer is clean, it would auto create its 8.3 as Micros~1.

So if you stream these two packages to a single client, there is a short name collision. By specifying an 8.3 name, you avoid the auto generated short name and generate packages that won’t have the short name collision.

Q: “Why should I put each component of the suite in its own sub directory of the 8.3 root?”

A: Even if it is its own sing le application and no other applications will coexist in the suite it should get its subdirectory under the 8.3 root. In the pathing of the application it may have been “told” to always look under the relative path to that directory for its components. For example, Microsoft Office Help is coded to always look to a path relative to “Microsoft Office”. In the above example the Q:\Off2k7 takes the place of the C:\Program Files and the \Microsoft Office is still in its expected relative pathing.

Q: “When I click ‘Stop Monitoring’ the sequencer prompts me to select the directory that the application was installed to. Why do I have to choose the 8.3 root as the directory the application was installed to? Why wouldn’t I select the actual subdirectory of the 8.3 root?”

A: Primarily because this is true. You did install the application to the 8.3 root, albeit you did put it into a subdirectory of that root. What if you had installed both Office and Communicator to the same 8.3 root during the same Sequence? By selecting the 8.3 root you avoid the short path generation we mentioned previously.

Sub point: By selecting the 8.3 root here you are essentially saying, “OK. I installed the bulk of the assets under this root. But, like almost all application some files went to common folders such as C:\Windows\System32.”

The Sequencer caught those common file locations. And it is at this point, as a result of you selecting the 8.3 root as the install folder, that the Sequencer will then create the VFS structure. As you may well know, the VFS folder structure and the SystemGuard file gets placed in whatever directory selected at the end of Monitoring. These are two components that are shared by all applications in this suite.

What you will end up with is the following:

Q:\Off2k7

\Microsoft Office\

\Microsoft Office Communicator\

\VFS\

Osguard.cp

When teaching the SoftGrid class I used to draw the analogy:

Q:\ is the town in which you live

The 8.3 root is your house.

The First Subdirectory (Microsoft Office) is the boys bedroom.

The second subdirectory (Microsoft Office Communicator) is the girls bedroom.

The VFS directory is the common dining room.

The Osguard.cp file is the common rumpus room.

Each child (application) gets their own bedroom where the bulk of their assets live, but they all share the common areas of the dining room and the rumpus room.

I hope this better clarifies the what and the why behind the 8.3 root.

Sean Donahue