質問

VS 2008 for Office XP(正確にはExcel)を使用して共有アドインを作成しようとしています。ただし、Visual Studioでプロジェクトを作成し、Office XPへの参照を変更した後(Office XPのコピーを見つけることができないように見える拡張性は別として)、同様に参照にexcel.exeを追加しました。アドインをどのコンピューターにもインストールできないようになりました。

VS 2008を使用してOffice XPアドインを作成するためのガイド(追加する可能性があるComアドイン)はありますか?

誰かが私が持っているつもりの参照や、PCにインストールするつもりの前のものを知っていますか?

3つのテストPCがあり、これにはOffice XP、2003および2007があり、これで実行されるが他のボックスではない2003の参照を使用してアドインを作成できます。 Office XPのみがインストールされているが、Office XP PIAがインストールされている.NETと、Office XPがオンになっているもの。

ヘルプは非常に高く評価されます。

役に立ちましたか?

解決

これで問題が最終的に見つかりました。

問題は、KBエントリ 908002 から発生しました。残念ながら、修正プログラムを実行するにはVisual Studio 2005とOffice 2003をインストールする必要があります。そうしないと、修正プログラムが展開されないため、何度も修正しました。最後に、VS2005とOffice 2003の古いコピーを予備のマシンで見つけ、修正プログラムをインストールし、インストーラーを作成して、Office XPを搭載したマシンで試してみましたが、すべて正常に機能しました。

Office XPを搭載した任意のマシンでこれを機能させるには、2つの修正が必要です。

extensibilityMSM.msi - installs the extensibility.dll
lockbagRegKey.msi    - adds a fix to a registry key

これらをKB908002修正プログラムから個別にダウンロードすることはできませんでしたが、ローカルにコピーがあります。

これらの修正を適用した後、VSTOを使用するようにCOMアドインを使用するのは簡単で、実際のコードを書くのに1時間もかかりませんでした。これらを前提条件としてMSIインストーラーに含める方法を探していません。

質問があるとコメントが付けられます。できるだけ早く更新してみます。

他のヒント

前提条件としてPIAをインストールする必要があります。アドインはまったくインストールされますか、それともインストール時に失敗しますか?起動時の不正なアドインは、ホストアプリケーション(Excel)によって禁止される場合があります。 Excelのアドイン設定ダイアログで更新できます。

@PintSizedCat-こちらは、VS2005をインストールせずにmsiを抽出する方法を示すmsdnブログへのリンクです。

「共有COMアドインセットアッププロジェクトの構築」セクションを参照してください。 -コマンドラインを使用します:

vs2005-kb908002-enu-x85.exe / T:” C:\ Test” / C

私たちにとっては、.Net 2.0を備えたExcel 2003であり、extensibility.dllがありませんでした。 VS2008 / VS2010がこれを前提条件とは思わない。 dllは再配布できません(このブログによると、「回答」セクションをご覧ください) -msiを使用して再配布する必要があります。

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