Monday, February 1, 2016

Installing Dynamics CRM 2016

Installing Microsoft Dynamics CRM 2016

How to install MSCRM 2016 on a Windows Server 2012R2 with SQL 2014

MSCRM 2016 is here, and it's time to take a look at the installation to see what, if any, parameters and configurations have changed.
Spoiler: Nothing's changed, if you know how to install CRM 2013 or CRM 2015 then you know how to install all three. One thing to notice is that the setup has become more intelligent over the years, and now it will give the vss writer service account the correct permissions, and it will add the SPNs needed automatically (gived that you have the necessary permissions).
It does not, however, fix the performance log access the async and application service account needs, so you still have to add those manually.

Environment

I've set up a Hyper-V host with Windows Server 2012R2 with Active Directory and SQL Server 2014. Since it's all in one box I might have to cheat a bit, but I'll make sure to highlight it if it's relevant.
I've created an organizational unit in the root of my forest named "CRM" to use for the different groups.

Some tips:
  • If you're just setting up a dev box then these are the only roles needed for SQL Server:
    • Database Engine Services
      • Full-Text and Semantic Extrations for Search
    • Reporting Services - Native
  • If you want to create the service accounts using powershell, add the ad ds command line tools from Roles and Features
  • CRM will give you an error message if SQL Server Reporting Services isn't running with a domain user credentials, so if you've installed with local users I advice to switch accounts before CRM installs. Here's how (technet)
  • Add the Asynchronous Processing service account and the Application service account to the performance log users before installation, just to save yourself the red ring of death that is the summary error!

Service accounts

I've pre-created the service accounts needed to install. I just use a short powershell command to generate accounts with the same password:

("svc-crmapp", "svc-crmdeploy", "svc-crmasync", "svc-crmvss", "svc-crmmon", "svc-crmsandbox") | foreach {New-ADUser -Name $_ -Confirm -AccountPassword (ConvertTo-SecureString -Force -AsPlainText "Secret123") -CannotChangePassword $true -ChangePasswordAtLogon $false -PasswordNeverExpires $true -Path "OU=ServiceAccounts,DC=test,DC=local" -Enabled $true }


Installation time!

  1. It starts out like usual, asking to download updates for the installation only. I recommend that you do, because the installation could have bugs that have been fixed in newer updates.
  2. License key: you know what to do (but in case you don't, here's the trial license key: WCPQN-33442-VH2RQ-M4RKF-GXYH4)
  3. Read carefully through the lengthy terms, then proceed and hit install to download and install the necessary prerequisites (I'll add a future blog post on how and where to download these prerequisites manually, to enable installing on systems that are not connected to the internet)
  4. If you see the following screen that means you'll have to restart (manually) and retry the setup. Geez Microsoft, it's been 5+ years since 2011 came out, can't you add a "restart now" button </lazy>
  5. We're back! And it's time to decide on the installation path and which roles to add. In my case I'll be using defaults, and I'll add all roles. I'll be adding a future bloggpost with guidelines for multi-server deployments, be sure to check it out!
  6. Next specify the SQL Server you want to use. If you're using SQL Server HA then you'll have to go through some ardous steps to configure CRM to use this post-installation. I hoped it would be easier in 2016, but they still haven't fixed native, UI support for HA listeners yet. Want to know how? Well here's how (technet)
  7. Select the OU where you want to create the CRM groups. CRM 2016 (and the previous three versions) create 4 groups used for various purposes. If you want to create them manually you'll have to specify them in a config-file used for installation. I'll add some words of wisdom regarding unattended installation in a future blogpost, including what to do with those pesky encryption keys. In the meantime, here's the doc for the xml config (technet)
  8. Next, specify the service accounts used for CRM, domain\username followed by passwords. Still the same 6 service accounts as in CRM 2013 and 2015
  9. Next select which website you will use. I personally prefer to use a new website, and just edit the bindings in IIS later. The reason for this is that the MSCRM setup didn't use to remove the IIS default settings for the default website, so you got a lot of port bindings that you didn't need or want (like :808 which causes problems with the sandbox service and fetch based reports). More info on port numbers found here (technet). I'll be using the default this time, it's just for demoing anyway.
  10. Specify the server used for the email router if you already know which one that is. Hopefully you'll be using the server-side-synchronization for emails, in which case just leave this field blank.
  11. Now it's time to specify the defaults for your first organization. If you're using a multi-server deployment with only a few roles you won't get this screen. Remember! You can't change these settings later, so make sure you know which settings you want. The display name is the display name of the organization (metadata is important too!). The unique name is used in combination with a pre-defined text to create a database name (also, IFD uses this name appended to your URL to create public facing URLs). example_mscrm will be my organization.
    Also, make sure that you use the same collation as the SQL Server instance you're using, to prevent unnecessary translations in the db engine.
  12. Specify the reporting services URL, this is the normal user accessible URL to your reporting services server, not the admin URL. By default the installation will suggest the same address as to your SQL Server, which isn't necessarily the case.
  13. Next, you choose whether you want to be part of the customer experience program. I would check no, unless it's OK to send anonymous data to Microsoft about how you use the CRM application.
  14. Finally, you're at the system verification check. If you're lucky you've done everything right, and it's all green (except for the data encryption, which you should fix post installation. See my future post for more information regarding encryption keys)
  15. If you receive this screen you have to give the service accounts for the application role and asynchronous processing service permissions to the performance log. Use the following command to add each of them
    net localgroup "Performance Log Users" /add test\svc-crmasync
  16. YOU'RE DONE! Let the installation run to completion and you're ready to start on the post installation tasks.

Wrap-up

As you can see, installing CRM 2016 is simple, simple as pie. Just follow these steps and you'll be done in no-time.
Tomorrow I'll go through the post-installation steps, be sure to check in!

No comments:

Post a Comment