Best Practices of using Source Safe with VB

MiBlg used Ask the Experts™

My team is about to utilize Visual Source Safe in VB Programming and we're really new to Source Safe. Our main concern of using Source Safe is for Securing Code written by our programmers. My organization would like to strict our programmers to not taking the code out of organization. They can only compile & build the code within the organization and also the source code can't be transferred to other people who don't responsible for.

Another use of source safe will be related to Version Control and we also don't have any experience in Source Management.

Could someone who's got exprience with Source Safe, point out some best practices of implementing Source Safe in the real world? Any thought, links or resources would be highly appreciated.

Thanks in advance,


Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Senior .Net Consultant
Top Expert 2016
For your first point, Source Safe won't do anything for you. As soon as people have access to the code they do wathever they want with it. The only thing you can do is to have them sign a contract and ... pray!

SourceSafe has a very small documentation but you should read all of it. You can read it from
We started using Source Safe a few months ago and have undergone quite a few policy changes to make things work.  The setup we have now seems to work really well.

We basically keep two Projects in one Source Safe database.  One project is for the source code, the other for the compiled objects.  You can setup users and access rights for each object in Source Safe.

emoreau was partially right.  As soon as people have access to the code, they will do whatever they want.  BUT, Source Safe can make it easier to recover from programmers messing things up by allowing you to roll back to previous versions and when programmers are arguing over who changed what?  You can easily compare the current version with previous versions and see exactly which lines of code have changed, who changed it, and when.  As far as hiding code from programmers, that's going to be difficult.

We check source code out, make are changes, and check it in with comments describing what changes we have made.  Then we compile the code and submit the compiled object into the compiled objects project,  That way the testers can extract the compiled objects and begin testing.  Lastly, I would suggest dedicating a machine as a compile server and centeralize the Source Safe database in one location that can be regularly backed up.

I hope this helps!

Some suggestions on using VSS from my expierience.

- Dont allow multiple checkouts of the same file
- Dont allow users to set the Working directory to anything but the root folder (this can mess up checkouts from the VSS client itself)
- VSS is great but DO NOT FORGET TO BACK UP THE VSS DB!!!!! Rollbacks CANNOT be UNDONE!
- Force your developers to check in ONLY WORKING CODE -> dont force check ins every night
- Allways keep the compiled EXE/DLL with the project files, this will allow for compatibility options when creating a new build
- Dont forget to "lable" your projects for every build you do
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!


Thanks all for your great feedback. Let me ask one more question. As for building the code, should it be done at client machines and then they check the build results in or is it better that all build done in the server which hosts the source safe?

BTW, Sorry for the late reply


The VSS Server really makes no dif in that point. But i would do it on the VSS-clients, since the VSS-Server is "unreachable hidden away in the basement"

The VSS Server is "just" a place to store your files, most of the times there wont be an IDE on it, since "all you need for a VSS Server is a place to store yodur db".
Also the files on the Server are not "just available" - even on the VSS Server you would need to check them out

Hope this helps
Éric MoreauSenior .Net Consultant
Top Expert 2016

All coding must be done on each eveloper PC.


Ok guys, thanks for your nice help. I'm going to give my points to all of you. I think I'll split the points, 50 pts for each. How to do that?


Post a question in and ask for a refund. Then place a 50 pt. Question for each one of us...

Hi MiBlg

I've refunded 100 points to enable you to accept the comment for one expert and to post a
"Points for <expertname>" Q for the other expert in the same topic area.

1) Post the link to the original Q in the "Points for <expertname>" and
2) Add in the original Q a comment with the link to the "Points for <expertname>", thus the email notif will warn the expert.


Community Support Moderator
Experts Exchange

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial