My CRM Dev VM

cross post from here

I’ve had a number of conversations with customers recently about what I recommend they install on their CRM dev environement.  In general, I always recommend that individuals do work in an isolated environment to shield themselves from conflicting with work from other devs.  For CRM, this usually means running a single box install of Dynamics CRM 2011 in a VM.  You can either Build your own VM or download preconfigured VMs (you need to create a PartnerSource or CustomerSource account for the latter).  Note that the “build your own” link refers to a prerelease version of Dynamics CRM 2011.  However, I’ve run through the steps with the released version and it still works as described.  Whether you build your own VM or use a preconfigured one, the first thing you are going to want to do is get the latest updates from Windows/Microsoft Update.  I strongly encourage you to opt in for Microsoft Update so you get the latest updates for all the non-Windows Microsoft software as well (Office, SQL Server, Visual Studio, Dynamics CRM 2011, etc.).  The next thing you’ll want to install is the latest update rollups for CRM 2011.  As of this blog post, the latest is Update Rollup 5 for Microsoft Dynamics CRM 2011 (KB 2567454).  The CRM Installers do give you the option to check for these updates and apply them as part of the install.  However, as of writing this, UR5 is on https://bit.ly/vmRaar, but hasn’t made it to the Microsoft Update servers.  The next thing you’ll want to install is the latest Microsoft Dynamics CRM 2011 Software Development Kit (SDK).  The SDK team keeps improving the SDK, adding more samples, documentation, tools, and features.  Therefore, you’ll definitely want to keep an eye out on The Microsoft Dynamics CRM Team Blog for SDK release announcements.  The downside to this, of course, is that if you don’t keep up you loose out on the goodies.  As of this post, the latest version is 5.0.7.  There are a bunch of hidden gem tools in the SDK.  Most of the customers I have spoken with don’t know about them.  Although I will be blogging about many of these in detail in the future, I’ll reiterate what I said my last post.  After you’ve installed the SDK, go immediately to the [InstallDir]\tools and [install]\templates directories. There two folders in particular that are golden nuggets of dev productivity: templates\xrm.pagescriptprojecttemplate and tools\developertoolkit. Both of these add enhancements in the form of VS templates and other helpers that you won’t want to miss.  I’ve done dev without these tools and with these tools.  In my opinion, you’ll see night/day productivity improvement for building/deploying/testing web resources (including Silverlight), plugins, activities, and workflows in your dev environment.  The CRM Explorer that gets added to Visual Studio has some nice productivity enhancements as well.  Be sure to read through the docs in each folder.  There are a number of other tools/SDKs I recommend people install.  Not all will be relevant to every situation, but they are good to have installed.  The first set can be installed using the Web Platform Installer:

    • Visual Studio 2010 SP1 (on Microsoft Update now so you shouldn’t need to install it if you already have)
    • IIS 7.5 Express Update
    • Silverlight 4 Tools for Visual Studio 2010 (if using Silverlight)
    • Silverlight 4 Toolkit (if using Silverlight)
    • SQL Server 2008 R2 Management Studio Express with SP1 (for the curious dev who wants to look at the CRM databases…look, but don’t touch)
    • Windows Azure Tools For Microsoft Visual Studio 2010 (if building Azure integrated solutions)
    • Windows PowerShell 2.0
  • There are also a bunch of visual studio extensions I like to use. 

    • Productivity Power Tools
    • NuGet Package Manager
    • PowerCommands for Visual Studio 2010
    • Web Standards Update for Microsoft Visual Studio
    • Web Essentials
    • Jscript Editor Extensions
    • HTML Spell Checker
    • Indent Guides
    • ItalicComments
    • JavaScript Parser
    • Open Data Protocol Visualizer
    • Reference Assistant
    • Regex Editor
    • Snippet Designer
    • Visual Studio SharePoint Power Tools (if doing SharePoint integration)
    • Hide Main Menu (some people hate this extension, I love it)
  • You can install these through the Visual Studio Extension Manager (Tools->Extension Manager from within Visual Studio).  Which ones you choose depends on your preference.  I view the first 6 as “must have” but your mileage may vary.  I’m a ReSharper addict.  I don’t write code without it.  Not everyone is as fond of ReSharper as I am because everyone’s coding style is different.  Also, ReSharper is not free.  I get nothing from promoting resharper.  I’m just a huge fan of the tool.  Check it out.

  • Last, but not least, there are some very handy tools on CodePlex for Dynamics CRM 2011:

  • Ok, if you have installed all of this, then you will have an environment similar to mine.  One of the things I’ve been getting asked lately is how to do Application Lifecycle Management (ALM) with Team Foundation Server (TFS) and Dynamics CRM 2011.  This is something I have been putting some energy into since I started my new role.  A piece of the overall puzzle is moving solutions from dev->test->staging->prod.  A whitepaper titled Deploying Microsoft Dynamics CRM 2011 and CRM Online Solutions from Development through Test and Production Environments was just published that covers this piece.  I’ll be talking about some of the other pieces in future posts.

  • -Marc (@devkeydet)

  • NOTE: I will occasionally update this post with more stuff.