卸载通过MSI安装的程序 - 只知道安装位置

时间:2016-06-28 21:21:15

标签: windows-installer uninstall

我知道通过MSI安装的程序的安装位置。我想写一个将删除它的脚本。我不知道GUID,因为它经常变化。我如何实现这一目标?

我检查了安装工具的command line options,但我没有看到任何允许我指定选择产品的安装位置的内容。

2 个答案:

答案 0 :(得分:2)

您需要找到UpgradeCode(查看属性的安装日志文件)。

从那里,使用MsiEnumRelatedProducts迭代产品的所有实例。绝大多数产品不支持多实例安装,因此缓冲区中只应返回一个产品代码。

一旦您了解了ProductCode,就可以msiexec /x {PRODUCT-GUID}了解您的内容。

如果您对C ++不满意,可以在PowerShell扩展和C#库中找到MsiEnumRelatedProducts的不同实现,仅举几例。

答案 1 :(得分:1)

您可以找到如下产品代码:How can I find the product GUID of an installed MSI setup?并使用以下命令调用卸载: msiexec.exe / x {product-guid-here }

有许多方法可以卸载MSI文件,这里有13种不同的方式:Uninstalling an MSI file from the command line without using msiexec查看第5部分,了解使用PowerShell按产品名称卸载的方法。

以下是通过从注册表中读取产品详细信息进行卸载的VBScript:http://www.symantec.com/connect/downloads/uninstall-application-using-guid-registry