我有一个TheApp
支持插件的主应用程序。应用程序 A 默认安装在$(ProgramFiles)\TheApp
,但金牌拥有者希望这是用户可自定义的,因此其位置可能会根据安装时的用户输入而有所不同。
通过将插件复制到Packages
安装目录下的子目录来安装插件。具体来说,不需要为要加载的包设置注册表设置,我试图尽可能地远离注册表。当然,如果用户在安装时更改了安装目录TheApp
,插件也必须更改其安装位置以匹配。
这如何最好地完成?我不擅长使用 WiX 编写 MSI 安装程序,但我的第一次尝试可能是在TheApp
安装时创建一个注册表项,保存其安装位置,然后让插件搜索注册表项。这迫使我创建注册表值,这是我尽可能避免的。但是,让我感到震惊的是,安装程序应该能够利用 Windows Installer 数据库来定位TheApp
的安装目录。这将消除对注册表项的需要。
是否有关于如何进行这种安装程序间通信的“最佳实践”,特别是安装目录?鉴于两个安装程序都将使用 WiX 编写,通信会是什么样子?