Tips and Tricks for setting up a SharePoint 2010 development environment

Category : SharePoint 2010, featured

While SharePoint 2010 is similar to SharePoint 2007, there are many tips and tricks to setting up a proper SharePoint 2010 development environment. Some of these are the same as SharePoint 2007 and some are new to SharePoint 2010. I run all my development environments in a single server farm configuration on VMWare products.

  1. Use a 64-bit Windows Server environment as your virtual machine because SharePoint 2010 only runs on 64 bit. I am using Windows Server 2008 R2 at the time of this blog.
  2. Make sure your host machine has at least 8GB of RAM. SharePoint 2010 is a beast and you need to allocate at least 5GB to the SharePoint virtual machine (but hopefully you can do more than that). Otherwise it might be slow development for you.
  3. Make sure you host machine has a fast disk. 7200 RPM will work, but 10000 RPM or an SSD drive will make things go faster for you.
  4. Configure your SharePoint virtual machine to act more like a desktop operating system. SharePoint runs on a server which can make the environment act differently than a desktop operating system. I use the Windows 2008 Workstation converter from: http://www.win2008workstation.com/win2008/windows-server-2008-workstation-converter. This allows me to:
    1. Remove the Shutdown tracker
    2. Change the machine name
    3. Disable Enhanced IE Security Configuration
    4. Install Desktop Experience
    5. Disable Verbose messages at startup and shutdown
  5. Install SQL Server 2008 SP1 and the cummulative updates. At the time of writing this blog the latest cummulative updates were required to install SharePoint 2010.
  6. Turn the machine into an Active Directory Domain Controller
  7. Create an sp_admin account in my AD and use this account to setup SharePoint
    1. Give this account DBCreator and Security roles in the SQL Server database
    2. Delegate Replicating directory changes control to this user (this is used in lieu of making the user an administrator on the machine)
      1. In AD Users and Computers applet, right-click your domain and choose delgate control
      2. Choose “Create Custom Task to Deletage”
      3. Choose to delegate control of “This folder, existing objects in this folder”
      4. Choose to pick “Replicating Directory Changes”
  8. Setup environment variables to the 14 hive
  9. Setup a menu on the toolbar to the 14 hive so you have easy access to it on your server
  10. Enable developer dashboard on demand: stsadm -o setproperty -pn developer-dashboard -pv OnDemand
  11. Enable Sandbox Solutions to work on a Domain Controller (typically they don’t). Use the following PowerShell script:

$acl = Get-Acl HKLM:\System\CurrentControlSet\Control\ComputerName
$person = [System.Security.Principal.NTAccount]“Users”
$access = [System.Security.AccessControl.RegistryRights]::FullControl
$inheritance = [System.Security.AccessControl.InheritanceFlags]“ContainerInherit,ObjectInherit”
$propagation = [System.Security.AccessControl.PropagationFlags]::None
$type = [System.Security.AccessControl.AccessControlType]::Allow
$rule = New-Object System.Security.AccessControl.RegistryAccessRule($person, $access,$inheritance, $propagation, $type)
$acl.AddAccessRule($rule)
Set-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $acl

Post a comment