Monday, August 23, 2010

Azure / CRM app won't deploy - Initializing, Busy, Stopping

I made a simple code change to an Azure WorkerRole service today. Before deploying the app, I noticed that the folder where my code lived on my machine didn't match up with source control so I did a little readjusting of folders. No big deal, I thought. The application compiled fine and ran on my local dev fabric.

After deploying the updated Azure service, the deployment screen showed Initializing, then Busy, followed by Stopping... and then went back to Initializing, Busy, etc. It was stuck in a loop. I read something about this in the past and knew that it related to invalid DLL references, invalid configuration or a number of other things.

After convincing myself that my code change was working and  had proper exception handling just in case, I put all the pieces of the application back in their previously known working locations. Voila! The application deployed to Azure fine.

What happened is that Visual Studio started referencing 32-bit versions of the CRM SDK assemblies (microsoft.crm.sdk.dll and microsoft.crm.sdktypeproxy.dll) when I moved the application to different folders -- it could no longer find the 64-bit files I referenced previously. So when I deployed the application the 32-bit CRM assemblies went along up to Azure... but Azure only runs with 64-bit assemblies!

I was punished once again by good intentions. But at least I can add this troubleshooting lesson to my list for future reference.

Wednesday, August 18, 2010

Notification of activity changes in Dynamics CRM 4.0

There's a Windows desktop app that I've been using named "Check&Get" that notifies me when someone modifies content on any of about 100 websites that I follow. Once each day, I go to Check&Get and can see what websites have significant content changes. This is especially helpful to keep up on blogs.

Today, I found another use for Check&Get. I work at Altriva Solutions and last year I helped create an "ISV" application for CRM 4.0 (on-premise and online) named "CRM Activity Summary". This application brings together all activities, notes, attachments, e-mails, etc. for any account, contact, opportunity, case, etc. and displays that content on one page. For example, if I'm looking at the account form for one of our clients I can see all activities, e-mails, notes, etc. for that account and all connected contacts, opportunities, and cases -- all on one page!

Since Check&Get can monitor any web page, and Altriva CRM Activity Summary can construct a web page of all rolled-up activities for an account record in CRM, my thought was that perhaps I could point Check&Get at the CRM Activity Summary page for the accounts I work with and let it tell me when anything has changed. It worked! I now have complete and timely visibility into several clients' activities and will know within minutes when anything has changed and can act (or not) as appropriate.

Let me know if you'd like more information about the Altriva CRM Activity Summary application or the Check&Get and Activity Summary "mash-up". It actually took me longer to write this blog post than it did to get that mash-up working... so if you need a quick and easy way to keep on top of CRM changes then this is one more way to do it.