Rules (with static C# routines, such as PolicyChaining, or C# code that adds nodes to the XML), are working fine on XP but not on 2003 (or working on machine and not another). For example, we have a condition of 1=1, which should always fire, but if a static C# routine is found in the actions, then the rules does not fire.


See Richard Seroter’s blog. There is a registry setting that must be set to allow business rules to call a static C# method.

http://blogs.msdn.com/richardbpi/archive/2005/11/14/492489.aspx

Also note, if you change a C# program, and even re-GAC it, to get the Business Rule Composer to “see” the changes, you have to close and re-open the Business Rule Composer if you are using the test policy feature.

If you download the Policy-Chaining sample for BizTalk, it has an automated way of updating the registry setting. In it’s setup.bat.

@ECHO
@ECHO Setting the StaticSupport registry key to ONE
@REGEDIT /s AddStaticSupport.reg

The AddStaticSupport.reg include the following statements:
REGEDIT4

[HKEY_LOCAL_MACHINESoftwareMicrosoftBusinessRules3.0]
“StaticSupport”=dword:00000001