我知道通过MSI安装的程序的安装位置。我想写一个脚本来删除它。我不知道GUID,因为它经常变化。我如何实现这个目标?
我查看了安装程序工具的command line options,但我没有看到任何允许我指定安装位置来选择产品的内容。
发布于 2016-07-02 04:21:46
您需要找到UpgradeCode (在安装日志文件中查找该属性)。
在此基础上,使用MsiEnumRelatedProducts迭代产品的所有实例。绝大多数产品不支持多实例安装,因此缓冲区中应该只返回一个产品代码。
一旦你了解了ProductCode,你就可以尽情地使用msiexec /x {PRODUCT-GUID}了。
如果您对C++不太熟悉,可以在PowerShell扩展和C#库中找到MsiEnumRelatedProducts的不同实现,仅举几例。
发布于 2016-07-03 03:57:47
您可以像这样找到产品代码: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。有关使用PowerShell按产品名称卸载的方法,请参阅第5节。
下面是一个通过从注册表中读取产品详细信息来卸载的VBScript:http://www.symantec.com/connect/downloads/uninstall-application-using-guid-registry
https://stackoverflow.com/questions/38086520
复制相似问题