2011-07-21 4 views
2

私はここでかなり新しいです、あなたは下のクエリで私を助けてください。私は自分のプロジェクトでXceedZip.dllを参照しました。私はステップアップファイルを.msiファイルとして作成しました。 2台から3台のマシンにインストールすると、結果は満足しました。"CLSID {DB797690-40E0-11D2-9BD5-0060082AE372}のコンポーネントのCOMクラスファクトリを取得すると、次のエラー:80040154が原因で失敗しました。

私は以前のバージョンをアンインストールし、いくつかのバグを修正して新しいバージョンのツールをインストールしました。私のツールを使用しようとすると、アプリケーションからファイルを解凍するときにアプリケーションエラー以下になってしまいます。

"CLSID {DB797690-40E0-11D2-9BD5-0060082AE372}のコンポーネントのCOMクラスファクトリを取得すると、次のエラー:80040154が原因で失敗しました。

XceedZip.dllをアンインストールすると、問題が解決されました(regsvr32/u "C:\ Windows \ System32 \ Xceedzip.dll"を使用して解決されました)。私は同じDLLを共有する別のアプリケーションを持っている、私は私のツールをアンインストールする場合、私は共有アプリケーションから同じエラーが表示されます。

私はここで立ち往生しています。私は根本的な原因と修正を知りたい。

答えて

4

このエラーは「クラスが登録されていません」という意味です。指定したサンプル( "regsvr32/u")は実際にはDLLの登録を解除します。あなたは "/ u"なしでregsvr32を行うことを意味しましたか?私は "regsvr32 xceedzip.dll"がクラスを登録することを期待していました。

また、レジストリを開いて(regedit.exeを実行)、そのCLSIDのレジストリエントリがあるかどうかを確認します。助け

HKEY_CLASSES_ROOT\CLSID\{DB797690-40E0-11D2-9BD5-0060082AE372} 

希望、

ジョン私に戻って取得するための

+0

おかげで、私は..私はHKEY_CLASS_ROOT下には直接CLSIDノードが存在しないと思います私のマシンでは、このキーを見つけることができませんでした。しかし、私はツールをアンインストールしているときにどのようにアンインストールされていますか? –

+0

"モジュールXceedzip.dll"がロードされましたが、DLLRegister Serverの呼び出しがエラーコード0x80020009で失敗しました "regsvr32 xceedzip.dllを使用した場合 –

+0

権限の問題がある可能性があります。 DLLを登録するのですか? – JohnD

関連する問題

 関連する問題