COM相互運用機能を介して外部アプリケーション(ExAppと呼びます)と統合するVisual Studio 2010 / .NET 4で小さなプログラム(dll)を開発しています。TlbImp.exe
外部アプリケーションから提供されるものがないため、 を使用して自分で相互運用アセンブリを生成しています。ExApp には 3 つの一般的なバージョンがあり、それぞれが事実上同一の API を備えていますが、それぞれ異なる (そして互換性のない) 相互運用 dll が生成されています。現時点では、3 つの個別のインストーラーがあることを意味します。
- v1
my.dll
に対してビルド/リンクされたインストーラーInterop.ExApp.dll
- v2
my.dll
に対してビルド/リンクされたインストーラーInterop.ExApp.dll
- v3
my.dll
に対してビルド/リンクされたインストーラーInterop.ExApp.dll
これよりも良い解決策があるはずです。
必要な install.exe が 1 つだけになるように Visual Studio / Windows インストーラーを構成するにはどうすればよいですか? インストーラーが ExApp のバージョンを検出し、対応するバージョンの と をインストールすることを意味しmy.dll
ますInterop.ExApp.dll
。
おまけの質問: ExApp API は意味のある変更がないため、あるバージョンの をコンパイルmy.dll
して、インストールされているどのバージョンの ExApp でも動作するようにするにはどうすればよいですか?