VSS / SourceSafe Tutorial

Welcome to my SourceSafe Tutorial. If you have any comments regarding this VSS tutorial, feel free to send me an email. In addition, I highly recommend you to use SourceAnywhere, which is designed as the best VSS replacement – How to migrate from VSS to SourceAnywhere Standalone.

Dynamsoft Barcode Reader SDK
Ads Powered by Dynamsoft

Navigation Links:
Chapter 0: SourceSafe / VSS How To Series Introduction
Chapter 1: SourceSafe / VSS Basics
Chapter 2: SourceSafe / VSS Operations
Chapter 3: Integrating SourceSafe with other IDEs
Chapter 4: SourceSafe / VSS administration
Chapter 5: Microsoft Source Code Control Interface (MSSCCI)
Chapter 6: SourceSafe / VSS automation (SDK)
Chapter 7: How Tos

Chapter 0: SourceSafe / VSS How To Series Introduction

SourceSafe / VSS is a version control tool used by many Windows developers. Before I started to work on SourceAnywhere for VSS… (more…)


Chapter 1: SourceSafe / VSS Basics

Microsoft Visual SourceSafe, also called ‘VSS’, is a file-system-based source control tool from Microsoft… (more…)

As a member of Visual Studio product family, VSS is very popular among Windows developers. An IDC August 2004 ALM market report indicates… (more…)

In a nutshell, you can use VSS to keep your files, including the previous versions, in a central repository/database. Although VSS… (more…)

VSS database/repository is the central place where all files, history, project structures, permission and user information are stored… (more…)

Add is the start point of all VSS file operations. Before you can do Get, Check In, Check Out or other operations, the file… (more…)

The following screenshots shows the typical interface of SourceSafe / VSS… (more…)


Chapter 2: SourceSafe / VSS Operations

A working folder is the specified corresponding folders on a user’s local computer used to store files when working with VSS projects… (more…)

A file must be added in a VSS database first before you can do check in, check out and other operations. To add one or more files, you can… (more…)

The Get Latest Version command retrieves the latest or the pinned version of the files to our local disk. For pinned files… (more…)

If we are checking out files (not a project), the Recursive and Build Tree options are not available. In VSS / SourceSafe 2005, we can check out… (more…)

VSS supports two modes of work, Lock-Modify-Unlock and Copy-Modify-Merge. Lock-Modify-Unlock is the default style… (more…)

File Diff is one of the important features that we use with a version control system. File Diff compares two files and shows the differences… (more…)

File merge is the foundation of parallel development. Different team members can work on the same file at the same time and… (more…)

Project Difference compares two versions of a project and displays the comparison results. We can use it to see the differences… (more…)

Share enables files to be shared among multiple projects. It creates share links among these projects, so that… (more…)

As we talked about in our last post Share, share is only a small function in VSS. It should be combined with Branch to play a greater role… (more…)

Cloak is a useful little function in Visual SourceSafe. It allows us to specify the projects to be ignored during recursive operations such as… (more…)

Visual SourceSafe allows you to define a label for a file or project version. A label is a short and concise description given for purposes of identification… (more…)

Pin is a small but sometimes helpful feature in Visual SourceSafe (VSS). VSS defines Pin as a marker that designates a specific version of a file… (more…)

Show History is one of the most important features in SourceSafe. My personal feeling is that being able to go back to… (more…)


Chapter 3: Integrating SourceSafe with other IDEs

Visual SourceSafe can be integrated into Visual Studio to source control solution files, project files and application configuration files…(more…)

If you previously used SourceSafe to source control your Visual Studio projects and then find a better source control tool, you may need to… (more…)

SourceSafe can be integrated into Visual C++ 6.0 to source control VC projects and files. To integrate SourceSafe with VC 6.0, we can… (more…)

SourceSafe can be integrated into Visual Basic 6.0 to source control the VB forms, modules, class modules, etc. To integrate SourceSafe with VB 6.0… (more…)

With Access Source Code Control add-in, Visual SourceSafe can be integrated into MS Access to source control Access queries, forms, reports, macros… (more…)

In previous article, I wrote about how to integrate SourceSafe with Access 2007. This time, I will write about integrating SourceSafe with Access 2003… (more…)

Visual SourceSafe can be integrated with SQL Server Management Studio 2008 to facilitate team activities and enable parallel development… (more…)

The Visual SourceSafe integration with SQL Server Management Studio (SSMS) 2005 is virtually identical to SQL Server Management Studio (SSMS) 2008… (more…)

Visual SourceSafe can be integrated into Dreamweaver to source control projects and files… (more…)

