我正在 Visual Studio 2010 / .NET 4 中开发一个小程序(一个 dll),它通过 COM 互操作与外部应用程序(我们称之为 ExApp)集成。我自己使用 生成互操作程序集TlbImp.exe
,因为外部应用程序没有提供任何程序集。ExApp 提供三个流行版本,每个版本都有一个实际上相同的 API,但每个版本都有不同(且不兼容)生成的互操作 dll。目前,这意味着我有三个独立的安装程序:
- 带有
my.dll
内置/链接到Interop.ExApp.dll
v1的安装程序 - 带有
my.dll
内置/链接到Interop.ExApp.dll
v2的安装程序 - 带有
my.dll
内置/链接到Interop.ExApp.dll
v3的安装程序
一定有比这更好的解决方案。
如何配置 Visual Studio / Windows Installer 以便我只需要一个安装 .exe?这意味着安装程序会检测 ExApp 的版本,并安装相应版本的my.dll
和Interop.ExApp.dll
。
还有一个额外的问题:由于 ExApp API 没有发生有意义的变化,我如何编译一个版本my.dll
来使用任何已安装的 ExApp 版本?