What is the best practice to set up development environment of SharePoint 2010 through 5 virtual machine. How to configure same settings in each machine and to update code in source control?

4 Answers 4


what VM do you use? I'm using Virtual Box of Oracle and it works quite well. YOu can create as many VMs as you wish but it will cost you in a lots of RAM on your machine.

For my development purposes I have 24GB of RAM and three-tier farm with:

  1. Front-end (4GB)
  2. Application services (4GB)
  3. Database server (50% of all avalable PC RAM - in my case it is 8GB)

Rest of RAM is used by my host PC.

For best practices there is MS deployment guide which is very usefull when follow it. You can find it here.

Hope it helps,


  • Best practice I mean here is what SP leads practically follow for successful project delivery. Not what MS recommended. I needed your own approach.
    – Mdh22
    Apr 22, 2013 at 11:55
  • you mean that your development machine has 24 GB RAM... quite high specs
    – Mdh22
    Apr 22, 2013 at 12:01
  • I had to upgrade to host SP2013 VMs that is why so much of RAM. For the best is to try to make a farm which will be most of all similar to production environment. I know it is hard to do this when limited to DEV. From my own experience, when develop in standalone mode there is always problems on PROD side. If you are quite limited in hardware install SQL, SharePoint and application services on the same machine but as separated installations: using local domain, SQL server (which can be easily moved to another server – VM), SharePoint which will serve as front-end server. Apr 22, 2013 at 12:48
  • any good link which resemble your setup?
    – Mdh22
    Apr 23, 2013 at 8:49
  • Hi, here is my big answer with check list how to install SP2013 VM but it can be applied to SP2010 as well: sharepoint.stackexchange.com/questions/62839/…. Hope it helps :D Apr 23, 2013 at 9:21

You could possible make all major configurations in one virtual machine, and then copy that harddrive file (.vhd-file in Hyper-V) and use it as the base for the other virtual machines.

(By pasting the .vhd in new folders for each machine, and then create new virtual machine from existing harddrive, Link)

Regarding Source control, there are a number of tools for integrating source control with Visual Studio, like ankh SVN and Microsofts TFS.


In my team what we usually do when we have a new project is create a Base SharePoint Image. This image will then be provided to the different developers that will be added in the project. The base SharePoint image we have is usually done with the following steps:

  1. Installing the OS of your choice
  2. Updating the configuration of the server so that
    • the shutdown tracker is removed
    • Updating the machine name
    • Enable the remote desktop connection
    • Disable IEEC
  3. After that we typically the AD services and create a new forest for the server
  4. Install Visual Studio
  5. Install Office Client if needed
  6. Install SharePoint Designer
  7. Install SQL Server
  8. Install SharePoint
  9. Install all other items needed for the project (3rd party tools)

Once this is done each developer will be provided the same copy of this image so that all of us will have the same setup. As for the source control just setup an SVN or a TFS and connect your visual studio there.

  • My question is how to update TFS from each VM equivalent to each individual user. What strategy I should follow? Your guidance needed.
    – Mdh22
    Apr 22, 2013 at 11:57
  • What is the process of updating content database in each virtual machine at par with each other, so that for each user DB will be same? In what frequency update should be done.
    – Mdh22
    Apr 22, 2013 at 12:06
  • I got confused with the TFS question. Can you please rephrase it? As for the content database, you can just setup a separate database server instead of having SQL server installed in your virtual machines so that everyone will be working on the exact same data. Apr 22, 2013 at 13:41
  • Do you mean your approach is to Develop on Network VM – Centralized Server Virtualization? Or Develop on Local VM – Desktop Virtualization on Windows 7 x64 Pl clarify... Can you pl elaborate on the whole setup so that how each developer can update TFs and how to build & test from TFS ultimately. Can u pl send any good link what you follow?
    – Mdh22
    Apr 23, 2013 at 8:39
  • Our approach is to develop on local VMs and use an integration server VM for integration of all items prior to deployment to QA or Production. Apr 23, 2013 at 8:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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