Microsoft Dynamics CRM Outlook クライアントが管理者以外のモードで応答しなくなる可能性がある

この記事では、Microsoft Dynamics CRM Client for Outlook を開こうとすると、またはオフライン アクセスを使用して Outlook 用のMicrosoft Dynamics CRM クライアントでオフライン同期プロセスを試すときに発生する問題を回避するのに役立ちます。

適用対象: Microsoft Dynamics CRM 2013 Service Pack 1、Microsoft Dynamics CRM 2015、Microsoft Office Outlook 用 Microsoft CRM client
元の KB 番号: 3106337

現象

Microsoft Dynamics CRMクライアント for Outlook を開こうとするとき、またはオフライン アクセスを使用して Outlook 用のMicrosoft Dynamics CRM クライアントでオフライン同期プロセスを試みると、次のようなエラーが発生する可能性があります。

Outlook が応答しなくなり (点滅)、プロセスを終了する必要があります

Outlook にエラーが表示されます。メッセージを net.pipe://localhost/WebFormService/{random-guid-number} 受け入れるエンドポイントがリッスンしていません。 これは、多くの場合、不適切なアドレスまたは SOAP アクションが原因で発生します。 詳細については、「InnerException (存在する場合)」を参照してください。

原因

Outlook 用 CRM クライアントは、Windows Communication Foundation (WCF) を利用して、オフプロセス サービスと通信して CRM サーバーとインターフェイスします。 使用される WCF バインドは net.pipe であり、基になる名前付きパイプに名前を付ける特定の方法があります。 WCF 4.0 以降では、net.pipe エンドポイントの URI の名前付けと登録のプロセスは階層型であり、非管理モードと管理モードの 2 つのレベルにあります。 プロセスが URI を net.pipe://localhost登録した場合、管理以外のすべてのプロセスは、NET.pipe バインドを使用して他のサービスにアクセスできません。これには、CRM ローカル Web フォーム サービス署名が含まれます。

解決方法

これは設計上の解決策はありません。 WCF サービスには、 で net.pipe://localhost/リスナー URI を指定しないでください。 ただし、状況が true の場合は、2 つの回避策があります。

でリスナー net.pipe://localhost/を保持しているプロセスを確認するには、次の手順に従います。

  • Sysinternals ツールハンドルの読み込み (ハンドル v4.22)

  • Handle.zip をフォルダーに解凍します (例: c:\sysinternals)

  • 管理者として cmd.exe を開く

  • Handle.exe を解凍したフォルダー (cd c:\sysinternalsなど) に移動します。

  • 次のコマンドを実行します。

    handle "net.pipe:EbmV0LnBpcGU6Ly8rLw=="
    
  • 一致する場合は、実行可能ファイル名と PID が次のサンプル出力として示されます。

    StandAloneService.exe pid: 10724 type: Section 318: \BaseNamedObjects\net.pipe:EbmV0LnBpcGU6Ly8rLw==
    

回避策

  • 回避策 1

    先ほど指定したとおりにリッスンしているファイル (またはサービス) を net.pipe://localhost 見つけて、Outlook の実行中に停止します。

  • 回避策 2 (推奨なし)

    ローカル管理者権限を持つ Outlook 用クライアントMicrosoft Dynamics CRM起動した場合 (Outlook を右クリックして [管理者として実行] を選択)、Microsoft Dynamics CRMクライアント for Outlook は設計として機能し、オフライン同期プロセスをエラーなしで使用できます。