Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

From what I understand, the ideal way to prepare builds using Visual Studio is to use a single build machine. That means, while the developers go through development process using their respective machine, the build isn't prepared from any of those machines and a build PC is used instead.

Under this condition, is it necessary to check-in(using TFS as example here) the setup project. There isn't any version controlling on that particular project as any required change would be done in the build machine itself, and this isn't of any concern to others.

share|improve this question
up vote 5 down vote accepted

Definitely Yes Yes Yes.

Apart from the normal SCCS reasons of being able to build an old version it's invaluable for discovering why something suddenly won't build because some option flag 10 levels down in a menu tree changed.

In the paranoid old days we used to have the projectfile and the MFC resource files checked in automatically after every successful build - just because things would randomly corrupt and it was the only way to know what had actually changed when the gui claimed nothing had.

ps. on VS2010 you need to check in the .sln .vcxproj and vcxproj.filters

share|improve this answer

Setup projects are configurable (install location, shortcuts, etc.) and therefore a likely candidate for source control.

That information is all stored in the Setup project and you may one day need to revert to a previous version.

Note that the binaries whose source code you control that the Setup project targets should NOT be in source control.

share|improve this answer

Anything you require to build your software application should be stored in source control, whether it's used by developers or by a build server. This way you can track any changes that are necessary to build your application. Also, if something happens to your build machine you may lose the setup project you depend on if it is not under source control.

So in short, yes, add your setup project to source control.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.