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

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

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

現象

各 COM+ アプリケーションが別のユーザー アカウントで実行されているコンポーネント サービス Microsoft 管理コンソール (MMC) スナップインから多くの Microsoft 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+ アプリケーションが This User プロパティで指定された異なるユーザー アカウントで実行される場合、コンピューターはメモリを割り当て、新しいユーザーの新しいデスクトップ ヒープを作成できません。 したがって、プロセスを開始できません。

回避策

重要

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

  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. コンポーネント サービス 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+ アプリケーションの作成