CLSID {00020906-0000-0000-C000-0000000046}を使用したコンポーネントのCOMクラスファクトリの取得は、次のエラーのために失敗しました:80070005
-
27-09-2019 - |
質問
私のWebサービスが私の.NET Webbサービスを通じてMS Wordドキュメントをプログラム的に開始しようとすると、上記のエラーが発生します。 Visual Studioを通じてWebサービスを実行すると、正常に動作しますが、IIS 7にWebサービスを展開すると、エラーが発生します。
CLSID {00020906-0000-0000-C000-0000000046}を使用したコンポーネントのCOMクラスファクトリの取得は、次のエラーのために失敗しました:80070005
私は同様の質問を見て、Stackoverflow、MSDN、その他のリソースで彼らのソリューションを試しましたが、それらのどれも私のために働いていませんでした。質問のほとんどは、2008年/ 2007年に遡る古いものでした。
DComCNFGコマンドを使用してDCOM設定を変更しようとしましたが、「ネットワークサービス」、「ネットワーク」ユーザーを追加して、「Microsoft Word Document」コンポーネントプロパティに独自のユーザーIDを追加し、完全な許可を与えました。また、web.configにfrusionate = trueプロパティを追加しました。これをすべて行った後、エラーが発生しています。誰かが私を助けてくれませんか?
私はこれをすべてMS Vista 32ビットOSで試していますが、OfficeバージョンはOffice 2003です。
解決
私はWebサービスを使用していませんが、Windowsサービスを使用しており、Excelオブジェクトを作成しようとする実行可能ファイルに電話をかけたときに同じエラーが発生しました。私は他の多くのリソースも読んでいますが、それらのどれも私のために働いていませんでした。いくつかは非常に近かったので、次の方法で問題を解決するようになりました。
- 私はサーバーに行きました... start..runと「dcomcnfg」を実行しました。
- コンポーネントサービスに移動します...コンピューター...私のコンピューター... dcom config ... microsoft excelアプリケーション。
- プロパティを開き、[ID]タブを選択します。
- [インタラクティブユーザー]の代わりに)[[インタラクティブユーザー]の代わりに)[[The Launningユーザー]]ボタンを選択し、[OK]をクリックして[プロパティ]ダイアログを閉じます。
エラーがなくなり、サービスが実行されるとアプリはExcelファイルを生成します。
このソリューションに副作用があるかどうかわからないため、Windowsサービスからこれを他の方法で機能させることができるかどうかを調査しています。他に何かを理解したら、さらに更新します。