我们使用msi安装多个网站,作为连续性集成测试的一部分。使用msiexec卸载MSI会失败,并显示MSI的新版本
对于每个版本,我们要卸载旧的msi并安装一个新的msi。
问题是我们在构建服务器完成最新并重建系统后没有旧的msi。
有没有一种方法可以卸载msi而无需访问原始msi?
我们使用msi安装多个网站,作为连续性集成测试的一部分。使用msiexec卸载MSI会失败,并显示MSI的新版本
对于每个版本,我们要卸载旧的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
值)。
谢谢,这工作 – 2010-01-07 13:50:16