Introduction

This is certainly not the first blog post that’s popped up explaining how to set up a basic development environment for SharePoint 2010. However, when I recently set up my own dev environment using the existing information out on the internet, I found I had to reference several blog posts, articles from Microsoft, and even a video to get a complete picture of how the whole process works.

In an effort to make things more convenient for myself and for other developers, I wrote this post to try and consolidate all of the key information I’ve found elsewhere (and discovered on my own) into a single place. And if you see anything I missed or got wrong, please leave me a comment and let me know so I can update the instructions.

General Recommendations

Like many other SharePoint folks, I recommend your development environment be a virtual machine if you have that option. My dev machines are typically VMs running within Hyper-V (unless I’m running them on my laptop, in which case I use VirtualBox). I also recommend you run Windows Server 2008 R2 (rather than Windows 7) as the OS on your dev machine if you have that option simply because it’s a more powerful OS and is more reflective of what a real production environment would look like.

Lastly, I recommend installing SharePoint as a “single-server farm” rather than as a “standalone” installation. Aside from the fact that a farm install allows you to scale it out later if you ever need to, it also allows you the option of using a “real” edition of SQL Server rather than the “Express” edition that the standalone version uses.

Requirements and Prerequisites

Whether your dev machine will be virtual or physical, it must meet the minimum hardware requirements outlined here: http://technet.microsoft.com/en-us/library/cc262485.aspx. Don’t worry about the software requirements yet that are mentioned in that article. We’ll get to those later.

Assumptions

These instructions assume you have licenses and software for Windows Server 2008 R2, SQL Server 2008 R2 (Developer, Enterprise, or Datacenter edition), Office 2010 (optional but recommended), and Visual Studio 2010. If you plan to use Windows 7 or Windows Vista rather than Windows Server 2008 R2 then Microsoft recommends doing a standalone installation, in which case you can use this set of instructions rather than the ones I present here. I don’t cover Windows Server 2008 (non-R2) installations here.

Installation Instructions

  1. Install Windows Server 2008 R2 (Enterprise edition preferred). Be sure to install the “full” version and not the “server core” version. (The server core version has no GUI support.)
    1. Configure the Administrator password to never expire. (Using Server Manager, open the Configuration node. Open Local Users and Groups, and click on Users. Right-click on the Administrator user, and choose “Properties.” Select Password Never Expires.)
    2. Set the server name.
    3. Turn off Windows Firewall (makes things easier and isn’t really needed for a dev machine).
    4. Turn off Enhanced Security Configuration for Internet Explorer. (Using Server Manager, click Configure IE ESC on the main page. Select “Off” for Administrators.)
    5. Under “Server Features” (in Server Manager), enable Desktop Experience and Windows PowerShell Integrated Scripting Environment.
    6. Configure “Disable Loopback Check” in registry (I used Method 2 in this article for doing this, which is fine for a dev machine even though it says “Less Recommended Method”).
  2. Configure your machine as a domain controller (makes it much easier to do a single-server farm installation).
    1. Install the Active Directory Domain Services server role.
    2. Run “dcpromo.exe” to promote the machine to a domain controller (in my case the wizard for the above-mentioned server role gave me the choice to do this automatically when it finished running).
    3. Since this is a dev machine, I kept things simple and set up a single domain called “Dev.”
  3. Create some domain accounts that will be needed when installing SharePoint and SQL Server. (Even though it’s certainly possible to do everything under a single account, I prefer to use a few different accounts simply because it reinforces the practice of using least-privilege administration just like you would in production.)
  • SP Farm Account (I called mine sp_farm)
  • SP Services Account (I called mine sp_service)
  • SQL Server Services Account (I called mine dev_sql)

      4. Install SQL Server 2008 R2. The Enterprise edition is recommended, but the Developer and Datacenter editions will do fine as well. (Note: If you go with SQL Server 2008 rather than 2008 R2, you’ll also need to install SP1 and SP2 CU2 for SQL Server 2008.)

  • Under Instance Features, I installed Database Engine Services (both), Analysis Services, and Reporting Services.
  • Under Shared Features, I installed Business Intelligence Development Studio, Management Tools (Basic and Complete), and the Microsoft Sync Framework.
  • On the screen asking which accounts to run services under, I chose the option for running all services under the same account and gave it my Dev\dev_sql account.

     5. Install the WCF Hotfix for Windows Server 2008 R2.
     6. Install ADO.NET Data Services for .NET Framework 3.5 SP1 (for Windows Server 2008 R2).
     7. Run SharePoint’s PrerequisiteInstaller.exe (included with SharePoint 2010 in the same folder as Setup.exe). Remember the software requirements I mentioned in the Requirements and Assumptions section above? That’s what this tools installs. (It also configures IIS and does a few other things.)

NOTE: The prerequisite installer will not tell you to reboot when it’s done, but you need to reboot anyway to complete the configuration changes it made.

     8. Now it’s time to run Setup.exe for SharePoint. HOWEVER, there’s a caveat here. Because our machine is a domain controller, Setup.exe will assume we want SharePoint installed in standalone mode and will never give us the screen where we can choose to install as a single-server farm. To get around this, you need to open a command prompt window, navigate to the directory where Setup.exe resides, and issue the following command:

setup.exe /config Files\SetupFarm\Config.xml

     9. On the “Specify Configuration Database Settings” screen of the setup wizard, enter the name of your server as the database server. I kept the default database name that was provided (because I don’t really care on a dev machine), but you’re welcome to change it if you wish. For the database access account, enter the name of the SP Farm Account you created earlier (Dev\sp_farm on my machine) and the password.

Notes: During the installation process you’ll be asked for a “passphrase” for your farm. This should be a new password that follows the same strong naming conventions you’d normally use. You’ll also be asked whether you want to use NTLM or Kerberos authentication. Unless you’ve got a compelling reason to use Kerberos in your dev environment, I recommend NTLM. It requires less configuration.

10.  Optionally (and recommended), you can run the SharePoint Configuration Wizard after the installation wizard completes. This wizard helps you configure your initial farm settings and also optionally allows you to create a new top-level web site. (Note: If you intend to use the Claims-based authentication mode for your top-level site, I recommend skipping this step and creating the site later by hand because the wizard will enable the “Classic” authentication mode by default, which doesn’t allow forms-based authentication.)

Note: The other service account I had you create earlier is used in this step. On the page where you configure Services for your farm, the first field is “Service Account.” You have two choices: Use Existing Managed Account or Create New Managed Account. I chose Create New Managed Account and entered my service account (Dev\sp_service in my case) and password.

11. Install Microsoft Office 2010 (recommended by not required). Not much to talk about here. Compared to SharePoint, installing Office should be a piece of cake.

12.  Install SharePoint Designer 2010.

13.  Optionally, install Microsoft Office Visio 2010 (if you want it and have a license for it).

14.  Install Visual Studio 2010 (I installed the Pro version because that’s what comes with my Action Pack subscription).

Note: When installing Visual Studio, select “Custom” installation and uncheck “Microsoft SQL Server 2008 Express Service.” Otherwise you might get an error at the end of the installation process about that component not installing correctly.

That’s basically it. Now you should have a fully functional SharePoint 2010 development machine up and running.