Tuesday, September 14, 2010

Update Rollup vs. Build Version comparison for Microsoft Dynamics CRM

To determine which update rollup is installed on your server or client, the below table provides a precise mapping between the update rollup version and CRM build version.

(This post is regularly updated to keep current with the latest releases)

The updates documented in this blog for:
  • Microsoft Dynamics CRM 4.0
  • Microsoft Dynamics CRM 2011
  • Microsoft Dynamics CRM 2013
  • Microsoft Dynamics CRM 2015
  • Microsoft Dynamics CRM 2016
You can use the below command using SQL Server Management Studio on your CRM database to determine the current version of CRM.

select * from BuildVersion



If you're unable to view the above table, click here to see it in a new page.

As mentioned earlier, I'll try to keep this post updated. In case of any delays, thank you for leaving a comment below. This will keep other visitors updated while notifying me too to take an action.

Tuesday, April 20, 2010

Who has the Outlook Client Installed

There could be times when you would want the list of User's using the CRM Client for Office Outlook. Here is a small script which you could execute on CRM's Organization database. This script will give you the machine name and user's fullname.

SELECT dbo.Subscription.MachineName,
dbo.SystemUserBase.FullName
FROM dbo.Subscription, dbo.SystemUserBase
WHERE dbo.Subscription.SystemUserId = dbo.SystemUserBase.SystemUserId

Tuesday, April 13, 2010

Uploading Attachments using Data Migration Manager

If you want to upload Attachments in bulk into the CRM system, Data Migration Manager comes handy if you know the tricks. Let me summarize the procedure here:

1. List your attachments in a CSV file as shown in the figure below. Let it contain these columns

#Filename, The name of the attachment file.

#Document, Give each attachment a unique name and store it in the file system organized in one of the following ways.

  1. Store attachments in the folder which contains the CSV file where you listed your attachments.
  2. Store them in the sub-folder named Attachments. It must be a sub-folder of the folder where the attachments list CSV file is stored.
  3. Store them in a sub-folder named Documents. It must be a sub-folder of the folder where the attachements list CSV file is stored. (I've used this option as shown below)

#Regarding, Is the name of the record in CRM (Account, Contact etc.) against which this attachment will be stored.

#Title, The title of the Attachment in CRM.

#Here I show the attachment file that is being uploaded. Notice that I've given it a unique name and mentioned the same in the excel file above.

#You are ready to begin the Migration. Here map the CSV file that contains the annotations to the Note entity. If the CSV file contains attachments, check the "Includes Attachments" checkbox as shown below.

#If the CSV file contains notes you can ignore the checkbox. Here is a figure that shows how you can upload Notes.

#Map the columns as usual and if you are uploading attachments map the "Document" Column with the "Document" attribute in CRM.

You are done. The attachments are now accessible on CRM.

Tuesday, February 9, 2010

The length of the 'messageid' attribute of the 'email' entity exceeded the maximum allowed length of '100'

I was receiving this error often at the Event Viewer > Application Log of the CRM Server.

#9628 – An error occurred while delivering the e-mail message with subject "This is a second demo" in mailbox crmdemo@gmail.com for delivery to http://192.168.1.205:5555/crmdemo.System.Web.Services.Protocols.SoapException: Server was unable to process request.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.Crm.Sdk.Proxy.CrmService.Execute(Request Request)
at Microsoft.Crm.Tools.Email.Providers.CrmPollingMailboxProvider.DeliverMessageInternal(EmailMessage emailMessage)
at Microsoft.Crm.Tools.Email.Providers.Pop3PollingMailboxProvider.DeliverMessageInternal(EmailMessage emailMessage)
at Microsoft.Crm.Tools.Email.Providers.CrmPollingMailboxProvider.DeliverMessage(EmailMessage emailMessage)
at Microsoft.Crm.Tools.Email.Providers.CrmPollingMailboxProvider.Run()\r\n
0x80044331
A validation error occurred. The length of the 'messageid' attribute of the 'email' entity exceeded the maximum allowed length of '100'.

Resolution:
Tweak the Message ID attributes Maximum Length from 100 - 200 or 250 and you are good to go.
Procedure:
  1. Settings > Customizations > Customize Entities > Email > Attributes
  2. Double click Message ID and change the Maximum Length
  3. Save and Close
  4. Publish

E-mail Sending Failed - Dynamics CRM 4.0 E-mail Router

Recently I had a chance to date with the E-mail Router for Microsoft Dynamics CRM 4.0. I did not have an Exchange Server setup so I tried with the POP3 e-mail settings. Though it was straight forward and easy to configure the E-mail Router, I had some trouble sending an e-mail from CRM.

By the way, I am using Google Mail (Gmail) POP3 service to configure my environment.

I received the below error
#61042 - An error occurred while processing the outgoing e-mail
message with subject "xyz" for SMTP: http://localhost:5555/organizationName for
delivery through smtp.gmail.com. System.Net.Mail.SmtpException: The operation
has timed out.
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at
Microsoft.Crm.Tools.Email.Providers.SmtpPollingSendEmailProvider.ProcessMessageInternal(email
emailMessage)
at
Microsoft.Crm.Tools.Email.Providers.CrmPollingSendEmailProvider.ProcessMessage(email
emailMessage)
at
Microsoft.Crm.Tools.Email.Providers.CrmPollingSendEmailProvider.Run()


After trying things like re-configure E-mail Router, Gmail POP3 settings, E-mail Router service restart etc. something dawn'd on me.

I noticed that Gmail had provided with 2 port numbers, SSL (Secure Sockets Layer) and it's successor TLS (Transport Layer Security). I replaced the SSL port number with the TLS (ie 465 with 587) in the E-mail Router Outgoing Configuration Settings under the Advanced tab.

Result: The E-mail moved on and so did I. Happy e-mailing!!