.net 将MSI安装目录设置为第三方/姐妹产品安装文件夹

.net 将MSI安装目录设置为第三方/姐妹产品安装文件夹,.net,visual-studio-2010,windows-installer,custom-action,.net,Visual Studio 2010,Windows Installer,Custom Action,我们的产品通过msi部署在客户的站点上,是姐妹产品的附加产品 我需要在安装时检测姐妹产品的安装文件夹,并将我们的产品安装到相同的位置。我不久前做了类似的事情:我有一个NSIS安装程序,它查询特定的注册表项以获取我应用程序的当前安装目录。当键及其值存在时,我通过“/TARGETDIR=…”将其传递给Msi设置程序。 (背景是,用户可以在安装过程中更改安装目录,我希望他的最后一个目录是安装程序的installdir页面中的默认目录) hth查看我写的这篇博客文章: 这将允许你用肉眼“双生”你的姐妹

我们的产品通过msi部署在客户的站点上,是姐妹产品的附加产品


我需要在安装时检测姐妹产品的安装文件夹,并将我们的产品安装到相同的位置。

我不久前做了类似的事情:我有一个NSIS安装程序,它查询特定的注册表项以获取我应用程序的当前安装目录。当键及其值存在时,我通过“/TARGETDIR=…”将其传递给Msi设置程序。 (背景是,用户可以在安装过程中更改安装目录,我希望他的最后一个目录是安装程序的installdir页面中的默认目录)


hth

查看我写的这篇博客文章:


这将允许你用肉眼“双生”你的姐妹产品,但在幕后获得WiX项目的所有优势。这包括完全使用自定义搜索扩展和自定义操作计划。

您是否正在使用内置的Visual Studio安装项目(shudder)?或者其他MSI构建系统(例如Wix、Installshield等)?感谢您为我在运行构建时所感受到的不适命名。是的,我们使用内置的部署项目系统。我们的方法需要将姐妹产品配对,因此我们没有使用替代msi构建系统的选项。我相信,如果您坚持使用VS设置,您必须编写自定义操作来对其他产品进行注册表搜索,然后设置安装位置。例如,WiX内置了对执行这些搜索以设置属性值的支持。(暗示)即使你不能改变“姐妹产品”的安装,你也可以考虑改变你的安装来使用Wix(其他产品存在,我只是推荐一个我习惯的——而且是免费的),它不能仅仅使用VDPROJ。(请参阅,虽然VDPROJ公开启动条件,但它不公开AppSearch。因此,请编写一个您所说的自定义操作?再次抱歉。VDPROJ只公开CA以“安装、卸载、回滚和提交”的形式运行,这太晚了,无法进行搜索和更改安装目录。您必须使用合并模块(WiX!!)将此功能注入VDPROJ msi。请参阅下面的答案。唯一的替代方法是开始进行构建后msi调整,以编写AppSerach和SetDirectory CA.PS-VDPROJ在VS的下一版本中消失。我建议查看InstallShield LE和WiX。感谢您的帮助;我们的姐妹产品不知道VDPROJ即将出现。我们我会把整个套房搬到WiX。