Working away the other day and there were some changes to a custom activity that were required. The developer who was on project sent back the code but noted that the token had changed. This lead me to remember issues that occur and how they are resolved when the token value changes on a custom expression…
Issue #1: The activity is no longer present in the selection box when adding an activity to a workflow.
The updated DLL is in the GAC but you can’t see it the workflow activity as a selection anymore when creating a workflow. This problem is caused because the Activity Information Configuration (AIC) is not updated with the correct information. Make sure the token, culture, name, and version information all match correctly. Remember to restart the FIM Service and do an IISRestart then validate the object is visible again.
Issue #2: You’ve updated the AIC but you still can’t see the workflow activity present in already configured workflows.
You’ve gone through and fixed the first issue and the AIC is all up to date but you are now having workflow issues. You examine the workflows and note that you can see the workflow steps but the one that was updated seems to be missing. Interestingly enough, if you click on the “advanced view” button at the bottom of the workflow definition, you will see that the activities are kept in the definitions with the name, version, culture and token information. Update this information to match the new values save and then view the workflow again.
Issue #3: The AIC is updated but you’re getting errors when running the workflow activity.
This is the same as issue two in that the workflow activity is most likely incorrect in the actual workflow definition itself. Validate the name, version, culture and token match the information for the updated custom activity and the AIC configuration. This manifested itself, in my case, as deserialization errors in the Forefront Identity Manager event viewer.