Visual SourceSafe can be integrated into Flash (Professional edition only) to source control projects. To use source control functions, we should… (more…)

PowerBuilder was a popular tool for database front end development. I used PowerBuilder 6 about 10 years ago to develop a MIS application… (more…)


Chapter 4: SourceSafe / VSS administration

SourceSafe provides an Archive utility, with which we can periodically backup our VSS Database or projects and transport files/projects…(more…)

Visual SourceSafe (VSS) users are based on VSS databases. When a VSS database is created, there will be two default users added to the database…(more…)

SourceSafe provides a tool, Visual SourceSafe Administrator, to manage the permission of the VSS users. However, designed for trusted environment…(more…)


Chapter 5: Microsoft Source Code Control Interface (MSSCCI)

MSSCCI stands for Microsoft Source Code Control Interface. The latest version of MSSCCI is 1.3…(more…)

MSSCCI uses registry to organize multiple SCC providers. There are 3 elements in the registry…(more…)

Dynamsoft provides a tool called SCC Provider Manager with its SourceAnywhere product family…(more…)


Chapter 6: SourceSafe / VSS automation (SDK)


Chapter 7: How Tos

SQL Server stored procedures can be added to Visual SourceSafe (VSS) for version control by using the source control feature in Visual Studio .NET 2003…(more…)


