英語を基本言語(日本語の言語パック適用)とするDynamics CRM 4.0 Update Rollup 11 の環境でワークフローの公開をするとエラーが発生したので対応方法を記載します。

環境は次の通り

Dynamics CRM 4.0 64bit 英語版 (日本語 Language Pack 適用済み) Update Rollup 11 適用済み、オールインワンの環境です。

基本言語を英語とした Dynamics CRM 上ですこし複雑なワークフローを作成(といっても簡単) して公開(Publish)したら次のエラー画面(An error occurred when the workflow was being created. Try to save the workflow again)が表示されました。当然何度公開してもエラーが発生して失敗します。

ちなみに作成したワークフローは予定表の開始時間の3日前になったら注意喚起用のタスクエンティティを作成する次のようなワークフローです。細かくは説明しません。

上記現象は Update Rollup 2 以上を適用すると発生することがあるみたいです。詳細は下のKBの内容を確認してください。対応方法もKB内に記載されています。

Update Rollup 2 for Microsoft Dynamics CRM 4.0 is available
http://support.microsoft.com/kb/959419/en-us

KBに従って、 Dynamics CRM 4.0 のアプリケーションの Web.config (既定は C:\Inetpub\wwwroot\Web.config ) の authorizedTypes ノードに下記内容を追加します。すでに追加されている場合は二重で追加しないでください。

<authorizedTypes>
      …
      <authorizedType Assembly="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Namespace="System.Globalization" TypeName="CultureInfo" Authorized="True"/>
</authorizedTypes>

私のケースでは <authorizedType .. Namespace="System.Globalization"  .. /> を追加することで公開が成功するようになりました。