查找预安装应用程序的MSI安装包?

时间:2011-01-31 01:54:38

标签: c# installer windows-installer registry

以下是我要做的事情:

我想在远程计算机上执行应用程序安装;作为该流程的一部分,在我安装新版本之前,我想检查该机器的注册表是否存在同一应用程序的预先存在的版本

如果该机器已经安装了现有的应用程序实例,我想找到用于安装它的MSI ,这样我就可以备份MSI并在必要时执行“回滚”。根据我的理解,Windows会创建这些MSI的副本,并将它们放在某个临时文件夹中,并在某处随机使用,以便它可以用于卸载。

我怎么能找到这个位置? (另外,关于如何跨网络检查注册表值的建议将不胜感激。)

1 个答案:

答案 0 :(得分:3)

据我了解,您不必找到确切的MSI包。要卸载产品,只需知道其产品代码并运行msiexec /x {PRODUCT-CODE-GUID-HERE}即可。可以在Uninstall注册表项(通常为SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall)下找到产品代码。