CDO Workflow Designer Troubleshooting

If you've ever tried to start a CDO Workflow project using Office Workflow Designer and encountered the infamous Can Register Workflow error, you're not alone. I've seen users with that error a few times so far and their problem seems to be the same in each case. The most helpful hint is not the one you get from Office Workflow Designer, but the one in the Application event log on your Exchange server. Chances are, your event log will tell you that Enforce Access Restrictions are not enabled. If that's the case, You need to drill into your COM Configuration settings and click the properties on your CdoWfEvt.EventSink.1 and go to the Security Tab and click the checkbox to enforce component-level access restrictions.

Here are some other helpful troubleshooting hints for Workflow problems:

  1. Verify that you can access and are an Owner of the Public Folder to which you are trying to publish the workflow. Verify that you can access the folder using OWA by navigating to https://<server>/public/<foldername> and that the public folder is "Homed" on that server. 
  2. Make sure you have the Can Register Workflow role and the Priviledged Workflow Author role explicitly.
  3. Verify that NT System\Authority also has Priviledged Workflow Author
  4. Make sure that Enforce Access Restrictions is turned on on both the Workflow Event Sink and CdoWfEvt.EventSink.1 items.
  5. Verify that your Workflow Event Sink component is set to use the identity of a domain user who
    1. Is a domain user
    2. Has a mailbox on the same server.
    3. Is in the Can Register Workflow and Priviledged Workflow Authors roles (explicitly)
    4. is in the Exchange Domain Servers AD group
  6. In Exchange System Manager, drill into the HTTP Protocol on your server and right click on Public to go to Properties. Make sure that Basic Authentication is Checked and that Scripts and Executables are enabled.

Hopefully one of these troubleshooting steps can help you be able to create Workflow projects successfully!