2009-07-01 12 views
5

私は自分の開発マシンにOffice 2007を持っています。私はいくつかのinteropを行う必要があるOffice 2003の顧客サーバーのために構築している小さなアプリケーションを持っています。私のプログラムは夜間のバッチ処理でスケジュールされたタスクとして実行されます。Office interop:Office 2007を搭載したマシンで2003 PIAを使用して開発する

私が何をしても、サーバー上で動作するようにAccess interopアセンブリのバージョン11.0を見つけることができません。

私はマシンに明示的にダウンロードしてインストールしようとしました。 2007年のinteropアセンブリをサーバーにインストールしようとしました(完全なOffice 2007のインストールは問題ありません)。私はいくつかの異なるCOM参照を試しました。私は、Visual Studioプロジェクトで参照するためにサーバー上のCOMオブジェクトを探してみました。そして、私はここにすべてをリストアップするために、あまりにも多くの他の小さなものを試しました。

ここでは何が起こっていますか?これをどうやって動かすことができますか?

+0

C:\ WINDOWS \ assembly \ GAC \ Microsoft.Office.Interop.Accessにチェックを入れたとしますか? –

+0

はい、私はしました。 –

+0

プログラミングしている環境についてはわかりませんが、初期バインディングを使用する必要がありますか? Officeのバージョンに依存しない、使用可能な遅延バインディングの形式はありませんか? –

答えて

1

これを行う唯一の方法は、両方のバージョンを.Net v2以上でインストールしても、(COM libではなく)PIAへの参照を追加することでした。 Frameork v1.1は、実際には正しいバージョンにバインドされています(存在する場合)。

+0

どこのPIAファイルも見つかりません。 –

+0

さて、私はばかです。私はサーバーのGACでファイルを見つけることができませんでしたが、2007年版(および2003年のPIAを明示的にインストールしたにもかかわらず2007年版のみ)は私のローカルGACにあります。残念ながら、これはサーバー上ではまだ動作せず、Accessファイルを開こうとするとハングアップします。しかし、それはまったく別の質問です。 –

+0

私は、PIAを最初に取得するには、GACからそれらを抽出したことを認めなければなりません(Office XP PIAはZIP形式で提供されています)。 ライセンスの影響についてはわかりませんが、PIAを横に並べることはできますか? (明らかにそこにはまだアクセスが必要です) –

0

PIAをサーバーからマシンに(ローカルフォルダに)コピーして、そのコピーへの参照を追加できませんか?

別の方法を使いたい場合は、PIAの使用を避け、ComImportを代わりに使用してください。アンドリュー・ホワイトチャペルは、自身のブログに詳細があります。

Add-ins for Multiple Office Versions without PIAs

更新(コメントから): サーバー上でアクセスPIAが見つからない場合は、次のことを試みることができる:

  • ダウンロードはこちらからOffice 2003のPIAのセットアップ:Office 2003 Update: Redistributable Primary Interop Assemblies

  • コマンドラインで自己解凍形式の実行可能ファイルを展開します(/?フル・ロギングを有効にして

    >O2003PIA.exe /C /T:C:\PIA 
    
  • が抽出されたMSIを実行します:

    >msiexec -i O2003PIA.msi /l*vx log.txt 
    

    をし、何もインストールで間違っていたかどうかをアクセス相互運用機能アセンブリと、さらにヒントをログで確認してください)オプションの一覧が表示されます。 この手順の代わりに、MSIアンパックユーティリティを使用してアセンブリを取得することもできます。

+0

いいえ、PIAファイルは、手動でダウンロードしてインストールした後でも、サーバー上に存在しません。 –

+0

ところで、リンクの面白い解決策ですが、私がそのようなものを使用した場合、コードレビュー時に部屋から笑ってしまうでしょう。私は今それを見ることができます: "WTFはこのくそだよ?" –

+0

確かに。すべてのComImportsをうまく処理するVS 2010を楽しみにしています... –

関連する問題