For a while I have been meaning to look into Henril’s Workflow Automation Tool. The reason being that when CRM 2011 first can out I created a workflow automation tool myself. It was developed for my current employer, so in reviewing this tool not only do I share my experiences with Henril’s version, I also get to bench mark my own version. If you are interested in this tool you can download it or find more info on it here.
I can’t put my finger on this one totally but it would appear that Workflow Assemblies on occasions don’t update! By this I mean I update a workflow assembly with a new version using the plugin registration tool. Then when testing I still get the old behaviour.
It’s strange because the dll has successfully compiled, I can see the modified date has changed. I have updated the right assembly in the plugin registration tool. I’ve even restarted the two asynchronous workflow services along with restarting IIS, and still the same behaviour! Also before you think it I have actually changed the code!
Today I experienced an issue with a workflow assembly I created. This assembly was trigger by a manual workflow that was throwing an Invalid Argument error. Looking into the steps of the manual workflow it appeared that the error occurred before the workflow assembly. Debugging the workflow assembly proved that the assembly was executing perfectly. Very strange… Especially to say that workflow assembly was extremely simple. It was that simple it didn’t even execute any business logic!
From time to time you can find yourself in a scenario where your System Jobs list is clogged up with workflows stuck in a waiting state. The Microsoft supported way of removing the items is through performing an advance find on waiting workflows and manually cancelling up to 250 workflows at a time. In extreme situations we do have another option which is suited to cases where we don’t have manageable amounts of workflows stuck in waiting.