RSS

Tag Archives: CRM 4

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: ,

Plugin Images do not contain the name property for Lookups

When we register a plugin on the Pre-Create step, the Image does not contain the names for lookup controls.

The lookup properties in the image has a null value for the Name.

As a workarround, we always need to do a retrieve request to get the name of the lookup entity.

It would be usefull to always have the name for each lookup when working with plugin images.

Vote here to get it fixed:

https://connect.microsoft.com/dynamicssuggestions/feedback/details/585414/plugin-images-do-not-containt-the-name-property

 
Leave a comment

Posted by on August 11, 2010 in CRM 4

 

Tags: ,

Error when running reports in CRM 4.0: Value cannot be null. Parameter name: g

When you have installed the SRS data connector for MS CRM 4.0, you may receive the following error message when trying to run a report from within CRM:

An error has occurred during report processing. (rsProcessingAborted)
Cannot create a connection to data source ‘CRM’. (rsErrorOpeningConnection)
Value cannot be null. Parameter name: g

My first thought was the datasource for the report was not set correctly.
I found out that CRM creates another datasource beside the standard DataSource located in the folder of your organisation.

So, this means you will have 2 datasource for your CRM organisation.
The default, located at <orgname>_MSCRM\MSCRM_DataSource
And the SRS data connector DataSource under <orgname>_MSCRM\4.0\MSCRM_DataSource

It seemed the SRS data connector DataSource was not configured correctly.

Make sure following configuration is set.

SRS data connector DataSource under <orgname>_MSCRM\4.0\MSCRM_DataSource:
Data Source Type: Microsoft CRM Data Extension
Connection String: MSCRM Data Connector Connection String

Connect Using: Credentials supplied by the user running the report (This setting was wrong in my case)

Default DataSource:
Data Source Type: Microsoft SQL Server
Connection String: Data Source=<ServerName>;Initial Catalog=<orgname>_MSCRM;Integrated Security=SSPI

Connect Using: Windows integrated security

 
3 Comments

Posted by on January 22, 2010 in CRM 4

 

Tags: ,

Setting the crmForm or a Field to Dirty

CRM 4.0 does not allow you to change the IsDirty property of a field or the crmForm. These properties are calculated.
The way CRM calculates this value is by checking the fields DataValue against the fields defaultValue.

It might be nessecary to set the form to Dirty from an IFRAME or another source. To do this you could change the default value of one of the fields on the form.
In my case I always use the 2nd control on the form (which is actually the first field in all crmForms).

crmForm[1].defaultValue = “something nobody will ever enter in the field”;
(In my case I put a GUID in there)

NOTE: The defaultValue property is NOT documented in the SDK so I’m pretty sure this code is unsupported!

 
Leave a comment

Posted by on December 2, 2009 in CRM 4

 

Tags: ,

Pre-Loading IFRAMES in CRM 4.0

When you are using IFRAMES in CRM that are displayed in another tabpage than the default tab, the IFRAMES will load only when the user clicks on this tabpage.

It might be required that the pages displayed in these IFRAMES display their content as soon as the user activates this tab.

To do this you can preload the iframes in the load event of the crmForm like this:

crmForm.all.IFRAME_myiframe.src = crmForm.all.IFRAME_myiframe.url;

 
Leave a comment

Posted by on December 1, 2009 in CRM 4

 

Tags: ,

Could not find GUID for server when opening CRM

The following error occured with one of our clients when they opened CRM.

Error while finding AD GUID for ServerName HB1781$

Crm Exception: Message: Could not find GUID for server: HB1781$, ErrorCode: -2147214038, InnerException: System.Runtime.InteropServices.COMException (0x800703FA): Retrieving the COM class factory for component with CLSID {080D0D78-F421-11D0-A36E-00C04FB950DC} failed due to the following error: 800703fa.

After doing some googling I found this post telling me to change some settings in IIS.

Set “Load User Profile” to True for the IIS Application Pool “Microsoft Team Foundation Server Application Pool”

To my surprise it seemed to solve the problem. I changed it for the CrmAppPool and all users could now login without any problems.
I still don’t know how this problem could occur, but changing this settings seems to do the trick.

 
5 Comments

Posted by on September 8, 2009 in CRM 4

 

Tags: , ,

Get the name of a lookup that is not resolved

I often have to check the name value of a lookup field.
In normal cases one would use the code crmForm.all.new_lookupfield.DataValue[0].name to retrieve this value.

In case of an ambiguous or failed lookup, this datavalue will be null.

Ambiguous lookup
LookupAmbiguous

What I found out using the IE Developer toolbar was that this kind of lookups used a <span> element to display this “unresolved” state of a lookup.
Both resolved and unresolved lookups have this Span. The only difference will be the classname. So if you like, you can also filter on the className.

LookupAmbiguousHTML

So, to access the Text of this Lookup I could use crmForm.all.metris_blueprintid_d.getElementsByTagName(“span”)[0].outerText

 
Leave a comment

Posted by on September 7, 2009 in CRM 4

 

Tags: ,

Show a Modal Dialog and return a lookup

The following code snippet shows you how to return a lookup from a modal dialog.
I used this code to replace a standard CRM 4 Lookup and display my own custom made lookup screen. When clicking OK in this custom screen a lookup should be returned with the Entity the user has selected in the Custom Lookup.

 

Place this function in the CRM Form. 

 
document.CustomLookup = function ()
{
  var url = “/ISV/<yourapp>/CustomLookup.aspx?orgname=” + ORG_UNIQUE_NAME;
        var selectedItems = window.showModalDialog(url, null, ‘dialogWidth:600px;dialogHeight:400px;resizable:yes’);                    
        if (selectedItems != null)

        {
            crmForm.all.myField.DataValue = selectedItems ; 
            crmForm.all. myField.FireOnChange();    // If you also need to fire the onchange event
        }
}

Then use this function as the onclick event of the Lookup.

try
{
    crmForm.all.mylookup.onclick = document. CustomLookup;
} catch (e) {}

In the CustomLookup.aspx page add a Gridview that is populated with the entities you need. And add a JavaScript function that will retrieve the selected item in the grid. (I usually work with a SelectedRow style)

<script type=”text/javascript”>    
        function applychanges()
        {                    
            var Entities = document.getElementById(‘<%= ComponentsGrid.ClientID %>’).getElementsByTagName(“TR”);  // ComponentsGrid is the name of the gridview            
                     
            var EntityID = “”;
            var EntityName = “”;
            for (var i=1;i< Entities .length;i++)
            {
                if (Entities [i].className == “SelectedRow”)
                {                                      
                    EntityID  = Entities [i].getAttribute(“oid”);         
                    EntityName  = Entities [i].getAttribute(“oname”);                            
                    break;
                }
            }

            var lookup = new Array();
            lookup[0] = new LookupControlItem();
            lookup[0].id = EntityID  ;
            lookup[0].typename = “myentityname”;
            lookup[0].name= EntityName  ;
 
            window.returnValue = lookup;
            window.close();                      
        }
    </script>

 
Leave a comment

Posted by on March 10, 2009 in CRM 4

 

Tags: ,

CRM 4.0 Merge tool

A new tool has been released for merging CRM customizations.

Worth the download if you ask me!

Read all about it in this post.

 
Leave a comment

Posted by on February 13, 2009 in CRM 4

 

Tags:

 
Follow

Get every new post delivered to your Inbox.