Dublicate detection window too small…

Dublicate detection window too small…

Had an interesting error reported by a customer today. It seems that in the Swedish version of CRM 4.0 the duplicate detection window showing found duplicates is too small. You cannot see the buttons:

This is a bit trick to fix since this form is not customizable and I think the only supported way of actually fixing it is changing the amount of text at the top by exporting the tags.
There is, however, a very small unsupported change that you can do that will enable the scrollbars which will allow you to scroll down to see and press the buttons.
Open the file: CRMWeb/Tools/DuplicateDetection/ViewDuplicates/ViewDuplicates.aspx
and edit the tag to instead. It will give the following result:
Which will allow the user to scroll down and see and press the buttons.
The risks of this unsupported fix is that it might be overwritten in update rollups, but it would destroy anything and there are no risks when upgrading to 2011.
I really would like Microsoft to fix this bugg though…
If anyone has some other solution to this, that is supported, please leave a comment.

Gustaf Westerlund
CEO, Chief Architect and co-Founder at CRM-konsulterna AB


Problem with installing CRM on machine with Microsoft .NET Framework 4 installed

I was setting up a VPC today and during the checks I got the following error:
“ASP.NET 2.0 is not installed”

Very weird. I had it installed and I tried repairing the installation and running aspnet_regiis -i on the ASP.NET 2.0 framework. After some googling I found that this was due to Microsoft .NET Framework 4.0 installed and this excellent blog explaining what was wrong and how to fix it. I did, however, have to remove the ISAPI filter for .NET Framework 4.0. Check it out here:


Gustaf Westerlund
CEO, Chief Architect and co-Founder at CRM-konsulterna AB


Working with language translations and Dynamics CRM

I was recently preparing a demo for a potential customer here in Sweden, my last task at Logica, a company I am now leaving, which is a bit sad since I like the company and most especially my colleageus there.

When preparing this demo I was working with an english version of CRM but the demo was to be all in Swedish and the potential customer was a state-owned company which does all it’s work in Swedish. Hence I needed to translate some of the customizations I had made and I had also used the eService accelerator and need to translate this aswell.

I hadn’t actually done any translations previously, it had always been my colleagues doing this and it was a good lesson.

I exported the translations, opened the zip and started working with the translations in the xml. Wrong… despite the fact that it is xml it is actually an Excel document and I hadn’t read that part and since my CRM server didn’t have Excel installed, I didn’t see the icon you can see when you do have Excel installed.

So, I was using Visual Studio to edit the translations and it was a bit of a hassle since it was quite a large document and visual studio didn’t really like it.

Well, after some time I noticed that it had some tags saying it was an Excel document. So, I opened it in Excel and voilà a lot easier to work with. So, just a suggestion, don’t do the same misstake and sometimes, RTFM.

Another thing I found was that it was a bit hard finding the  right attributes in the rather large list and the solution was quite simple. When adding an attribute and entering the english display name, I added a string at the end, for instance “GWCRM”. I could then use this as a search string in Excel when editing it, to find the correct displaynames to change. And when adding the swedish translation, I removed the “GWCRM” part at the end of the English.

This is the last day at Logica, all my best to my wonderful colleagues here and I wish you all the best of luck with your future business!

Gustaf Westerlund
CEO, Chief Architect and co-Founder at CRM-konsulterna AB


32 bit apps in 64 bit IIS 7

I havn’t been working that much with IIS 7 and not on 64 bit environments yet. Always easier to work with what you know but sometimes you just have to get out of that comfort zone and grasp the new!

IIS 7 has a very different GUI from IIS 6 and there are many changes under the hull aswell.

I was trying to install the eService Accelerator on a 64 bit environment with IIS 7 on Windows Server 2008 R2 and the example portal (Fabrikam) gave me the following error:

Could not load file or assembly ‘Microsoft.Crm.Sdk’ or one of its dependencies. An attempt was made to load a program wih an incorrect format.

A little digging around and checking some blogs I found the error, the app pool was set up to not support 32 bit applications. The fix is to mark the app pool, click advanced settings, and under the general section, change the “Enable 32-Bit Applications” to true. Then you can just confirm this by updating the webpage.

Gustaf Westerlund
President, Chief Architect and co-Founder at CRM-konsulterna AB


Workflow scope and security roles

When creating workflows there are some things that have to be taken into account. One thing that you might not know the details about is the Scope in “Options for Automatic Workflows”. There are four options that are very similar to the options used for setting up security roles. They are:

– User
– Business Unit
– Parent: Child Business Unit
– Organization

Bellow the selection of the scope, there are some workflow triggering options, like starting the workflow when on create or when an attribute has changed.

The meaning of this is that dependent on the scope you have selected, the triggering will be set up, based on the user who owns the workflow.

So, for instance, if I select “User” in scope and then select triggering on attribute change, and I am the owner of the workflow, then it will only trigger when I make a change to the object.

If scope is set to Organization, it will trigger for all users in the tennant which is why this is most often used. Note however that user is set as default, so you’ll have to change this when creating the workflow if you want it to work for someone else than yourself.

This is a useful tool since it can allow powerusers to create their own workflows to help them with their work without actually enabling this for everyone else.

As I have mentioned earlier, the workflow functionality is very powerful, and even thought there are protections agains infinite recursions and such, there is still the risk that semi skilled powerusers creating workflows that put a heavy load on the asyncservice, so I would be a bit reluctant on letting them use this. Thorough training is a must before and try to teach them to keep the workflows simple. If you have several custom workflow activities, for instance, activities for integrating with other systems, I would be very careful since it is hard, if not impossible to restrict a custom workflow activity to just a selected amount of users.

Gustaf Westerlund
Microsoft Dynamics CRM Architect