Tips for performing a Handoff from VSS

A collection of information about Vault, including solutions to common problems.

Moderator: SourceGear

Post Reply
Posts: 1821
Joined: Thu Dec 18, 2003 11:39 am
Location: Sourcegear

Tips for performing a Handoff from VSS

Post by jeremy_sg » Fri Apr 03, 2009 3:29 pm

VSS Handoff brings the latest versions of your VSS projects and files into a Vault repository. You can see VSS History from within Vault History and you can view and diff historical versions of your files in VSS. VSS Handoff maintains shares and pins. The Handoff does not import labels. If you need versions of your code from prior to the Handoff, you would get them using VSS.

The following tips will help your handoff go as quickly and as smoothly as possible. Once the handoff is done, you will need to keep your VSS database in the same location, since the Vault server will connect back to it when VSS history information is needed.

Before you start! Since VSS is a 32-bit only application, Vault's VSS connectivity features are only available when the 32-bit Vault Server is installed. First off, VSS client must be installed on the Vault Server. Furthermore, you may have to configure IIS 7 to allow 32-bit applications. For help with that configuration, see:

1. The VSS client software will need to be installed on the same machine as the Vault server, and for ease of configuration and performance reasons, we recommend that the VSS database be located on the Vault Server as well. The VSS client software installation includes the VSS automation component (ssapi.dll) and configures the system registry keys that point to it. That component is required by the Vault Server to interact with any VSS database.

On the machine with the Vault server, install the English language version of Visual SourceSafe. It is recommended that you use either Visual SourceSafe 2005 SP1 or patch Visual SourceSafe 6.0 with VSS 6.0c available at

Some users have reported problems with non-English versions of SourceSafe, so use the English language version. You can verify that you are using the English version of SourceSafe by examining the directory with the ssapi.dll file. The only language dll in that directory should be named ssus.dll.

2. During the initial Handoff operation, you should disable any virus protection which may be present on the server machine. This can slow down the Handoff considerably.

3. Make sure the identity account the Vault Server runs under, or the Windows account that the import is impersonating, has full control of the VSS database directory.

4. Do not use your SourceSafe database during the initial Handoff. In fact, it is best if you run the import on a backup copy of the database, not on the copy you usually use. You may use the VSS database after the Handoff is complete, but changes made in VSS will not be automatically migrated to Vault.

5. Be sure to run the SourceSafe 'analyze' utility on your database before doing the Handoff. If your VSS database is not healthy, you are likely to run into problems when retrieving files during the VSS Handoff operation. A properly running database should be able to run the VSS 'analyze' with the -f (fix) option without any errors. Again, the Handoff uses the VSS Automation Component to communicate with the VSS database and the automation component is sensitive to even minor VSS database corruption. Despite a clean "Analyze" report, your Handoff may still encounter errors getting files.

6. Make sure there is a temp sub-directory in the directory where the SourceSafe database resides. If not, create a Temp sub-directory in the directory that contains the srcsafe.ini file. (The Temp directory and srcsafe.ini file should be siblings.) The cause of this error:
**Failed** to Get version X of Y
is generally because there is no SourceSafe temp sub-directory.
Subscribe to the Fortress/Vault blog

Post Reply