Friday, July 20, 2012

Outlook Authentication issue fixed in Rollup 8

We have noticed this with the Online and IFD environment, that, if you are using "CRM 2011 Outlook Client" and try to open any web resource like html file and Silverlight application (.xap file) or any entity record using window.Open() or Response.Redirect() then you get prompt for user name and password.

Window.Open() methods opens the CRM record in the browser (IE) and outlook does not pass your CRM credential. As you are not logged-in in the CRM from browser (IE), it asks credentials of user.

If you are already logged-in from browser and open CRM record from Outlook client then it will not prompt for the user credential.

Microsoft has released Rollup 8 which exposes two new methods through SDK. These methods will open window in the process Outlook.exe instead of Iexplore.exe. So it will not ask for credentials.

Below are two methods:
 
     1)  openWebResource(string webResourceName, string webResourceData, int width, int height):

This opens a HTML web resource page.

             i.   webResourceName: This is the name of the web resource that you want to open.
             ii.  webResourceData: Parameter that is to passed to the web resource. Web page (HTML) or Silverlight Web resource page can only accept a single custom parameter called data.
              iii. width: Width of the window
              iv.  height: Height of the window.
 e.g. Xrm.Utility.openWebResource("new_/pages/test.html",null,700,700);
 
 
     2)  openEntityForm(string name, string id, Dictionary parameters):
This opens an entity form dialog e.g. Account record.
 
                  i.            name: Name of the entity of which record is to be opened. e.g. account.
                  ii.           id: GUID of the record. e.g. "89A2F3FB-18FF-E011-A003-00155D005515".
                  iii.          parameters: Parameter that is to passed to the record. 
e.g. Xrm.Utility.openEntityForm("account","89A2F3FB-18FF-E011-A003-00155D005515",null)

Tuesday, July 17, 2012

Quick Tip - Allow Lookup fields to search by multiple attributes

Lookups as you know in CRM show a list of records of a related entity. Using the lookup, you can search for records by typing in the search key words to filter the list.

This search is performed on all fields that is listed in the Find columns in the Quick Find View of the entity.

Instead of clicking the lookup button, the same search can be performed by directly typing in the search string in the lookup field.

The Lookup field is designed to auto-resolve the text to a matching record in the lookup entity.

This little known feature is very helpful in cases, where you identify the records not by thier names but by a unique id. Take for example you have a form in CRM that you need a user to fill in, and the user is aware of the SSN # of the contact and it would be a time saver if the user could type in the SSN# in the Contact lookup and it would auto-resolve to the Contact.

To acheive this follow the steps below

1. Customize the Contact entity
2. In Views, Select Quick Find View


3. Click on the Add Find Columns

4. Check the SSN field


5. Save and publish the entity.

Open the Account form. In the Primary contact type in the SSN# and tab out...



It will auto resolve to the contact that has that SSN# assigned.


Hope this little trick saves a lot of data entry time!

Monday, July 9, 2012

R8 aka Q2 2012 Service Update Plans revised

The Q2 Service Update plans have been revised. As per the road map made available earlier this year, Q2 Service update was all about "CRM Anywhere". It planned to include Cross Browser availability and Mobility that would let Dynamics CRM be accessible "anywhere" be it any browser or any device.

However in the recent Press Release posted on 6th July, Cross Browser availability and Mobility plans have been delayed and these would not be included in the Q2 update. Here is what it says

On July 19th, as we committed, our Q2 release will include Microsoft SQL Server 2012 support, Industry templates and certifications for our online service. After listening to the feedback from our customers and partners we are delaying availability of Microsoft Dynamics CRM Mobile and cross-browser support. These were previously scheduled to be delivered in the Q2 2012 Service Update, and we now plan to deliver them in the service update scheduled for Q4 2012


You can read the entire post here

