You may think that Sequencing is an easy task, and most of the time it is - just start monitoring, install the application and stop monitoring and the Sequencer does the rest. But really there are several ways we can help the sequencer be more efficient. There are two ways to install applications using the SoftGrid Sequencer. A Virtual File System Installation or VFS is an installation where during sequencing the application is installed natively to the C:\ drive. A mount point installation or MNT is an installation where during sequencing you create a folder in the Q:\drive (SoftGrid Mount Point) and install the application. The differences between the two methods drill down to the basic principles of performance and organization.
Efficiency is improved with a MNT installation vs. a VFS installation. If you install directly to the C drive (VFS the install) then the sequencer has to scan the whole drive to find all the files that have been used. This may cause files to be included in the sequence that are not actually used, making the package bigger. Also in a VFS install the drive C must be present in the client for the package to operate properly. We know that some terminal applications such as Citrix can change the native C drive to another letter.
During an MNT installation all the files are located in a folder in the Q: drive making the Sequencer more efficient because everything is in one place. It also makes the task of troubleshooting or modifying an application easier because you know the location of the installed files.
The best practice is to use the MNT installation method (Best practices to use for sequencing in Microsoft SoftGrid http://support.microsoft.com/kb/932137/en-us). We do acknowledge that some applications don’t let you change the installation path and for these applications we use the VFS installation method instead.
- Alvin Morales
Alvin Morales has posted a link up on the SoftGrid Blog on the VFS versus MNT installs . I will get a
(I don't know if there's specific quoting possibility in comments so I'll just quote traditionally)
"If you install directly to the C drive (VFS the install) then the sequencer has to scan the whole drive to find all the files that have been used."
Now I must disagree a bit on this one or at least it calls for more explanation. As I understand, Sequencer does not "scan" files and folders for inclusion (it does scan some other things loosely related) as final part of the installation phase, but rather relies on active monitoring (that filter log in Sequencer) that writes down all accesses (creation and modification of files/folders) to C: or for that matter, any drive on present on Sequencing station. That, ultimately, is the knowledge of what needs to be included in package. Given that, how do you propose there's any more that sort of work to be done with VFS installation vs. "Q -installation" as nothing is "scanned" per se?
What makes difference, of course, with VFS when compared with MNT is when packages are run at client. With accesses going straight to Q: (or %SFT_MNT% to be more precise) client will "know" that those accesses do not need extra diverting as they by definition cannot be virtualized paths. Where as with VFS package every file I/O can possibly be candidate for diversion to %SFT_MNT%\pkgroot\VFS... -path which, I presume, is checked against VFS mapping paths stored inside SFT.
So in my opinion, the hindrance of VFS comes from SoftGrid Client needing lot more extra processing during runtime (more critical of course than one-off waste of time during sequencing) rather than Sequencer having to do "more work". In addition:
"This may cause files to be included in the sequence that are not actually used, making the package bigger."
Well how's that so? If file is not touched in create/modify sense, it should not be included in package either with MNT or VFS. If it is [modified or created] then of course it will be included in package, in both cases making it as big as it needs to be.
What is problem with more/extraneous files is not related to how one sequence his packages but rather to situation where inappropriate files are included, such as overlapping C++ or other very standard runtime files (in some cases even older than application itself needs, I have seen this happen also! Go figure what application vendor was thinking of when installing incompatible [with itself] vcrtXYZ.dll...) or other files that "mask" or are found earlier than locally present ones.
That I agree that it's more easier to troubleshoot the application if everything is in one place, that is the asset directory of application being packaged (as you need it anyways regardless if it's VFS or MNT sequence).
And one other thing:
"Also in a VFS install the drive C must be present in the client for the package to operate properly. We know that some terminal applications such as Citrix can change the native C drive to another letter."
That really depends and cannot be stated as general truth, the whole idea of parse items is to map directories correctly even when drive letter changes. Granted, if there are _more_ partitions than that C: drive [and Q: of course] (let's say you had to sequence to mystical D: drive because of some inbuilt assumptions on part of the application; been there, seen that), then you are bound to have very hard match requirement of sequencer and clients environment -wise.
As a closing note, I know that this blog article is geared towards beginners of SoftGrid so it's probably easier to explain things like you did, but from technical point of view I feel that your explanation was a bit leaky. Or I could be completely wrong and you have changed the modus operandi of SoftGrid dramatically recently ;-) Not to nitpick (only a little), sorry!
Good Article - Highly recommended! VFS is should definitely be used as a last resort, use mounting in 99% of your scenarios.