0

Windows 2003 64ビットを実行しているサーバーでC#ASP.NETを使用してOffice 2003の相互運用を実行しようとしています(ただし、IISを32ビットモードで実行しています)。次のようなエラーメッセージが表示されます。

machine-default権限設定では、CLSID{00024500-0000-0000-C000-000000000046}を持つCOMサーバーアプリケーションのローカルアクティベーション権限がユーザードメイン\ユーザー名SID(SXX-XX-XXX-XXXX-XXX-XXXXX)に付与されません。 。このセキュリティ権限は、コンポーネントサービス管理ツールを使用して変更できます。

これを機能させるために私が何を変更する必要があるか誰かが知っていますか?あなたが助けることができればありがとう。

編集-これは32ビットサーバーで正常に機能していました。

編集2-誰もこれを好きではないようですが、私たちの要件を考えると他の方法があるかどうかはわかりません。あなたが1つを考えることができるならば、私はドキュメント生成のためのオフィス相互運用の代替の別の質問を開きました

4

5 に答える 5

1

John Saunders が言っているように、ライセンスの問題はさておき、Office オートメーションをサーバー側で適切に動作させることはできません。

同じ最終結果を得るために活用できる可能性がある OpenXML SDK を確認してください。特に DocumentReflector はこれに役立ちます。

http://blogs.msdn.com/alspeirs/archive/2008/12/09/generating-documents-with-c-open-xml-and-the-document-reflector.aspx

http://www.microsoft.com/downloads/details.aspx?FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0&DisplayLang=en

于 2009-06-23T10:21:05.607 に答える
0

私は答えを見つけました。regedit で問題の GUID を検索します。次に、コンポーネントの名前とコンポーネント サービスの GUID という 2 つの値を含むキーに遭遇します。

于 2009-06-24T09:22:57.670 に答える
0

他の人が述べたように、サーバー環境で COM Interop を使用することは Microsoft によってサポートされていません。

そうは言っても、ASP.NET、WinForms、コンソール アプリケーション、または ??? について話しているかどうかを指定していませんでした。コンソール アプリケーションをビルドし、Visual Studio 構成マネージャーでターゲット CPU を任意の CPU ではなく x86 に設定すると、機能することがわかる場合があります。これにより、アプリケーションが 64 ビット サーバー上で 32 ビット モードで実行されるようになります。もちろん、アクセス許可の問題など、他にも多くの問題が発生する可能性があります。

SpreadsheetGear for .NETは、W2K3 64 ビットおよび W2K8 64 ビット環境でテストおよびサポートされています。

免責事項: 私は SpreadsheetGear LLC を所有しています

于 2009-06-24T16:55:19.547 に答える