This was one of the features that I was most excited about and I am little disappointed with the delay... Q4,,, a bit too long a wait :( Nonetheless it is always better to have a great finished product than half-baked one and as long as this feature is made available in the future with no scope for issues/errors.... I would be willing to wait...

Waiting for a great Cross-Browser Release!!!

Tuesday, June 19, 2012

CRM 2011 Install Errors - Tips and Tricks continued

The more I get to install/upgrade to CRM 2011 in different environment the more I come across different issues and fortunately there are workarounds to it. So here are some additional items found since the last post on this subject.

A Microsoft Dynamics CRM Server component is using the same account as the instance of SQL Server Reporting Services

You receive the above error when installing SSRS Data connector. I had never seen this before. But this was a system on which there was a previous install of CRM 2011 Async service (A distributed install). The Reporting Service was running under Network Service Account. Changing it to another domain user account did not fix this issue.

This issue has been explained in detail in this KB article http://support.microsoft.com/kb/974584. Though this KB has been targetted for CRM 4, the following section of the resolution worked in this particular case

Add the IgnoreChecks registry key to the computer that is running Microsoft Dynamics CRM so the installation can proceed when an error is shown in the Environmental Diagnostic Wizard (EDW):
  1. Click Start, click Run, type regedit, and then click OK.
  2. In the registry, locate the following subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
  3. Right-click MSCRM, point to New, click DWORD Value, and then type IgnoreChecks.
  4. Double-click IgnoreChecks, and then type 1 in the Value data field.
After this change is made, the Environmental Diagnostic Wizard will still point the same error. But notice the Next button is now enabled :) Go ahead click Next and complete the install.

After successful installation remove the key added to the registry.

Index was outside the bounds of the array.

I came across this while trying to fix the one above :) The one above complained about same service account being used, so I tried to fix it by using a Domain user account. Instead of typing the user name, I chose to use the lookup button to seach the user from the AD. Selecting the user set the service user name in the form of user@domain.com.

Change the service account back to domain\user and this error will vanish.

Action Microsoft.Crm.Setup.Server.GrantConfigDBDatabaseAction failed.
Windows NT user or group 'NTDomain\SQLAccessGroup{xxx} not found.

If you see this error during an install or upgrade and if you are using SQL Server on another machine, you are connected to the SQL Server machine through an RDP session. Log off. Restart the install and it will proceed without any error :)

The transaction log for database 'ORG_MSCRM' is full due to 'ACTIVE_TRANSACTION'.

Do not try to check the transaction log size for this. Most probably all is good there. The first thing to check is free disk space on the drive on which the ORG_MSCRM database and log file resides. You are probably running out of space there. Make some space and you are ready to go. Check this

Installation of Microsoft Visual C++ Runtime failed. Exit code: 5100. Result: Asia

Setup will not run on a machine that has Visual C++ 2010 with version 10.0.40219 install. This system had SQL 2012 installed that probably installed this higher version. CRM Setup requires an older version to continue. Go ahead and uninstall the VC++ redistributable on this machine and let CRM install the required components including Visual C++

As usual, the above solutions have worked in our scenario and you can give them a try at your own risk

Monday, June 11, 2012

How to Debug Plugins using Profiler



One can debug CRM plug ins without connecting to CRM server or without remote debugging.

Here are the steps as in how you can use Profiler for debugging plug ins:
   1>     Connect to CRM using plugin registration tool of March SDK 2012.

   2>      Click on Install Profiler
         

   3>     You will find a new node attached to registered plugins “Plugin Profiler”.






   4>     Select a plug-in step and click Profile to enable profiling.



5>     Then start your plugin from MSCRM i.e if your plugin is on update perform  update operation and download the error file.
6>     Then in Visual Studio attach to process “plugin registeration.exe”. Add the breakpoint  from where you would like to debug.



7>     Then click on Debug in plugin registration tool.


8>     In Profile location provide the path of the error log of the plugin.

9>     In Assembly location provide the dll of the plugin from which you got error.

10>     Then select the Plugin class from Plug-in. This drop down will contains all classes present in the dll.

11>     To start debugging just click on Start Plug-in Execution.