[HOWTO] エラー 1928 "COM+ アプリケーションを登録しているときにエラーが発生しました" のトラブルシューティング方法

文書翻訳 文書翻訳
文書番号: 308940 - 対象製品
この記事は、以前は次の ID で公開されていました: JP308940
すべて展開する | すべて折りたたむ

目次

概要

この資料では、エラー 1928 " COM+ アプリケーションを登録しているときにエラーが発生しました " のトラブルシューティング方法について説明します。このエラー メッセージは、クライアント コンピュータまたは別のサーバー コンピュータ上で .msi ファイル (COM+ アプリケーションをエクスポートしたときに作成されるもの) を実行したときに発生する場合があります。

詳細

このエラー メッセージの原因は、通常、次の 2 つの分野に分けられます。
  • 依存関係の問題
  • アクセス権の問題

依存関係の問題

依存関係のトラブルシューティングは、アプリケーションをどのようにエクスポートしているかによって手順が異なります。COM+ アプリケーションは次の 2 つの異なる方法でエクスポートできます。
  • アプリケーション プロキシ
  • サーバー アプリケーション

アプリケーション プロキシとしてエクスポートした場合

COM+ アプリケーションをアプリケーション プロキシとしてエクスポートした場合は、以下の手順に従ってエラー 1928 のトラブルシューティングを実行してください。
  1. 依存関係の問題を除外するには、ダイナミック リンク ライブラリ (DLL) の代わりにタイプ ライブラリ (.tlb または typelib) ファイルをエクスポートします。
    • コンポーネントが Microsoft Visual Basic で作成されている場合、単独のタイプ ライブラリは自動的に作成されません。 DLL から単独のタイプ ライブラリを作成する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
      153569 HOWTO: Get a Typelib (.TLB) File for a Visual Basic OLE Server
    • すべてのクライアント コンピュータで Microsoft Windows 2000 が実行されている場合は、COM+ サーバー上に Windows 2000 Service Pack 2 (SP2) 以降がインストールされていることを確認します。
    • 一部のクライアント コンピュータで Windows NT 4.0、Windows 98、または Windows 95 が実行されている場合は、COM+ サーバー上に Windows 2000 Service Pack 2 以降の COM+ ロールアップ修正プログラム 9 以降、または Windows 2000 Service Pack 3 がインストールされていることを確認してください。 : サーバー上にどの修正プログラムがインストールされているかをチェックするには、レジストリ内の以下のキーのサブキーを参照してください。
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\HotFix
    COM+ アプリケーション用のタイプ ライブラリをエクスポートすると、潜在的な依存関係の問題が除去されるだけでなく、クライアント コンピュータ上にインストールされるファイルの数も最小限に抑えられます。オブジェクトがサーバー上で作成されるため、クライアント コンピュータに必要なのはインターフェイス定義 (すなわちタイプ ライブラリ) だけで、DLL の完全な実装は不要です。

    タイプ ライブラリを COM+ アプリケーションにインストールするには、以下の手順を実行します。
    1. [スタート] メニューの [プログラム] をポイントし、[管理ツール] をポイントし、[コンポーネント サービス] をクリックしてコンポーネント サービス MMC (Microsoft 管理コンソール) を開きます。新しい COM+ アプリケーションを作成します。
    2. コンポーネント サービスで、[コンポーネント サービス]、[コンピュータ]、[マイ コンピュータ]、[COM+ アプリケーション] の順にノードを展開します。
    3. 新しく作成した COM+ アプリケーションをクリックして展開します。
    4. [コンポーネント] フォルダを右クリックし、[新規作成] をポイントし、[コンポーネント] をクリックします。
    5. COM コンポーネント インストール ウィザードで、[次へ] をクリックします。
    6. ウィザードの 2 ページ目で、[新しいコンポーネントをインストールする] をクリックします。
    7. コンポーネントを選択するように指示されたら、.dll ファイルと .tlb ファイルを両方とも選択します。コンポーネント サービス MMC では、.tlb ファイルは表示されず、DLL のみが表示されます。
    8. コンポーネントのインストール後、COM+ アプリケーションをアプリケーション プロキシとしてエクスポートします。
  2. COM+ アプリケーション用のタイプ ライブラリをエクスポートすると、潜在的な依存関係の問題が除去されるだけでなく、クライアント コンピュータ上にインストールされるファイルの数も最小限に抑えられます。オブジェクトがサーバー上で作成されるため、クライアント コンピュータに必要なのはインターフェイス定義 (すなわちタイプ ライブラリ) だけで、DLL の完全な実装は不要です。 クライアント コンピュータ上で .msi ファイルを実行します。エラー 1928 が依存関係の問題によって発生していたのであれば、.msi ファイルがクライアント コンピュータ上で正常に実行されるはずです。クライアント コンピュータのファイル システムを検索すると、コンポーネントの .tlb ファイルのみがインストールされています。
  3. COM+ アプリケーション用のタイプ ライブラリをエクスポートすると、潜在的な依存関係の問題が除去されるだけでなく、クライアント コンピュータ上にインストールされるファイルの数も最小限に抑えられます。オブジェクトがサーバー上で作成されるため、クライアント コンピュータに必要なのはインターフェイス定義 (すなわちタイプ ライブラリ) だけで、DLL の完全な実装は不要です。 クライアント コンピュータ上で .msi ファイルを実行したときにまだエラー 1928 が発生する場合は、クライアント コンピュータにアクセス権の問題がある可能性があります。

