Office XP共有アドインVS 2008
-
03-07-2019 - |
質問
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を使用して再配布する必要があります。