多くの COM+ アプリケーションを起動するときのエラー: エラー コード 80080005 -- サーバーの実行に失敗しました

この記事では、コンポーネント サービス Microsoft 管理コンソール (MMC) スナップインから多くの Microsoft COM+ アプリケーションを手動で起動したときにエラー コードが80080005される問題の回避策について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 870655

現象

コンポーネント サービス Microsoft 管理コンソール (MMC) スナップインから多数の Microsoft COM+ アプリケーションを手動で起動すると、各 COM+ アプリケーションが異なるユーザー アカウントで実行されている場合、次のエラー メッセージが表示されることがあります。

カタログ エラー: 最後の操作の処理中にエラーが発生しました。 エラー コード 80080005 -- サーバーの実行に失敗しました。 イベント ログには、追加のトラブルシューティング情報が含まれている場合があります。

イベント ビューアーのアプリケーション ログに次のようなエラー メッセージが表示されます。

Type: Error
Source: DCOM

Category: None
Event ID: 10010

Date: 31/03/2004

Time: 15:13:30

User: NT AUTHORITY\SYSTEM

Computer: MSHSRMSWEBP0007

Description: The server {F1673109-CF44-468D-9E23-FE4116F84CFA} did not register with DCOM within the required timeout.

原因

多くの COM+ アプリケーションが 、このユーザー プロパティで指定されている異なるユーザー アカウントで実行される場合、コンピューターはメモリを割り当てて新しいユーザーの新しいデスクトップ ヒープを作成できません。 そのため、プロセスを開始できません。

回避策

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、「Windows でレジストリをバックアップおよび復元する方法」を参照してください。

この問題を回避するには、次のレジストリ サブキーの値を変更します。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows

これを行うには、次の手順を実行します。

  1. [スタート] ボタン、[ファイル名を指定して実行] の順にクリックし、「regedit」と入力して、[OK] をクリックします。

  2. レジストリ エディタで次のレジストリ サブキーをクリックします。

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems

    既定では、サブキーの Windows エントリの値は次のようになります (すべて 1 行)。

    %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

  3. Windows エントリを右クリックし、[変更] をクリックします。 [ 文字列の編集 ] ダイアログ ボックスが表示されます。

  4. [ 値データ ] ボックスで、SharedSection を見つけ、SharedSection に 512 を追加し、[OK] をクリック します

    新しく変更された Windows エントリは、次のように読み取ります。

    %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

動作の再現手順

  1. コンピューターに 100 個の異なるローカル ユーザー アカウントを作成します。

  2. Component Services MMC スナップインを開きます。 これを行うには、次の手順を実行します。

    1. [スタート] ボタンをクリックし、[設定] をポイントして、[コントロール パネル] をクリックします。
    2. コントロール パネルで、[管理ツール] をダブルクリックし、[コンポーネント サービス] をダブルクリックします。 コンポーネント サービス MMC スナップインが表示されます。
    3. 左側のウィンドウで[ コンポーネント サービス]、[ コンピューター]、[ マイ コンピューター] の順に展開します。
  3. COM+ アプリケーションを作成し、COM+ アプリケーションのアプリケーション ID を設定します。 これを行うには、次の手順を実行します。

    1. [COM+ アプリケーション] を右クリックし、[新規] をポイントし、[アプリケーション] をクリックします。 [ COM アプリケーション インストール ウィザードへようこそ ] ダイアログ ボックスが表示されます。
    2. [ COM アプリケーションのインストール ウィザードへようこそ ] ダイアログ ボックスで、[ 次へ] をクリックします。 [ 新しいアプリケーションのインストールまたは作成 ] ダイアログ ボックスが表示されます。
    3. [ 空のアプリケーションの作成] をクリックします。 [ 空のアプリケーションの作成 ] ダイアログ ボックスが表示されます。
    4. [ 新しいアプリケーションの名前を入力 します] ボックスに 「MyCOM1」と入力し、[ 次へ] をクリックします。 [ アプリケーション ID の設定 ] ダイアログ ボックスが表示されます。
    5. [ このユーザー] をクリックし、手順 1 で作成したユーザー名を [ ユーザー ] ボックスに入力します。
    6. [ アプリケーション ID の設定 ] ダイアログ ボックスで、[ パスワード ] ボックスと [パスワードの確認] ボックスに パスワード を入力し、[ 次へ] をクリックします。 [COM アプリケーションのインストール ウィザードを使用していただきありがとうございます] ダイアログ ボックスが表示されます。
    7. [完了] をクリックします。
  4. COM+ アプリケーションにコンポーネントを追加します。 これを行うには、次の手順を実行します。

    1. コンポーネント サービス MMC スナップインの左側のウィンドウで、[MyCom1] を展開します。
    2. [コンポーネント] を右クリックし、[新規] をポイントし、[コンポーネント] をクリックします。 [ COM コンポーネントのインストール ウィザードへようこそ ] ダイアログ ボックスが表示されます。
    3. [次へ] をクリックします。 [ コンポーネントのインポートまたはインストール ] ダイアログ ボックスが表示されます。
    4. 既に登録されている [インポート コンポーネント] をクリックします。 [インポートするコンポーネントの選択] ダイアログ ボックスが表示されます。
    5. [ コンポーネント] の [マイ コンピューター ] の一覧で、コンポーネントをクリックし、[ 次へ] をクリックします。 [COM アプリケーションのインストール ウィザードを使用していただきありがとうございます] ダイアログ ボックスが表示されます。
    6. [完了] をクリックします。
  5. 手順 3 を繰り返して、異なるローカル ユーザー アカウントで実行される 100 個の COM+ アプリケーションを作成します。

  6. 手順 4 を繰り返して、手順 5 で作成した 100 の COM+ アプリケーションにコンポーネントを追加します。

  7. Component Services MMC スナップインの左側のウィンドウで、作成した各 COM+ アプリケーションを右クリックし、[開始] をクリックします。 一部の COM+ アプリケーションを起動すると、「 現象 」セクションで説明されているエラー メッセージが表示されます。

関連情報

新しい COM+ アプリケーションの作成