FIM 2010 R2–Custom Workflow Activity Version Numbers

There are times when a look at something and realize that best practices for development and the way a product uses the objects may collide. This is the case with the development best practice of version numbers on workflow activity DLLs and their implementation within FIM.

In the case of the custom workflow activity DLLs that are registered within the GAC, it is easily remembered that the Activity Information Configuration (AIC) within the FIM Service must also be updated. (Remember, the version number is part of the “Assembly Name” value for example –> “FIMActivities.MyWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=12345abcde1234”)

What is sometimes missed is that the “Assembly Name” is used in the XOML for the workflow definitions where the custom activity is used. So therefore, it is necessary to either go in and add the new activity in again or manually updating the XOML with the new version number. The XOML for the activity is present in the “Advanced View” and is what is used by the GUI to render the workflow for the normal view. If the XOML is updated, go back and validate that the settings have been maintained or, if necessary, reset them to the proper values.

This is a more of a nuisance issue that once you’re aware of it, something that is easily prepared for through process development.

This entry was posted in Forefront Identity Manager 2010. Bookmark the permalink.

4 Responses to FIM 2010 R2–Custom Workflow Activity Version Numbers

  1. The trick here is which .net version number attribute you want. There are two – the AssemblyVersion and the AssemblyFileVersion. This KB explains – http://support.microsoft.com/kb/556041.

    • Also, if you are going to increment the AssemblyVersion, you can use binding redirection to mitigate the issues with the XOML and AIC objects.

      • Hi Brian,

        Sorry for the slow reply. I’ve been a bit up to my hairline of late with tasks…

        Thank you for the information. I hadn’t looked at those options before and one of the developers here was changing the version numbers of the activity as applicable in the GAC. It was causing him no end of pain trying to figure out why the system workflows stopped operating (hence the post!) 🙂

        Thanks!

        B

  2. Steven Archibald says:

    I tried using binding redirection, and it didn’t work. It may be I was attempting it in the wrong configuration file.

    Can you please illuminate?

Leave a reply to Brian Desmond Cancel reply