我们正在使用 msi 安装多个网站,作为持续集成测试的一部分。
对于每个版本,我们希望卸载旧的 msi 并安装新的。
问题是,在构建服务器完成获取最新版本并重建系统后,我们没有旧的 msi。
有没有一种方法可以让我们在无法访问原始 msi 的情况下卸载 msi?
最佳答案
是的,如果您知道产品代码,就可以。只需输入
msiexec /x [ProductCode]
在命令行上。或者您可以通过“添加/删除程序”小程序来完成此操作。
如果您想找到物理文件,Windows 在运行时实际上会存储一个 msi 副本 - 您会在 %WINDOWS%\Installer 文件夹中的某个位置找到它,但它会被赋予一个随机名称,因此可以很难找到:)
或者,如果您不知道产品代码(您应该知道),请尝试在 HKEY_CURRENT_USER\Software\Microsoft\Installer
和 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\下搜索您的应用名称CurrentVersion\Installer\UserData
注册表项,您将在那里找到产品代码。 (快速提示:您还可以在注册表中搜索 UninstallString
值)。
关于installation - 使用新版本的 MSI 使用 msiexec 卸载 MSI 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2020035/