我很好奇在 wix 安装期间检测计算机中已安装软件的最佳方法是什么。我知道有很多方法可以做到。像appsearch、registrysearch、 directorysearch 和 filesearch 。
我也知道在 Windows 安装程序中有MsiGetProductInfo
功能和ComponentSearch
在 wix 中查找基于 guid 的信息。还有另一种可能性是在注册表中搜索,HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
但还有更多可能性。HKCU
,HKLM
以及 64 位还是 32 位?
对我来说,最好的选择类似于MsiGetProductInfo
,我可以在其中放置我正在寻找的应用程序的 guid,然后我会获得安装目录、版本等信息。
我读了几篇文章,很多人通过注册表搜索来做到这一点。和目录搜索。但是如果补丁改变了应用程序目录的结构怎么办?或更改注册表项。通过这些更改,指南应该仍然是唯一的。
我的老板还告诉我他反对搜索注册表。所以,对于这个你有什么想法?最好的选择是什么。
编辑:附加问题。在我看来,并非所有安装系统都使用 guid。