I thought we were all through with the Daylight Savings Time (DST) issues, but I was wrong.
One of my customers purchased a newer, more powerful, SBS 2003 box and we had to migrate CRM 3.0 from the old server to the new server.
Overall, everything went fine. Redeployment manager did it's job, CRM installed to the existing database ok, but I ran into an issue when I attempted to install Hotfix Rollup 2.
It wouldn't install and kept crashing at the Checking necessary disk space step ( or something close ).
After digging around a bit, I found the following article:
The article's possible issues and resolutions are some of the strangest I've ever seen:
1) Well, it could be crashing because it can't find a Time Zone registry entry.
2) Well, it could also crash if it found a Time Zone registry key that it didn't expect?
From the KB article: Use the same command on another Microsoft Dynamics CRM server on which update 925874 was successfully installed.
Huh? What if I don't have another CRM Dynamics server? Luckily, I did.
Anyway, it turns out that on the new server, it was issue #1, which I found to be with the Central Brazilian Standard Time time zone which was missing data.
Ah, those crazy Brazilians. :)>
Anyway, I hope to never see this issue again because I hope to be installing CRM 4.0 from here on out.
Holy Cow Batman! Did I have fun last week or what?
Without a doubt, the MVP Summit 2008 was the most fun and productive conference I've ever attended.
Not only did we get to hang out with the CRM Product Group for two full days, but the CRM MVPs had an absolute blast hanging out together and sharing war stories, best practices, etc.
I think I can speak for the group in saying that a good time was had by all ( except for Frank, who had a cold; and even he seemed to be enjoying himself a good bit of the time ).
Anyway, I just want to say thanks again to Jim Glass for the organization of events and the whole CRM team for rolling out the red carpet for our visit and sharing their time, thoughts, and information with us.
See you again next year.
Mitch
23 Apr
Posted by: mitch in: CRM 4.0, Customization, Dynamics CRM | | 247 views
As you know, CRM 4.0 introduced multi-language features into the product. This means a slight change in the way we retrieve metadata related to Entity names.
The DisplayName property for an Entity has been changed slightly to ensure that you always have access to the localized version of the Entity name. A sub-property called UserLocLabel has been added to retrieve the label for the language of the current user.
The only issue is sometimes that value does not exist ( a very rare event, but you need to code for it anyway ).
Modifying code from the CRM 4.0 SDK, I've created the following method to return either the localized label for the Entity or just the logical name, should the actual label not exist:
private string RetrieveDisplayName(EntityMetadata entity) { string displayName = string.Empty; if (entity.DisplayName.UserLocLabel != null) { displayName = entity.DisplayName.UserLocLabel.Label.ToString(); } else { displayName = entity.LogicalName.ToString(); } return displayName; }
23 Apr
Posted by: mitch in: CRM Online, Dynamics CRM | | 195 views
I found a minor issue with the URL that allows you to generate WSDL for the CRM Online Discovery Service.
If you navigate to Settings, Customization, Download Web Service Description Files, you're presented with the following set of links:
The Discovery Web Service link is:
https://crm.dynamics.com/MSCrmServices/2007/Passport/CrmDiscoveryService.asmx
when it should be:
https://dev.crm.dynamics.com/MSCRMServices/2007/Passport/CrmDiscoveryService.asmx
A minor issue but hopefully this note will save a little confusion. Microsoft has been advised of the issue as well.
Final note: The CRM 4.0 SDK documentation clearly states the correct URL in the walk-throughs and other sample code. It is only this one link on the actual CRM Online site that is a problem.
09 Apr
Posted by: mitch in: CRM 4.0, Dynamics CRM | | 389 views
I ran into an issue this morning testing one of my CRM add-ons. Basically, I was processing items from an inbound, email-enabled Queue within CRM. When the processing was completed, I delete the Queue item - but it still remained in the Queue. You could not longer open it, and as far as CRM was concerned, it was "deleted," but it was still visible.
After digging around the Internet a bit, I found the answer to the issue, which seems to only appear if you have upgraded from CRM 3.0 to 4.0.
Using SQL Server Management Studio, open the CRM database and locate the QueueItembase table. Expand the Triggers group.
Right-click on the t_update_queueitembase trigger and select Disable.
This will effectively turn off the trigger and future queue items will be removed as expected ( and the way CRM 3.0 functioned ).
Note: It does not appear that a fresh installation of CRM 4.0 has this trigger, which is probably why this procedure works.
But, that doesn't take care of existing queue records that where created and "deleted" before you disabled the trigger. The next steps will correct that issue.
Using SQL Server Management Studio, perform the following query on the CRM database:
select * from queueitembase WHERE QueueId = 'GUID for queue' AND DeletionStateCode = 0
Note: Replace GUID for queue with the GUID for the queue in question.
If any records are returned, you will need to perform the following query to clear them from the queue list:
UPDATE dbo.QueueItemBase SET DeletionStateCode = 2 WHERE QueueId = 'GUID for queue' AND DeletionStateCode = 0
Note: Replace GUID for queue with the GUID for the queue in question.
This will change the status to "deleted" and remove them from the queue.
My friend Steve Noe has updated the standard Quote template that ships with CRM 4.0 to correct some design issues.