There is a small configuration issue with the Microsoft Business Rules Composer in BizTalk Server 2009. This will only affect you if you deploy the rules engine by itself without the rest of BizTalk Server. In a full installation of BizTalk Server, BTS provides a set of BTS-specific Rule Framework components in as assembly called Microsoft.BizTalk.RuleEngineExtensions.This includes a RuleSetDeploymentDriver component that manages deployment of rules via the SQL Server repository.
The BTS-specific RuleSetDeploymentDriver has a dependency on WMI (Windows Management Instrumentation).In a full BTS installation, BTS creates an instance of a CIM class called MSBTS_GroupSetting and populates various property values from the BizTalk management database. This includes the assembly and class name of a RuleSetDeploymentDriver. If you install only the rule processing components, there is no BizTalk management database, and no instance of this class is created.Unfortunately, this means that, whenever you try to deploy a rule set from the Rules Composer, you get a rude message saying:
The database “<server>:<database>” associated with the deployment driver does not match the database “:” specified during product configuration
The message is entirely correct.Microsoft’s BTS-specific RuleSetDeploymentDriver component performs this check presumably to ensure that registry settings for the rule repository database name and server name are identical to those configured in the BizTalk management database. This ensures that the Rule Engine Update Service is using the same BTS-specific RuleSetDeploymentDriver component.
When you install only the rule processing components, the registry is unfortunately configured as if a full BizTalk installation had been done.The Rule Composer tries to use the BTS-specific RuleSetDeploymentDriver component to deploy rule sets and fails because no instance of MSBTS_GroupSetting has been created in the CIM store.
Fortunately, this is a simple problem to fix. Microsoft provides a non BTS-specific RuleSetDeploymentDriver component for the rule repository database. All you need to do is change the registry settings to use this instead.
Open the Registry Editor (regedit) and locate the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BusinessRules\3.0
If you have installed the rule processing components on a 64-bit version of Windows, they key will be at:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BusinessRules\3.0
You should find the DeploymentDriverAssembly and DeploymentDriverClass values under the key. These should be changed to the following values, respectively:
  • Microsoft.RuleEngine, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  • Microsoft.RuleEngine.RuleSetDeploymentDriver
That’s it.The Rule Composer should now be able to deploy rule sets.