Setting Up a Multi-platform Environment

Every initialization variable in Srcsafe.ini or Ss.ini can be followed by a specifier of a computer or condition, in parentheses. The specifier enables one variable to have different settings on different platforms.


Specifiers for computer names, for example, MAC, are known to Visual SourceSafe as platform specifiers. Only ten platform specifiers are allowed per user, or ten per Ss.ini file. Not all initialization variables recognize platform specifiers, but many do.

The following table defines the possible specifiers that you can use with your settings in the initialization files. In a multi-platform environment, you will have one Srcsafe.ini file for the database. You can have Ss.ini files for each user, or use one Ss.ini file for all users.


Indicates the Visual SourceSafe command line utility SS.


Indicates the Macintosh operating system. This specifier might be specified for third parties but ignored by Visual SourceSafe on Windows.


Indicates the Windows NT 32-bit operating system.


Indicates all Intel-based operating systems, such as Windows. You can use this specifier with the UI specifier, but not with the CL specifier.


Indicates Visual SourceSafe Explorer.


Indicates the UNIX operating system. This specifier might be specified for third parties but ignored by Visual SourceSafe on Windows.


Indicates the Windows operating system. You can use this specifier only with the UI specifier.

How Visual SourceSafe Handles Multi-platform Specifiers

Different versions of Visual SourceSafe look for different specifiers. The setting for the Comment_Editor initialization variable in the following example applies only to a computer named JOE1:


Visual SourceSafe on a Windows NT computer might look for the specifiers in an Ss.ini file in the order JOE1, NT, Win, PC, UI. Visual SourceSafe looks for the specifier set for Joe's computer named JOE1. If it does not find that, it looks for Windows NT, then Windows, then PC, then Visual SourceSafe Explorer. If Visual SourceSafe finds none of these, it looks for a variable with no specifier.

Changing the Default Handling of Specifiers

You can override the standard handling for specifiers by use of the environment variable SSINIENV, defined in Setting Database Options. For example:

Set ssinienv = Ragiv, MS-DOS, PC, CL

With this setting, Visual SourceSafe looks for variables specified for Ragiv before looking for MS-DOS, PC, CL, or no specifier. If you place the following two lines in the Srcsafe.ini file, Visual SourceSafe will use the first setting and ignore the second:

Data_Path (Ragiv) = R:\SS\DATA
Data_Path (Kim) = R:\SS2\DATA

If you set SSINIENV to Kim, Visual SourceSafe will use the second string for the Data_Path initialization variable and ignore the first.

Using the UI and CL Specifiers

You can set initialization variable specifiers to distinguish between the command line (CL) and Visual SourceSafe Explorer (UI). For example, you might make these settings for the Force_Dir initialization variable in the same Ss.ini file:

Force_Dir (UI) = No
Force_Dir (CL) = Yes

If these variables are the only ones in the file that contain specifiers, when you run Visual SourceSafe Explorer, Force_Dir is set to No. When you invoke Visual SourceSafe from the command line, Force_Dir is set to Yes.


If a Force_Dir setting that contains your machine name or a platform specifier (for example, NT) is present in Ss.ini, this setting takes precedence over both of the lines shown in the example above.

See Also