2

Web サービスが .net webb サービスを介してプログラムで MS Word 文書を開こうとすると、上記のエラーが発生します。Visual Studio で Web サービスを実行すると正常に動作しますが、IIS 7 に Web サービスを展開するとエラーが発生します

次のエラーのため、CLSID {00020906-0000-0000-C000-000000000046} を持つコンポーネントの COM クラス ファクトリを取得できませんでした: 80070005

同様の質問を見て、Stackoverflow、MSDN、その他のリソースでも解決策を試しましたが、どれもうまくいきませんでした。質問のほとんどは、2008/2007 年にさかのぼる古いものでした。

dcomcnfg コマンドを使用して DCOM 設定を変更しようとしましたが、「ネットワーク サービス」、「ネットワーク」ユーザーを追加し、「Microsoft Word ドキュメント」コンポーネント プロパティに自分のユーザー ID を追加して、完全な権限を与えました。また、web.config に impersonate=true プロパティを追加しました。これをすべて実行した後、エラーが発生します。誰でも私を助けてもらえますか?

MS Vista 32 ビット OS でこれらすべてを試しています。Office のバージョンは Office 2003 です。

4

1 に答える 1

2

私は Web サービスを使用していませんが、Windows サービスを使用しています。サービスが Excel オブジェクトを作成しようとした実行可能ファイルを呼び出したときに、同じエラーが発生しました。他の多くのリソースも読みましたが、どれもうまくいきませんでした。いくつかは非常に近かったため、次の方法で問題を解決しました。

  1. 私はサーバーに行きました...開始..実行し、「dcomcnfg」を実行しました。
  2. コンポーネント サービス...コンピュータ...マイ コンピュータ...DCOM 構成...Microsoft Excel アプリケーションに移動します。
  3. プロパティを開き、[ID] タブを選択します。
  4. 「The launching user」(「The interactive user」ではなく) ラジオ ボタンを選択し、「OK」をクリックしてプロパティ ダイアログを閉じます。

エラーは解消され、サービスの実行時にアプリによって Excel ファイルが生成されます。

このソリューションに副作用があるかどうかわからないため、別の方法で Windows サービスからこれを機能させることができるかどうかを調査しています。また何かわかりましたら更新していきます。

于 2010-08-25T20:43:32.260 に答える