次の方法で共有


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 の呼び出しが失敗しました。
このオブジェクトへのアクセスは拒否されます。

原因

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

解決方法

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

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

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

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

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

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