我知道通过MSI安装的程序的安装位置。我想写一个将删除它的脚本。我不知道GUID,因为它经常变化。我如何实现这一目标?
我检查了安装工具的command line options,但我没有看到任何允许我指定选择产品的安装位置的内容。
答案 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