RSS

Installing the Dynamics NAV 2009 Middle tier on a CRM Server might break CRM

Installing the NAV 2009 middle tier on an existing CRM server using a multi-server approach can cause some issues in regards to the SQL server security.

When your NAV 2009 service tier is running on a different computer than the SQL server, you must enable the Object Change Listener (http://msdn.microsoft.com/en-us/library/dd568739.aspx)

In my case, I was using the Network Service account to run my NAV services, which means I had to set the Machine name in all the stored procedures required for the setup.
Doing so seemed to mess up my CRM installation. My computer account was still a member of the standard SQLAccessGroup and the PrivUserGroup, but all of a sudden I ran into the following errors when opening CRM.

Exception message: Cannot open database “CRMTest_MSCRM” requested by the login. The login failed.

Login failed for user ‘DOMAIN\COMPUTERNAME$’.

Exception message: The SELECT permission was denied on the object ‘ConfigurationMetadata’, database ‘MSCRM_CONFIG’, schema ‘dbo’.

It seemed that adding this computer account to the SQL security overruled the group security set in SQL.

To solve this I just set the same user mappings on my Computer account than on the SQL Access Group, which is public and db_owner on the MSCRM_CONFIG and CRM organization database as shown below.

I could have also set the NAV services to run as a dedicated domain user account.
Don’t think it would have caused any problems setting it up in such a way J

 
Leave a comment

Posted by on December 28, 2011 in CRM 2011, NAV

 

Tags: , , ,

Walkthrough: Capturing the GUID Values of Records Selected in a Grid (CRM 2011 Edition)

You might remember this one from the SDK for CRM 4.0. Doing the same steps as described here won’t get you there for CRM 2011. It seems the dialogArguments no longer contain the selected Guids.

It took me a while to figure this out since there was no entry explaining this in the CRM 2011 SDK. Putting it all together got me there finally.

It all starts of course by adding a new ribbon button to the corresponding grid you would like to get the selected items from. I won’t get into details here on how to do that.
Once you have the button and command definitions in place, it might look something like this:

<CommandDefinition Id="NORRIQ.nrq_customentity.Grid.ButtonProcess">
<EnableRules>
<EnableRule Id="Mscrm.Enabled" />
</EnableRules>
<DisplayRules />
<Actions>
<Url Address ="$webresource:nrq_/ProcessCustomEntity.htm" WinMode="1" WinParams="dialogWidth:400px;dialogHeight:200px" >
<CrmParameter Name="data" Value="SelectedControlSelectedItemIds" />
</Url>
</Actions>
 </CommandDefinition>

You should especially take a look at the CrmParameter element of the XML. When adding an action of type URL, any parameter you pass should be called data.

This is not really mentioned in the SDK under the <CrmParameter> (RibbonDiffXml) section. It does state here that you should call it data, as I can expect you would also want to call external URL’s.

When the CrmParameter is a child of the <Url> (RibbonDiffXml) a Name attribute is required. When the CrmParameter is a child of the <JavaScriptFunction> (RibbonDiffXml) element, the Name attribute is not valid.

Looking a bit further in the SDK you will end up in the Web Page (HTML) Web Resources section which then states that a Web Page resource can only accept and additional parameter called data. For more info check here.

After figuring this out I was sure to get the SelectedControlSelectedItemIds parameter passed to my web page in the data parameter.

You can now break down this data parameter in your web page with a simple JavaScript function like the following:

function GetSelectedIds() {
var vals = new Array();
if (location.search != "") {
vals = decodeURIComponent(location.search).split("=");
var selectedIds = vals[1].toString().split(',');
}
}


If you were using a JavaScript action the solution would be allot simpler. You could just define your JavaScript function to accept a parameter. This parameter will then be filled by your CrmParameter with the SelectedControlSelectedItemIds. No need to define a name here and you could also add multiple CrmParameters J

 
Leave a comment

Posted by on August 11, 2011 in CRM 2011

 

Tags: , ,

Problem when configuring the E-Mail Router: allowed clock skew is ’00:05:00′.

We ran into this issue while configuring the CRM E-mail router with CRM 2011 Online.

After creating the deployment record and testing it with the Load data button, we received the following error:

The security timestamp is invalid because its creation time (’2011-04-27T02:33:17.000Z’) is in the future. Current time is ’2011-04027T02:28:00.1.172Z’ and allowed clock skew is ’00:05:00′.

It seems that the computer/server where the email router was installed was running more than 5 minutes behind the CRM server.

Changing the time on the client to match the time in CRM online seemed to solve the problem.

 
Leave a comment

Posted by on August 10, 2011 in CRM 2011

 

Tags: , ,

Adding a custom tab with multiple groups to the CRM 2011 Ribbon

Ribbon design in CRM 2011 can be quite painful. It’s not documented that well in the SDK, and browsing through the ribbon XML is a real trivial task.

Recently I was trying to add a custom tab to the campaign entity in CRM. This tab should contain 3 groups which contained several buttons.
Following the guides posted here by Siva (http://dynamicscrm2011.wordpress.com/category/crm-2011-ribbon-customization/), I was able to do a great deal of the ribbon design. The only problem here was that he used only one group in the ribbon, which also worked for me.

As soon as I wanted to add a second and third group, no buttons were displayed for these groups.
It turned out that the reason for this was that I needed to define a MaxSize in the Tab node for each of these groups.

You will also need to do the same thing for the scaling of each group of course.

Check the “Define how Ribbon elements are re-sized based on the space available” part of the SDK for more info on this.

Example:

<Tab
Id=MyCustomTab
Command= MyCustomTab
Title=MyCustomTab
Description=MyCustomTab
Sequence=300>

<Scaling
Id=MyCustomTab.Scaling>

<MaxSize
Id=Group1.MaxSize
GroupId=Group1
Sequence=20
Size=LargeMedium />

<MaxSize
Id=Group2.MaxSize
GroupId=Group2
Sequence=30
Size=LargeMedium />

<MaxSize
Id=Group3.MaxSize
GroupId=Group3
Sequence=40
Size=LargeMedium />

<Scale
Id=Group1.Scale.1
GroupId=Group1
Sequence=120
Size=LargeSmall />


….

</Tab>

 
2 Comments

Posted by on July 25, 2011 in CRM 2011

 

Tags: ,

Getting the Scribe CRM Adapter v4.4 to work with CRM 2011 Online

Last week we moved our existing CRM 4.0 database to the cloud! Was quite a struggle but we finally managed to succeed J

I wanted to use scribe to do the data migration, but it seems there are some issues with the 4.4 adapter for CRM.
It is supposed to work from CRM 2011, but you may experience problems when you are on the EU Servers of MS. (crm4.dynamics.com)

To get around this issue, add the following 2 registry keys under HKLM\SOFTWARE\Scribe\Adapters\DynamicsCRMAdapter

  • CrmOnlineUrlOverride: https://dev.crm4.dynamics.com
  • PassportPartner: crm4.dynamics.com

You should now be able to connect using the 4.4 adapter.
Make sure the authentication type is set to CRM Online (Live ID)

 
Leave a comment

Posted by on March 16, 2011 in CRM 2011

 

Tags:

Importing Data in CRM 2011 using XML Spreadsheet 2003 format

Using the XML Spreadsheet format has a few advantages for importing data from Excel into CRM.

As opposed to CSV file imports you don’t have to specify any data delimiters anymore which depend on your regional settings.

Also, importing special characters seems to be more straight forward.

We recently had to import a large list of accounts and imported them first using the CSV format. A lot of the names display unreadable characters because something went wrong with the encoding from Excel to CSV.

After saving the original Excel as an XML Spreadsheet, the import of these special characters was no longer an issue.

So, make sure to save your import files as XML Spreadsheets! J

 
Leave a comment

Posted by on March 8, 2011 in CRM 2011

 

Tags: ,

Could not load all ISAPI filters for site/service. Therefore startup aborted.

You may receive a “Service Unavailable” error when opening CRM in IE. Looking at the eventlog of the CRM server, it seems that Worker Process could not start correctly and show the following entry:

ISAPI Filter ‘C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll’ could not be loaded due to a configuration problem. The current configuration only supports loading images built for a AMD64 processor architecture. The data field contains the error number. To learn more about this issue, including how to troubleshooting this kind of processor architecture mismatch error, see http://go.microsoft.com/fwlink/?LinkId=29349.

This occurred on the CRM server for one of our customers after they installed a 32-bit application which also required a website in IIS called SolarWinds-Orion-NPM.
We are not sure if the installer reconfigured the IIS website, or the sysadmin did J

For IIS 6.0, it is not possible to run both 32-bit an 64-bit worker processes.

This is stated here on the MS website: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/13f991a5-45eb-496c-8618-2179c3753bb0.mspx?mfr=true
On 64-bit Windows, the World Wide Web Publishing service does not support running 32-bit and 64-bit worker processes concurrently on the same server.

Anyway, switching the IIS website back to x64 mode solved our problem.

To do this for IIS6.0, run the following script in a Command Prompt:

// this will disable 32-bit mode on IIS
cscript.exe C:\inetpub\adminscripts\adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “false”

// this will register the .NET framework assemblies in 64-bit mode for IIS
C:\Windows\Microsoft.NET\Framework64\v2.0.50727> aspnet_regiis.exe –i        

Your CRMAppPool should now start correctly

 
Leave a comment

Posted by on February 25, 2011 in CRM 4

 

Tags: ,

Action Microsoft.Crm.Config.Client.InstallPstAction failed when configuring CRM for Outlook

I received this error when I was trying to configure the outlook client for CRM 4.0. It seems that the user had first installed the CRM 2011 client and removed this one to install the 4.0 client.

Uninstalling the CRM 2011 client however leaves some 5.0 files on the machine, causing the 4.0 config to crash.

To resolve this issue according to Microsoft KB follow these steps:

1. Navigate to C:\Program Files\Microsoft Dynamics CRM\Client\ConfigWizard directory or C:\Program Files (x86)\Microsoft Dynamics CRM\Client\ConfigWizard directory.

2. Delete the CRMForOutlookInstaller.exe file.

3. Do one of the following options:

  • Replace the CRMForOutlookInstaller.exe from the 4.0 client install bits.
  • Run a repair on the Dynamics CRM 4.0 Client for Microsoft Office Outlook installation.

4. Run the Configuration Wizard.

 
Leave a comment

Posted by on February 23, 2011 in CRM 4

 

Tags: ,

Exporting a CSV file from ASP.NET with special characters

When you try to export a CSV file from ASP.NET that contains special characters like é å æ É à you may experience the following:

  • Opening the file in Notepad shows the correct characters
  • Opening the file in Excel, it shows characters like é Ã¥ æ É Ã

This also causes problems when you try to import this file in to CRM using the standard data imports.

To solve this issue you will have to use the correct encoding during the export of the file.

Imagine you have used a StringBuilder to generate the CSV file content.

Response.ContentType = “application/csv”;

Response.Charset = “”;

Response.AddHeader(“Content-Disposition”, “attachment;filename=queue-errors.csv”);

 

Response.ContentEncoding = Encoding.Unicode;

Response.BinaryWrite(Encoding.Unicode.GetPreamble());

 

Response.Write(sb.ToString());

Response.End();

 
Leave a comment

Posted by on February 14, 2011 in .NET

 

Unable to extract package error when trying to install CRM 2011 outlook client



You may receive an error when you try to install the outlook client for CRM 2011. When double clicking the installer files, it tells us that the package cannot be extracted.

Try entering the extract command manually in a command prompt window like this:
CRM2011-Client-ENU-i386.exe /extract:”c:\temp\”

Your files should now be extracted

 
Leave a comment

Posted by on January 21, 2011 in CRM 2011

 

Tags: , ,

 
Follow

Get every new post delivered to your Inbox.

Join 33 other followers