0

Word オートメーションを使用して、Word 文書のページ数をカウントしようとしています。これまでのところ、これらのエラーに直面しています:

  1. Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005.

  2. ドキュメントを開くときに Word が停止しました。

現時点での私の解決策とこれまでに行った手順は次のとおりです。

  1. レジストリ キー[HKEY_CLASSES_ROOT\AppID\WINWORD.EXE]を から{A86A40B3-0008-4D41-975C-BB586C7121E3}に変更します{00020906-0000-0000-C000-000000000046}

  2. DCOMDCOMCNFG.EXE構成で、次の変更を行いました。

    • appID「{A86A40B3-0008-4D41-975C-BB586C7121E3}」の下に表示されている「Microsoft Word アプリケーション」で、ユーザーにiusr_<MACHINE_NAME>ローカルランチ権限 (のみ) を与え、ID を「起動ユーザー」に設定しました。

    • 「Microsoft Word ドキュメント」とも呼ばれる「Microsoft Office Word 97 - 2003 ドキュメント」(おそらく Word のバージョンによって異なります) で、iusr と iwam の両方に完全な起動とアクセス許可を与え、認証レベルを「なし」に設定し、起動を設定しました。ユーザーを自分の管理者ユーザーに。

セクション「2-b」の 3 つのモッドすべての組み合わせにより、最終的にすべての試練が機能し、現在機能しています。起動に自分のユーザーを使用することは、ドキュメントを開くときに単語がスタックすることへの対応として行われました。認証をデフォルトに戻すと、エラー「1」が発生します。起動ユーザーを「起動ユーザー」に戻すと、エラー「2」が発生します。

現在の状況では、すべてが機能していますが、ユーザーがログオンしてマシンでアクティブになっている場合のみであり、ログオンする必要がある自分のユーザーを使用する必要があり、認証がに設定されているという事実に興奮していませんなし。

これを機能させるために何日も苦労している人々への回答としてこれを書いています。できれば、セキュリティを改善する方法、つまり起動ユーザーを削除して認証を元に戻し、24時間年中無休でログオンしない方法についての回答を得たいと思っています本番マシン (サイトの起動時)。

開発マシンの仕様:
Windows XP Pro 32bit
IIS 5.1
Classic ASP Website
COM+ 自動化するC#オブジェクト。

4

1 に答える 1

0

ユーザーが 24 時間 365 日ログインすることを回避する解決策は、Word を呼び出す前に、アカウントを偽装し、ユーザー プロファイルをプログラムで読み込むことです (このためには、アカウントはローカル管理者に必要です)。

別の解決策は、同じことを行う Windows サービスを構築することです。

于 2012-03-15T10:37:00.387 に答える