web-dev-qa-db-ja.com

DCOMConfigでMicrosoftWordドキュメントが見つかりませんでした

Office2007/2010の自動化を使用する単純なasp.netWebサイトを作成しています..ローカルマシン(ウィンドウ7)のiis 7でWebサイトを公開したとき、例外があります

 Retrieving the COM class factory for component with CLSID 
 {000209FF-0000-0000-C000-000000000046} failed due to the following error: 
 80080005 Server execution failed (Exception from HRESULT: 0x80080005 
 (CO_E_SERVER_EXEC_FAILURE)).

この例外を検索したところ、DCOMConfigでofficeにいくつかのアクセス許可を設定する必要があることがわかりました。

コンポーネントサービスを開いてDCOMConfigを開きましたが、MicrosoftWordドキュメントが見つかりません。OfficeWord97-2003しか見つかりませんでした。

誰かがこの問題を解決する方法を教えてもらえますか?.

11

ここで答えが見つかりました: OfficeオートメーションのDCOM障害

32ビットOfficeで64ビットサーバーを実行している場合、このDCOM設定を見つけるのに問題がある可能性があります。コマンドプロンプトから「MMC-32」を実行して32ビットMMCを起動し、[ファイル]> [スナップインの追加と削除]]メニューから[コンポーネントサービス]を追加する必要があります。

21
bfhd

はい、office Word 97-20はDCOMドキュメント(またはアプリケーション)Word2007または2010の正しい名前です。理由を聞かないでください...

どこに問題があるのでしょうか?

ユーザーはデスクトップにアクセスできる必要があります。 WordがASP.NETから呼び出された場合、おそらくこのアクセス権はありません。したがって、dcomcnfg.exeアカウントに明示的に設定します。使用しないでください起動ユーザー(これはIIS IDであり、独自のデスクトップを持っていません))および使用しないでくださいインタラクティブユーザー(一部のユーザーがログインしている場合にのみ機能します)。

私のソリューションでは、次のように設定しました。

  • WordUserという新しいユーザー(ユーザーグループ内)を作成しました
  • IIS WordUser権限を持つ新しいアプリケーションプール; ユーザープロファイルの読み込みである必要がありますtrueで作成しました
  • DCOM WordUserを使用するように設定しました。セキュリティタブにWordUserを追加しました起動とアクティブ化のアクセス許可およびアクセス許可

別の方法も可能かもしれませんが、これでうまくいくはずです。

8
Roman Plischke