Saturday 21 January 2012

Dynamics CRM 2011 Sharepoint list component is not installed

Check my Wiki article for most recent CRM sharepoint list gotchas:
http://social.technet.microsoft.com/wiki/contents/articles/6918.dynamics-crm-2011-sharepoint-list-component-gotchas.aspx

While installing the Dynamics CRM 2011 List Component I get Microsoft Dynamics CRM List Component is not installed. After a couple of search engine results was clear that this was a common configuration error.

I found a website that was suggesting creating new accounts and give site collection admin etc. I have tried all that and it didn't work. My case was different. Also there is no need to give extra permissions or extra configuration e.g. there is no need to give Site Collection Administrator permissions to the account running the CRM AppPool, also you don't need to change the web application to permissive.

So I've installed the component as instructed on the download page, the only note I want to add as the page does not clarify is how you add the extension AllowHtcExtn.ps1 to sharepoint:

Run the Windows powershell as Administrator and do the following:
 Navigate to the file location and run: filename http://servername

After completed make sure your wsp solution is enabled. On dynamics CRM navigate to settings > document management > Document management settings

Type the Sharepoint site address and click next:
  
And I get the above error.

Solution
I've installed sharepoint foundation on the same server as dynamics CRM. Sharepoint automatically stopped CRM website and taken over port 80. My first reaction was to change CRM to port 81

I've realised that if I swap ports CRM to port 80 and sharepoint to port 81 (needs sharepoint internal address alternate mapping to be changed) the configuration would work.

So I've come to the conclusion that the Sharepoint List Component must be connecting back to CRM reading the following database keys:
ADSdkRootDomain
ADWebApplicationRootDomain

The above keys hold the CRM address plus the port number. In  CRM 4 you could change this directly on the database,  however CRM 2011 deployment manager ships with more functionality and this can now be done from deployment manager. Open deployment manager and on the Actions panel (on the right) click Properties. Go to Web Address:



Change the port number to the correct one and click ok.

If you now try to configure the sharepoint list component you get the correct screen :)

The CRM admin setting up the document management settings, does not need full control in Sharepoint the minimum permissions to create the sharepoint libraries are: Design, Read and contribute.


Conclusion
Dynamics CRM 2011 reads the following database keys, to establish a connection back to CRM:
ADSdkRootDomain
ADWebApplicationRootDomain

If CRM port was changed in IIS, make sure this is also changed on deployment manager so the port number is also applied to the above database keys.

Quick notes:
  1. No need to give Site Collection Administrator permissions to the account running CRM Application pool
  2. The CRM Admin user setting up document management settings only requires Design, Read and contribute permission to create the document libraries in sharepoint. Full control is not needed.
  3. No need to create a second Domain account with domain admin. CRM uses the current logged on user permissions to create the sharepoint libraries and not the Application Pool account.
  4. The two steps given on the microsoft download page are enough to complete the configuration. However the CRM user setting up the document libraries in CRM needs permissions in sharepoint to create the document libraries.
  5. There is no need to change the web application to Permissive.

Hope this helps! :)

1 comment:

  1. Hi,

    SharePoint permission levels you list in the post are redundant. Here is the list of permissions required for CRM users to be able to create folders and upload documents: View Pages / Browse User Information / Open. They can be combined into single permission level.

    ReplyDelete