Visual Studio 2010 で Excel VSTO アドインを開発しました。Windows 7 以降と Excel 2007 以降のさまざまな組み合わせで正常に動作しますが、Windows XP と Excel 2007 では読み込みに失敗し、情報を提供しない「実行中にランタイム エラーが発生しました」というメッセージが表示されます。 COM アドインの読み込み」メッセージ。VSTO_SUPPRESSDISPLAYALERTS=0
データをVSTO_LOGALERTS=1
生成しません。
API Monitor と Dependency Walker でデバッグしたところ、以下のことがわかりました。アドインを読み込むために、Excel は を読み込みますC:\Program Files\Common Files\Microsoft Shared\VSTO\10.0\VSTOLoader.dll
。このライブラリは、Vista 以降でのみ使用できるGetFileVersionInfoEx
から関数をインポートします。C:\Windows\System32\Version.dll
したがって、VSTO ランタイムのロード中にプロセスが非常に早い段階で失敗するため、アドイン DLL のロードは試行されません。
これを修正する方法についてのアイデアはありますか? 依存関係がありませんか?これまでにインストールしたものは次のとおりです。
- .NET 2.0 SP2
- .NET 3.5 SP1
- .NET 4.0
- オフィス SP3
- http://www.microsoft.com/en-us/download/details.aspx?id=48217の VSTO 2010 ランタイム
- http://www.microsoft.com/en-us/download/details.aspx?id=18346の PIA