COM オブジェクトをインスタンス化するときにサーバー オブジェクト エラー 'ASP 0178'

この記事は、COM オブジェクトをインスタンス化するときに発生する 'ASP 0178' エラーを解決するのに役立ちます。

元の製品バージョン:インターネット インフォメーション サービス
元の KB 番号: 198432

現象

Active Server Pages (ASP) から Out-Of-Process Server (EXE) で COM コンポーネントをインスタンス化すると、次のエラーが発生する可能性があります。

サーバー オブジェクト エラー 'ASP 0178 : 80070005'
Server.CreateObject アクセス エラー
testOOP.asp、12 行目
アクセス許可の確認中に Server.CreateObject の呼び出しが失敗しました。
このオブジェクトへのアクセスは拒否されます。

原因

プロセス外 (OOP) COM オブジェクトにアクセスして起動するための適切なアクセス許可が設定されていません。

解決方法

次の手順を使用してdcomcnfg、OOP COM オブジェクトを起動してアクセスするには、IUSR_<machine_name> アカウントのアクセス許可を付与する必要があります。

  1. [スタート] ボタンをクリックし、[実行] を選択し、[ 実行] ダイアログ ボックスに 「Dcomcnfg」と入力して、DCOMCNFG を起動します。

  2. [ 既定のセキュリティ ] タブで、[ 既定アクセス許可 ] フレームの [既定の編集] をクリックします。 [レジストリ値のアクセス許可] ダイアログ ボックスが表示されます。

  3. IUSR_<machine_name> アカウントと INTERACTIVE アカウントを [レジストリ値のアクセス許可] ダイアログ ボックスに追加し、[OK] をクリック します

  4. [ 既定のセキュリティ ] タブで、[ 既定 の起動アクセス許可] フレームの [既定の編集] をクリックします。 [レジストリ値のアクセス許可] ダイアログ ボックスが表示されます。

  5. [レジストリ<値のアクセス許可] ダイアログ ボックスにIUSR_machine_name> アカウントを追加し、[OK] をクリック します