2012-02-01 4 views
1

32ビットCOMコンポーネントをロードするWebサービスがあります。ローカルマシンのIISサーバーでこのWebサービスを実行しています。私は、任意のCPUからのx86にWebサービスのプラットフォームを変更しようとしたエラーコンポーネントのCOMクラスファクトリの取得

私はそれが成功したのVisual Studioからテストページをロードすると、一方で、それはIISを使用してロードしている間、それは誤り

Retrieving the COM class factory for component XXX failed due to the following error: 80070005. 

次のような表示にしかしその助けが助けになります。私はWindows Server 2008 R2 - 64ビットでこれを実行しています。

答えて

1

はたぶんも、これを参照してください。

0

そのCOMのアクセス許可を確認してください。 VSからテストを実行しているときは、あなた(管理者)として実行していて、Webサイトのapp-poolを実行しているユーザーはまったく違っているかもしれません。そのユーザーには、 "local"に対してread + execute(またはactivateなど)権限を追加する必要があります。私は、アプリケーションプールの設定から32ビットアプリケーションを有効にする必要がありましたRetrieving the COM class factory for component error while generating word document

+0

返信いただきありがとうございます。エクスプローラから直接実行すると(現在のユーザー権限で)正常に動作しています。一方、IISから実行すると、このエラーが表示されます – sarat

+0

その理由は、あなたのWebサイトのアプリケーションプールを実行しているユーザーのCOMアプリケーションを起動して実行する権限を確認するように指示しているからです。 –

+0

私の知らないことは申し訳ありません。私はIISとWebサービスを初めて利用しています。右クリックしてWebサービスを参照すると、利用可能なパブリックメソッドを含むデフォルトページが表示されます。どの資格情報の下でサービスが実行されますか?現在ログインしているユーザーの資格情報で実行されますか?これを確認する方法は? – sarat

0

サラット、これは正しいとは限りません。アプリケーションプールの既定値の下にある「32ビットアプリケーションを有効にする」は、32ビットアプリケーションを実行したり、問題を解決したりするためのものではありません。この場合、32ビットプロセスでのみ32ビットアプリケーションを実行する必要がありますが、実行する必要はありません。ほとんどの32ビットアプリケーションは、64ビットプロセスで正常に動作します。そのため、Windows 7の64ビットマシンでMS Office 2010(まだ32ビットアプリケーション)を実行することができます。

元の問題にほぼ1年間お答えいただいた後、他の設定を試してください。

関連する問題