Saturday, March 24, 2012

Creating Icons for Dynamics CRM 2011



If you follow my tweets you will have seen the odd mention of a session at the MVP Summit regarding the new polar data centers Microsoft is rolling out. I am still under the embargo/NDA from Summit (and probably should not have mentioned as much as I have) but have finally been given the green light to talk about it now that Convergence is finished so this will be coming out next week. Serious game-changing technology on many levels and very exciting for Azure and CRM Online customers. Not to be missed. Now back to regular broadcasting…

The Problem

One of the key strengths of Dynamics CRM is the ability to go beyond the traditional domains of salesforce automation, case management and direct marketing. To give an example, the last two projects I worked on involved:

  • Contract execution for an international transportation company i.e. sourcing the goods, sourcing the transport and ensuring all customs regulations were followed
  • Management of the committees and the associated projects in developing international standards for industry

Both of these were pure CRM systems i.e. minimal third party add-ons and required minimal code. Neither fell into the classic baskets for CRM systems but this is the norm for Dynamics CRM.

But I digress, as this is not a blog post about xRM. An inevitable consequence of going outside the traditional areas is you must create additional entities to hold the data. Entities are the ‘record types’ or, for the more traditional of us the additional database tables to hold different kinds of data (it is not as simple as one entity = one table in Dynamics CRM but the analogy is sound).

Creating the entity is easy, as is linking it to existing record types in CRM. You simply hit the new button and give it a name.


One of the trickier aspects is updating the icons for the new entity. Sure, there is the ‘Update Icons’ button on the top of the entity screen but what then?

Well the screen that pops up highlights the problem nicely.


For any given entity we need to create:

  • A PNG file of 16x16 pixels
  • An ICO file of 32x32 pixels
  • A PNG file of 66x48 pixels

but there is nothing, directly in the product, to help us do it.

The Solution (almost)

For version 4, Tanguy (an all-round great guy) wrote an excellent article on how to use the Microsoft Demonstration Tool to automatically generate the icons and upload them to CRM. In fact the article was so good, these guys ripped it off a year later Winking smile

Despite our German plagiarists publishing the article under a 2011 blog, the tool does not quite work for CRM 2011. While you can connect the tool to an on-premise implementation, it will not connect to an online one. Also. while you can connect, you cannot directly upload.

So what do you do?

Well, assuming you have access to an on-premise implementation (perhaps you have a copy of the CRM demo VPC from a friendly partner) you can still create the icons.

First of all, download the Demonstration Tool program, run the exe and click the link at the top to connect.


The box that pops up asks for the usual login, password etc. Once in, click the Icon maker icon to take you to the icon maker page.


Click on the first Select Image… and add in a picture. Then click the ‘Use for all icons’.


The image above is taken directly from Tanguy (saved me firing up my VPC). He has chosen to click the ‘Add Background’ box as well. I generally don’t but it is up to you.

If this was CRM 4, at this point you would click the ‘Publish to CRM…’ load up the icons and congratulate yourself on a job well done. No such joy for us CRM 2011 folk. We need to click the ‘Save…’ button. The usual file save box opens up and while it will give all indication that it is just saving a png file it will, in fact, save three files, with semi-meaningful names (‘application’, ‘outlook’ and ‘form’), for manual uploading to CRM.

Loading up Icons

CRM 2011 treats images as Web Resources. So, in order to load an image up for our entity, we must add it as a Web Resource. Generally I do this on the fly. So firstly, go to the entity and click on the ‘Update Icons’ button. Now click on the first lookup.


Click the ‘New’ button to add a new Web Resource. Click OK a lot and you will have your first image in CRM. Rinse and repeat for the other two lookups and you are done.


The process for adding custom icons to CRM has not changed significantly, from memory, since version 3 so it is a little clunky. If Dynamics CRM was getting a performance review from its boss, this would fall under the ‘needs improvement’ column (and I am sure it is on the list back in Redmond). However, assuming you have access to an on-premise install, you can generate the required icon files relatively painlessly with the version 4 Demonstration Tools. Download it and go from image to image. If you feel Microsoft should invest some time in improving the icon updating experience, you can also drop by at and add in a request. This list is the driver for new features in the product so have your say.


Jukka Niiranen said...

One time saver when working with a CRM 2011 (or CRM Online) environment is that you can skip creating the 66x48 altogether, as they are no longer used, even though the Update Icons dialog prompts you to upload those.

Adam Vero said...

Jukka beat me to the punch.
The entire dialog is horribly misleading. The MSDN article about this has finally been corrected, but almost every other resource seems to have this wrong.
16x16 is used for all navigation panes and for icons shown in lookup fields. Outlook and browser client exactly the same.
32x32 is now used as the form icon (not the old 66x48), again in all clients. This one no longer has to be an ico file, a regular png works just great.
So this is far easier and quicker than CRM 4 - create a 32x32 png file, do a quick resize to 16 x 16 and then maybe re-hint that one a bit and you have all the files you need.
(I tend to design the 16 and 32 sizes independently in many cases as a resize either way round is just fuzzy. 16 often needs to be a simplified version of the concept, not just a smaller rendition)

Leon Tribe said...

Thanks Adam and Jukka. Much appreciated. Like most users I generally just follow the dialog and assumed all three were needed. Great to know this isn't the case.

Marcus Norman said...

Great Article Leon. Thanks for correcting this from the MSDN article.

Tanguy said...

Yep, great article!
Thanks for mentionning me :)