2012-04-25 12 views
0

私のアプリケーションは、レコードを解析してアップロードするためにExcelファイルを読み込みます。私は.NET 4とPIAを使用します。
アプリはWin7マシンで正常に動作します。 しかしWin2003のサーバーにそれがCLSID {00024500-0000-0000-C000-000000000046}を持つコンポーネントのCOMクラスファクトリを取得するコード行以下MS Office PIA Com Interopエラー

var xlApp = new Microsoft.Office.Interop.Excel.Application(); 

でこのエラーを与えては、次のエラーのため失敗しました:80040154

これを解決するためのいくつかの指針を与えてください。

+0

Officeシステムを稼働させるAddins/Addonsを取得することは、本当に面倒なことになります。正しいPIAがWin2003マシンにインストールされているかどうか確認しましたか?あなたはWin7 x64上で開発し、Win2003 32ビットに展開していますか?あなたのアプリのインストーラを作成しましたか? – Filburt

答えて

1

最初に行うことは、Officeが実際にそのサーバーにインストールされていることを確認することです。コンポーネントが存在しない場合は、PIAは使用できません。

あなたがしなければならない第2のことは、プロセスのビット数を心配することです。サーバーは64ビット版のWindowsを起動しますが、32ビット版のOfficeをインストールする可能性があります。つまり、プロセスは32ビットである必要があります。 [プロジェクト+プロパティ]、[ビルド]タブで、プラットフォームのターゲット設定をAnyCPUからx86に変更します。このコードがIISで実行されている場合は、32ビットアプリケーションプールのサポートを有効にします。

+0

MS Officeがインストールされていないという理由を強く収集することができました。私はまだオフィスをインストールした後にそれを試しています。ありがとう。 –

関連する問題