質問

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

Machine-Default Permission設定は、CLSID {00024500-0000-0000-C000-000000000046}を使用してCOMサーバーアプリケーションのローカルアクティベーション許可を付与しません。 。このセキュリティ権限は、コンポーネント サービス管理ツールを使用して変更できます。

これを機能させるには何を変更する必要があるか知っている人はいますか?助けていただければ幸いです。

編集 - これは32ビットサーバーでは正常に動作しました。

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

役に立ちましたか?

解決 4

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

他のヒント

サーバー環境から呼び出された場合、どの Office アプリケーションも正しく動作しません。これらの COM インターフェイスは、サーバー アプリケーションからのオートメーションではなく、デスクトップ オートメーションを目的としています。それらを機能させるために行うことはすべて、ハッキングの上に構築されたハックを必要とし、失敗する運命にあります。

ただし、サーバー アプリケーションからそれらを実行するライセンスが付与されていないという事実は無視されます。


修正: KB の記事 Office のサーバー側自動化に関する考慮事項 確かに、すべてのクライアントにライセンスが付与されている場合にのみ、Office 製品のサーバー側自動化のライセンスが付与されていると表示されます。

技術的な問題に加えて、ライセンスの問題も考慮する必要があります。現在のライセンス ガイドラインでは、クライアント自体が Office のライセンスを取得していない限り、クライアントの要求に対応するためにサーバー上で Office アプリケーションを使用することはできません。サーバー側オートメーションを使用して、ライセンスのないワークステーションに Office 機能を提供することは、エンド ユーザー使用許諾契約 (EULA) の対象となりません。

一方、その KB 記事には、これを決して実行しない理由が多数列挙されています。それらには次のものが含まれます。

  • ユーザーID
  • デスクトップとの対話性
  • 再入可能性とスケーラビリティ
  • 回復力と安定性
  • サーバー側のセキュリティ

Office 製品のサーバー側の自動化を検討している人には、この KB 記事をお勧めします。

John Saundersのように、ライセンスの問題はさておき、Officeオートメーションがサーバー側で適切に機能しないということです。

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

http://blogs.msdn.com/alspeirs/archive/2008/12/09/generated-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

より特権のあるIDでAppPoolを実行してみてください(AppPoolを右クリックして[ID]タブを選択します)。

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

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top