我正在为第三方应用程序的插件编写Wix安装程序(在这里我将称为第三方应用程序Foo
)。我不控制第三方应用程序,并且必须满足其规定的要求。插件(dll)必须安装到第三方应用程序安装过程中的特定目录(例如C:\Program Files\Foo\bin
)。插件dll有多个版本,它们与Foo
的特定版本具有二进制兼容性,并且我的安装程序必须检查Foo
的安装版本并安装正确的插件dll才能匹配。 Foo
还要求插件dll必须具有相同的文件名,而不管所安装的版本如何。
我有一些自定义操作,可以检测Foo
的安装版本和安装位置-这不是问题。
问题是:关于组件GUID等(例如,Component Rules)以及我的插件DLL的多个版本,解决此问题的正确/最佳/最糟糕的方法是什么?是否已安装(或者可能已经在升级方案中安装),它们都具有完全相同的文件名,并且必须安装到完全相同的路径?