0

IIS7 に ASP.NET MVC3 アプリケーションを展開しています。既に他のアプリケーションをデプロイしましたが、App_Data フォルダーや相互運用ライブラリなどの追加コンポーネントを使用したことはありません。

私はワンクリック展開を使用し、デフォルトのアプリケーション プールを訴えました。アプリケーションを起動すると、すぐに次のエラーが表示されます。

[Web アクセス]申し訳ありませんが、リクエストの処理中にエラーが発生しました。

[IIS7 から参照]パス 'D:\Data\Apps\OppUpdate\App_Data\Test.xlsx' の一部が見つかりませんでした。

次に、配置ディレクトリ内に App_Data フォルダーを手動で追加すると、アプリケーションが定期的に起動します。次に、Interop ライブラリを使用するタスクに関しては、次のエラーが発生します。

[Web アクセス]申し訳ありませんが、リクエストの処理中にエラーが発生しました。

[IIS7 から参照] CLSID {00024500-0000-0000-C000-000000000046} を持つコンポーネントの COM クラス ファクトリを取得できませんでした: 80040154 クラスが登録されていません (HRESULT からの例外: 0x80040154 (REGDB_E_CLASSNOTREG))。

1 クリック デプロイを使用するときに App_Data フォルダーを自動的に追加する方法はありますか? Interop サービスを登録するにはどうすればよいですか?

ありがとうございます、

フランチェスコ

4

1 に答える 1

0

どうやら問題はサーバー2008に関連しているようです。サーバー側で実行されるExcelアプリケーションは、Win7やVistaなどのMSOSに現在存在するセキュリティポップアップをトリガーします。これは、ユーザーがアプリケーションを実行するたびに表示されるダイアログであり、信頼できないアプリケーションがPCにもたらす可能性のある損害についてユーザーに警告します。明らかに、アプリケーション(この場合はExcel)が別のアプリケーション(この場合はWebアプリケーション)によって実行されている場合、ダイアログはポップアップせず、サーバーはExcelを実行するための認証を取得しません。

Microsoft IIS&Excelでのこの恐ろしいバグの解決策は素晴らしいです:

ディレクトリ"C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop"を作成します。ディレクトリDesktopのフルコントロールアクセス許可を設定します(たとえば、Win7およびIIS 7では、ユーザー "IIS AppPool \ DefaultAppPool"のアクセス許可を設定します)。

ソース: http: //forums.iis.net/t/1148371.aspx

于 2011-05-24T08:34:15.227 に答える