SourceAnywhere - the SQL Server-based SourceSafe Replacement The SQL Server-based Source Control Software Designed to be a SourceSafe Replacement SourceAnywhere for VSS - the Fastest SourceSafe Remote Access Tool Recommended by Microsoft The Fastest SourceSafe Remote Access Tool Recommeded by Microsoft
  • Hemal

    Hello Kevin,
    I am a begineer for VSS,I have one problem with VSS,i have an ELT packages in production server,I copied and placed at Development server,to create my data,but when i changed some thing in dev. packages,it will change my production packages atomatically, so could you plese tell me how to disable my VSS on development’s packages?
    Please suggest any solutions.


  • Vijin

    Hi Kevin,

    My team has a weird problem with Visual Source Safe 2005. VSS is integrated with VS2003. Our development environment is VDI (Virtual Desktop Interface), every time we loggin to a different instance of the VDI. Problem is that if we have checked-out a file on one instance and logged off from VDI. Next time when we log-in (we login to new instance of VDI) and open VS2003 we see that check-out file as “Checkout exclusively by someone else or at another place.” and can not check-out the file. Working directory is at the same place, user is same but not sure why it does not recognize and makes that file available as checked-out already. Looking at the file in VSS it shows the “check out folder” location prefixed with earlier server name. Is there any setting which can solve this issue.

    Sr. .Net Developer

  • amal abo hamida

    I need solution for my problem witch is invalid password when i want to add my project
    to safety resource in a saving operation

  • http://nil ketan trivedi

    Do i require to purchase Visual Studio if application developed in Visual studio by third party

  • Pingback: Scomparso il comando crea pacchetto!!! - - MasterDrive.it

  • Vishnu

    Very informative article…

  • Allen


    Great content and easy to follow guidance. I have been looking (in vain) for any reference regarding VSS (v2005) and Control-M scheduler. Is there such material available?



  • Asdaq Amin

    I am using VSS 6.0d. Is it possible to Install VSS on Window 7 machine.

  • Pingback: links for 2011-07-08 « General Musing

  • http://www.utiitsl.com Manish

    Dear Kevin Sir,

    In continuation with earlier query Iwould like to tell you that my que. is based on Visual SourceSafe 6.0d.

    Please suggest, is there any such type provision in VSS 6.0d?

  • http://www.utiitsl.com Manish

    As per my knowledge there is a provision to control(provide the required access to a given specific user eg. read only, read / write, check in / check out, destroy) on any folder in a project. But i want to know Is there any provision to control on any fille that is in a folder in a project.

    In short, is there any provision to provide the required access to a given user of any given file in a folder in a project ?

    Please suggest.

  • M.I. Ali

    I am using VB6. After saving a Form(such as Form1) when I am going to save it as project(such as Project1) there is massage:- Add this project to SourceSafe? What is reason I don’t know?

    Please help me.


  • Sushant

    Hi….i have an issue that to get latest version of multiple files i have to go for a particular file and extract its latest version.but this becomes tedious if there are around 500 units invloved.

    Does anybody have any shortcut or some other trick by which i can give the path of all the units at a go and on a single click i can get the latest version of all those units into a destination folder……

  • http://www.kevingao.net/ Kevin Gao


    So far, VSS doesn’t support this feature.

    Just for your information, the feature can be achieved with SourceAnywhere Standalone which is designed as the replacement of VSS. Its “Show History” feature enables you to filter the history by Dates, Actions (such as Check in/out) etc. and export the file list in the result dialog box.

    If you want to evaluate the software, you can go to:


  • EddieRich

    Is there a way to get a list of files that have been checked in within a certain time span?

    When I come to work in the morning, I would like to see a list of files that have been checked in over the past 24 hours ( or the past 3 days if it’s a Monday ). I know I could do a project diff, but I may have many files that I am working on, so I don’t care about the diff, I just want a list of newly checked-in files.

  • Priya

    Hi, How to use VSS from Client for web development projects

  • John

    I want to print the full source safe documentation to my printer without opening every chapter. Is there a single button solution to do this?

  • Curious

    Thanks for the tutorial. It was a good comprehensive overview. It would be nice to see some examples of the file structure for major releases, minor ones and test. Like you did in your branch example.

  • Wild

    Kevin Gaoon, Al McNicoll, or anyone else:

    How can you write VBA code for Access 2003 to check files into and out of VSS?
    That is, not using VSS dialog boxes, but writing the code with VSS automation?

  • Henriette

    Hi Kevin,

    thanks for sharing your knowledge of VSS.

    Currently I’m looking for an answer to this problem:
    At work we have a running website. We have a production server and a test server. Customer support sometimes uploads new images to alter custom pages. These uploads are done through a different webapplication.
    Basically, so that customer support has no need to know anything about programming/servers/folders.

    Resently we added our sourcecode to VSS directly from the ISS on the testserver.
    Know, whenever customer support uploads a new image, we are unable to render the new image on the testserver.

    We think we need to remove the image folder from the VSS, but are afraid to end up deleting all images instead.
    Do you (or anyone else) have a suggestion for us as to how we can ensure that newly uploaded images are rendered correctly on both servers?

  • Marcwolf

    Do you have any information re using VSS over a internet connection.

    I am part of a smal team of developers who are not in the same office and we really need something like VSS to help us


  • Tim

    Thanks alot i have been looking for something like this to help me setup vss for myself and 2 other developers, short and sweet and to the point..
    Thanks again

  • Jason

    I just wanted to say thanks for the amazing tutorial. I have very little experience with VSS and I am trying to set it up in a small enviroment with only 2-3 developers, and this is exactly what I have been looking for. It’s short, simple, to the point, and answers all my questions.


  • Rick


    Thank you so much for making this available to the public. I have used VSS sporadically over the years – never had to set it up myself until now. I figured reviewing a tutorial before I begin would be a good thing – glad I did.

    This was a great overview.


  • Pingback: Sarvesh Bhardwaj › links for 2009-06-15

  • ariel

    Hi Kevin,

    I am new to VSS and I found this website very interesting in terms of learning the step by step of VSS. I would like to ask if there is a PDF version of this site so that I can read it offline because my computer in the office doesn’t have internet connection and I can only read this while I am in home.


  • http://www.kevingao.net/ Kevin Gao

    Al McNicoll,

    Which version of Access are you using? I believe Access can integrate with VSS without any third-party pug-in.



  • http://www.integritec.co.uk Al McNicoll

    Thanks for the blog – nice to see someone supporting VSS after all the bad press it gets. We get it free as part of the BizSpark program, so I’m giving it a go.

    Do you know of any good resources for writing VSS plug-ins? I’m source-controlling a lot of binary .mdb files and have built a program that extracts the VBA code – it would be nice to integrate it seamlessly into VSS so that checking in an .mdb checks in the code files as well / instead.

  • Noyan

    What happened to chapter 6?

  • http://www.kevingao.net/ Kevin Gao


    Could you be more specific with your question? What do you mean by “build”, build in IDE or others?


  • sovit Gupta

    How can i show code changes in last build

  • http://FLEX Venkatesh

    How to Integrate VSS with FLEXBuilder 3.0?

  • http://www.kevingao.net/ Kevin Gao


    You need to re-add the deleted files to your Visual Studio project.


  • http://www.kevingao.net/ Kevin Gao

    Do you mean by program? If yes, please refer to this page:
    IVSSItem Members

    The Items property contains all the children of the current project. If you want to list all the projects, you need to go through all the projects recursively.


  • kirsty

    May I know how to list out all the projects name in VSS?

  • http://www.kevingao.net/ Kevin Gao

    The file list is shown in Visual Studio according to the info in the project file. After recovering the file from SourceSafe, you need to add the file back to your Visual Studio project.


  • Boss

    What about recover deleted item when delete from Visual Syudio, after recover from source safe i can’t retrive it to visual studio programs

  • Moon

    How about a Where to buy section?