Microsoft Dynamics 365 Blog

Today we have a relatively serious topic: Registry Settings. Unfortunately this can be an extremely boring topic – so I have opted for a more casual and sarcastic style.


Microsoft Dynamics CRM 3.0 has a boatload of additional settings which many of you might be unaware of. These additional settings are stored in the registry of web server machines. If you don’t know how to edit the registry – then you probably shouldn’t be (as patrician as that sounds – trust me – it’s for your own good). Wikipedia has a nice overview of the Windows Registry or there is the rather dry MSDN version.


Let’s start with supported vs unsupported. If you modify a registry setting which is not documented in our SDK (the downloadable one or the one on MSDN) then it is an unsupported modification. The undocumented ones are used for the internal operation of the system: changing them only makes you look smart – it doesn’t actually make you smart. Those technical readers out there will be aware of the type of person I’m referring to: the one who unnecessarily modifies their registry to impress others (a kind of Fast and Furious of the computer configuration world).


Here is the list of items from the SDK which you can modify:



















































































Registry Setting


Description


AbsoluteExpirationMinutes


For Hosted Microsoft Dynamics CRM 3.0 release only. Used to control authentication in a hosted environment.


AllowUnresolvedPartiesOnEmailSend


Used to allow unresolved parties on e-mail send.


CookieDomain


For Hosted Microsoft Dynamics CRM 3.0 release only. Used to control authentication in a hosted environment.


DebugExceptionsInfo


Returns unmanaged code exceptions.


DebugTraceLevel


Returns managed code exceptions.


FaxCoverPageDirectory


Used to override the location Microsoft CRM searches for fax cover pages on Microsoft CRM SBE installed on SBS.


IgnoreErrorsFlags


Used to allow the Outlook client to load regardless of error conditions.


LogPerfData


Used to enable performance tracing.


LogPerfDataDetails


Used to get additional details when using logging.


LogPerfDataLevel


Used to specify the level of tracing.


maxrecordsforexporttoexcel


Used to indicate the number of records to export to Microsoft Excel.


MaxRowsPerPage


Specifies the maximum number of rows returned from a Fetch query.


maxuploadfilesize


Used to set the size limit for files uploaded to Microsoft CRM through Bulk Import or as attachments.*


ProgramFilesDir


Used to change the installation path for the Microsoft CRM Desktop Client.


ReportViewingUrl


For Hosted Microsoft Dynamics CRM 3.0 release only. Used to specify the URLs for viewing reports. Multiple URLs are supported for multiple server configurations.


ServerUrl


Updated by appending an ‘s’ at the end of the ‘http’ value after enabling Secure Socket Layers (SSL) after the Microsoft CRM server is installed.


SessionExpirationMinutes


For Hosted Microsoft Dynamics CRM 3.0 release only. Used to control authentication in a hosted environment.


SmtpCodePage


Used to override the codepage used when sending e-mail in Microsoft CRM.


SOCKETTIMEOUT


Used to set the timeout value for the Post Url action.


SQLRsServerURL


Updated by appending an ‘s’ at the end of the ‘http’ value after enabling Secure Socket Layers (SSL) after the Microsoft CRM server is installed.


timeout


Used to set the timeout value for .NET assemblies.


TurnOffFetchThrottling


Specifies whether or not to use the value set for MaxRowsPerPage.


WFPoolingInterval


Controls the time interval (in seconds) for workflow service pooling the event log table. Used to configure the workflow pooling interval.


WFWorkerThreads


Used to configure the number of threads run by the workflow service.


WorkflowPostUrlAuth


Used to indicate that the Post Url action should post security information.


One of the most common settings to be modified is the maxfileuploadsize setting. It’s been blogged a couple times by some others (Menno and Anne) but recently I’ve been getting a few questions about this. CRM restricts the size of files for import (for email attachments, regular attachments, sales literature documents and customization import files) via this registry key. The CRM client also has the same setting which it uses for uploading files. You can find the client key here: HKEY_CURRENT_USER\Software\Microsoft\MSCRMClient.


Another favorite is the MaxRowsPerPage. This is typically used when you have integration code requesting large sets of data using the FetchXML query language inside our web services API. Note that the max value is still 5000 records.


If you are using the CRM integration products you can also adjust the database which the product uses. See this post from by our Connectors Team.


Those seeking to tweak the performance of their Terminal Service or Citrix implementations should also check out this blog post by John Song.


Remember that any time you modify the registry of your CRM implementation you will need to make these changes on all the web services in the load balanced cluster.


Philip Richardson

We're always looking for feedback and would like to hear from you. Please head to the Dynamics 365 Community to start a discussion, ask questions, and tell us what you think!