Archive for June, 2010

XML Duplicate Remover

June 24, 2010

What’s this?

XML Duplicate Remover is a XML tool that can find duplicate XML nodes, remove duplicate XML nodes from XML document.

How it works?

Using XPath to specify which nodes should be compared, compare it’s attribute or child node value to determine if they are duplicate.

Key Features

  • Find all duplicate nodes
  • Remove duplicate nodes(Remain first node)
  • Automatically resolve available XPath from XML document
  • Batch scan and remove
  • Easy-to-use, all you need to do is click mouse



XML Escape Tool

June 23, 2010

In XML text and attribute values, we need to escape ASCII characters like the angle brackets/semicolon/single quote/double quotes. XML Escape Tool can escape/unescape XML characters easily and quickly. It is Freeware.


MS Dynamics CRM 4.0 javascript Grid Editor

June 22, 2010

The Javascript Grid Editor is a 100% Javascript program that extends the functionality of CRM Grids by providing a way to edit records and add records, in place, by providing input elements in the cells of a CRM Grid and relevant functions to write any input provided to the CRM application via SOAP interaction.


Microsoft Dynamics CRM 4.0 Filtered Lookup

June 18, 2010

A simple mechanism for filtering a inside Microsoft Dynamics CRM 4.0.

Does not harm the built in searching capabilities – does not make the lookup search box disappear like the orthodox filter does.

How it works:
1. A plugin.
2. A registry change.
3. JavaScript calls on form.

There is a readme.txt supplied with the download.

Linq to CRM (Microsoft Dynamics CRM 4.0)

June 16, 2010