サーバー アプリケーションとしてエクスポートした場合

COM+ アプリケーションをサーバー アプリケーションとしてエクスポートする場合には、サーバーが DLL の完全な実装を必要とするため、タイプ ライブラリだけをエクスポートすることはできません。

COM+ アプリケーション内の DLL に、インストール先の Windows 2000、Windows XP、または Windows .NET サーバー上に存在しない依存関係ファイルが含まれている場合は、ターゲットマシン上で .msi ファイルを実行する前に、これらの DLL が正しく登録されていることを確認する必要があります。依存関係ファイルが COM (Component Object Model) の DLL でない場合は、.msi ファイルを実行する前に、これらのファイルがターゲットマシン上の windir\WINNT\System32 フォルダにインストールされていることを確認します。

上記のトラブルシューティングを実行しても、エラー 1928 が表示される場合は、ターゲットコンピュータ (.msi ファイルを実行するコンピュータ) 上で以下の手順を実行し、さらに詳しいエラー情報を入手します。
  1. コンポーネント サービス MMC を開きます。
  2. [コンポーネント サービス]、[コンピュータ]、[マイ コンピュータ] の順にクリックしてノードを展開します。
  3. [COM+ アプリケーション] をクリックした後右クリックし、[新規作成] をポイントし、[アプリケーション] をクリックします。
  4. COM コンポーネント インストール ウィザードで、[次へ] をクリックします。
  5. ウィザードの 2 ページ目で、[既成のアプリケーションをインストールする] をクリックします。
  6. 既定のディレクトリ(アプリケーションファイルが指定したディレクトリ)または特定のディレクトリを選択するように指示されたら、[既定のディレクトリ ] を選択し、ウィザードの手順を完了します。
  7. ウィザードによって 2 つのエラー メッセージ ダイアログ ボックスが表示されます。2 番目のダイアログ ボックスで [詳細] をクリックし、さらに詳しいエラー情報を入手します。このエラー情報によって、問題の原因がよりはっきりと示される場合があります。

アクセス権の問題

アクセス権の問題のトラブルシューティング手順は、COM+ アプリケーションをどのようにエクスポートしているかに必ずしも依存しません。アクセス権の問題をトラブルシューティングする場合、始めにクライアント コンピュータに現在ログオンしているユーザーが、.msi ファイルを実行するのに必要なアクセス権を持っているかどうかを確認することです。

たとえば、ユーザーは、HKEY_CLASSES_ROOT 以下のレジストリに対し、読み取り/書き込みのアクセス権を持っている必要があります。Regmon および Filemon ユーティリティ (SysInternals から入手できます) を使用してください。

: Crystal Reports 8.0 をインストールすると、特定のレジストリ キーに対するアクセス許可が変更されることがわかっています。 関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
266621 PRB: Error "Library Not Registered" with Crystal Reports 8.0

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 308940 (最終更新日 2001-12-20) をもとに作成したものです。

プロパティ

文書番号: 308940 - 最終更新日: 2006年10月13日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft COM+ 1.0
  • Microsoft Visual Studio インストーラ 1.0
  • Microsoft Visual Studio インストーラ 1.1
キーワード:?
kbcomplus kbhowto KB308940
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com