This way, querying to CRM is so easy and understandable (
Using this together with the crm toolkit (
some casting must be done because linqtocrm does not work out of the box with the toolkit. It does however with the CRM SDK. Using anonymous classes, the SDK entities are casted to the toolkit entities like:
AddressValidator target = new AddressValidator(this.ServiceAdapter);
CrmQueryProvider p = new CrmQueryProvider(this.ServiceAdapter);
var accounts = from c in p.Linq<account>()
               select new Account()
                   Id = c.accountid,
                   Address1Country = c.address1_country,
                   Address1Postalcode = c.address1_postalcode
Now we have an array of Account (not account)!

Problem with workflow after Update Rollup 3

June 14, 2010

Following the installation of rollup3 Microsoft Dynamics CRM 4.0 workflow containing some email service stopped working and impossible to publish.


Go change the CRM web.config, add the following lines at the end of the section <authorizedTypes>

<authorizedType Assembly=”mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089″ Namespace=”System” TypeName=”Void” Authorized=”True”/>
<authorizedType Assembly=”mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089″ Namespace=”System.Globalization” TypeName=”CultureInfo” Authorized=”True”/>

Make an iisreset
Open CRM and test

For the workflow using the email, the email correct and reissue the workflow problem.

Update Rollup 11 for Microsoft Dynamics CRM 4.0

June 8, 2010

The Microsoft Dynamics CRM Sustained Engineering (SE) team released Microsoft Dynamics CRM 4.0 Update Rollup 11 on Thursday, June 3, 2010. This applies to Microsoft Dynamics CRM 4.0 On-Premise and Service Provider Editions.

The links below will take you to the necessary information about Update Rollup 11.

General Details about Update Rollup 11

Update Rollup 11 is cumulative. However, the Update Rollup 11 CRM Client and Data Migration Client packages require Update Rollup 7 to be installed. For all other CRM components you do not need to install any previous Update Rollups prior to Update Rollup 11

The Update Rollup 11 download contains updates for the 40 supported Language Packs. Prior to installing the Update Rollup 11 Language pack you must install the original Language pack.  

If you have Language Packs installed, you should:

1. Download the Update Rollup 11 Language Pack

2. Install the Update Rollup 11 Language Pack

3. De-provision the Language Pack

4. Re-provision the Language Pack

Information about how to avoid reboots when installing the CRM Outlook Client can be found in the Update Rollup 4 blog posting.  

The Update Rollup 11 Client can be deployed before the server is upgraded to Update Rollup 11.

Steps to make the Update Rollup 11 Client available via AutoUpdate can be found in the Update Rollup 4 blog posting. The Link and Patch IDs can be found in KB article 981328.

Each update rollup could have fixes that require manual configuration. Please see the “Hotfixes and updates that you have to enable or configure manually” section in KB 981328.

New prerequisites for Update Rollup 11

Update Rollup 11 has two new prerequisites. They are the Visual C++ 2008 SP1 Redistributable (AKA VC9 Redist SP1) and .Net 3.5 SP1. The prerequisites were required to support Report Viewer 2008 SP1 and other engineering improvements made in Update Rollup 11.

If Visual C++ 2008 SP1 is not installed, the Update Rollup 11 installer will download and install it during execution.

If .Net 3.5 SP1 is not installed, the Update Rollup 11 installer will display a message telling the user that the required prerequisites are not installed and exit without making changes.

Information about the Visual C++ 2008 SP1 Redistributable can be found at

Information about .Net 3.5 SP1 can be found at

Outlook 2010 Ribbon Enhancements

Update Rollup 11 includes native support for the Outlook 2010 ribbon. After Update Rollup 11 is installed, the CRM buttons will appear as part of the Outlook 2010 Home tab.

Microsoft Report Viewer 2008 Support

Update Rollup 11 adds support for Report Viewer 2008 SP1. During the installation of Update Rollup 11, the web.config file will be updated with the necessary changes needed for this support. Note: While the installer will take care of the necessary changes on install, there is a deviation from expected behavior if Update Rollup 11 is uninstalled. The web.config file will be reverted to the last installed version removing any custom entries made to that file.

Information on Report Viewer 2008 SP1 can be found at

How to get support for Update Rollup 11

To get support please contact Microsoft Product Support. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:;[LN];CNTACTMS

Note: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

QuickFind active AND inactive records

June 7, 2010

The default behaviour of the CRM QuickFind field is to search only the active records of the entity you’re looking at. And although you have the possibility to define which fields are searched, there’s no way to change the filter of the QuickFind view.

So far the way QuickFind by default works: From here on this post brings you into Unsupported land!

If you want to change the behavior of the QuickFind view to also include active records, there are 2 ways you can do this:

Option 1*.

– Export the entity. Open the xml file.

– Search for the “savedquery” which has a  “isquickfindquery” value of “1”.

This saved query has two blocks of filters. The first contains the ‘active’ filter which you can not edit in the CRM UI. 

– Delete this first filter from the XML file and save it. Your XML will look like this:

<fetch version=”1.0″ output-format=”xml-platform” mapping=”logical”>
<attribute />
<attribute />
<condition attribute=”statecode” operator=”eq” value=”0″ />
<filter isquickfindfields=”1″>

<condition attribute=”statecode” operator=”like” value=”{0}” />
<condition attribute=”subjectid” operator=”like” value=”{0}” />
<condition attribute=”customerid” operator=”like” value=”{0}” />
<order attribute=”ticketnumber” descending=”false” />

– Import the edited XML file in CRM.

That’s it, QuickFind will now search all records including inactive records.  

Option 2.

– Use Microsoft SQL Server Management Studio.
– Open the table SavedQueryBase in the CRM database.

– Find the query you want to change.

– Set the value of IsCustomizable to “True”.

– Open CRM and go to Customization.

– Open the QuickFind view for the entity you’ve changed the setting. You now have the possibility to edit the filter of the QuickFind view.

– Delete the row “Status = Active”.

That’s it, QuickFind will now search all records including inactive records.

Note: This last option also gives you the possibility to make other non-customizable views customizable.

Sharepoint 2010 Developer Training Kit

June 4, 2010

The SharePoint 2010 Developer Training Kit provides developers with deep guidance on how to develop for SharePoint 2010. Through PowerPoint decks, Hands-On Labs, Source Code, and Instructor-Led Videos, the developer kit walks you through an array of important developer topics–including Developer Roadmap, Visual Studio tooling, Workflow, Business Connectivity Services, and much, much more.


Moving SharePoint Content Database Files To New Location

June 3, 2010

Often you need to relocate your MOSS database files to a new partition, drive, or SAN, while leaving them attached to the same SQL Database Instance.

1. Prepare SQL Script

Alter the database file names using the scripts listed down below.  Modify the scripts as appropriate for each database.

If the database has dashes in the name you have to put quotes around it.

2. Run the Script

Run the script in SQL Management Studio, or Management Studio Express.  You should get a result indicating that the paths have been altered for the databases.

3. Stop SharePoint and SQL Server

Stop IIS, or the web applications your SharePoint site.  Stop MSSQL Server through Management Studio or via the Windows Service.

4. Move the databases to the new location

Copy the mdf and log files to the new location (new drive, partition, etc).

Please copy and then delete, as opposed to trusting a cut+paste operation.

5. Start the SQL services

Start MSSQL either through Management Studio or via the Windows Service.

6. Verify access to each database

Verify the databases are working properly, you can just pull up the properties to the database in Management Studio.

7. Start SharePoint services

Start IIS, web apps, or whatever you disabled in step 3.

Go verify your SharePoint site is working.

8. You are Done.

Go get coffee, pat yourself on the back, etc.

The SQL Script:




ALTER DATABASE SharePoint_Configuration_DB

MODIFY FILE (NAME = SharePoint_Configuration_DB_log ,FILENAME = ‘D: \Data\SharePoint_Configuration_DB_log.LDF’)


ALTER DATABASE “SharePoint_AdminContent_ce805cd0-0b6d-4ea1-8eaa-469b1ea0296a”

MODIFY FILE (NAME = ‘SharePoint_AdminContent_ce805cd0-0b6d-4ea1-8eaa-469b1ea0296a_log’ ,FILENAME = ‘D: Data\SharePoint_AdminContent_ce805cd0-0b6d-4ea1-8eaa-469b1ea0296a_log.LDF’)


Keep in mind that moving the database may cause SharePoint to perform a full crawl in place of a regularly scheduled incremental crawl at the next crawl interval.

Go here to get more information from MSDN.