我无法卸载或重新安装 Web Platform Installer 4.0。它一直在临时文件夹中寻找 wpi.msi 文件。即使在提示时,此文件也不存在于计算机上。
此问题还会导致 Visual Studio 2012 无法自行安装,因为它需要先删除 Web 平台安装程序。(Windows 7 64 位)
有什么解决办法吗?
答案1
此类问题是由于注册表中列出的某些“功能”存在于 MSI 文件中,因此 Windows 安装程序需要该 MSI 文件而不是其他文件来执行一些常规任务。
最简单的解决办法(如果你能做到的话)就是找到 MSI 文件的确切版本并将其放置在系统期望找到的位置。
没有运气
如果你没有该版本,你可以尝试MS 安装程序清理,由于与 Office 2007 冲突,该版本已被淘汰(您必须谷歌搜索);或 MicrosoftFix It 解决方案。
如果可行,那就太好了。
厄运
如果没有的话(遗憾的是,有时确实没有),您可以尝试手动执行此操作。
首先通过重新启动、运行注册表清理来获得更稳定的系统Piriform 的 CCleaner或类似的东西,然后重新启动(并非总是必要的,但只是为了运气)。
CCleaner 还有一个删除安装程序条目的选项。尝试删除您的条目,看看这是否足以让您重新安装新的 MSI;它可以为您节省下面描述的所有工作。
运气更差
例如,我在使用 Google Earth 时遇到了这个问题。在注册表中,有这个键
HKEY_CLASSES_ROOT\Installer\Products\0C22D86408082E118BE68BCAF689CC3E\SourceList
LastUsedSource
报告n;1;C:\DOCUME~1\LEONAR~1\IMPOST~1\Temp\._msige61\
的值为PackageName
“Google Earth.msi”。
下面的键(在我的情况下是 0C22D86408082E118BE68BCAF689CC3E,当然你的会有所不同)包含一个Version
可用于定位相应 MSI 文件的密钥。
如果 MSI 文件不再可用且无法从其他任何地方下载,或者 MSI 文件太多而无法全部下载(在将整个文件下载到本地之前无法检查版本号),您可以做的是通过在注册表中查找 .MSI 名称来删除对安装程序包的引用(记得先备份注册表)。
这将使您的应用程序保持安装状态,但现在系统不知道它已安装并将允许重新安装。
在某些情况下,一旦 MSI 安装程序开始安装,安装脚本就会在看到它认为不应该存在的某些文件时犹豫不决。大多数安装程序会直接覆盖它们,但有些可能不会。在这种情况下,您将还必须先删除安装目录,或者将其移至其他位置。
这将给你留下损坏的安装(并且应该绝不使用系统应用程序来完成 - 你甚至可能会让你的系统无法启动),使用 CCleaner 进一步清理注册表是个好主意。
但是现在系统应该已经“足够干净”了,可以顺利地进行新安装。旧安装中遗留的任何系统钩子都将被新安装重写,如果版本相差不是太大,那么所有过时的调用都将不复存在。
如果你想卸载软件,现在您应该能够做到这一点并使系统处于稳定状态。
去年,由于一个流氓“删除未使用文件并回收磁盘空间!”实用程序,我不得不多次遵循此过程,该实用程序对“未使用文件”的具体含义并不太挑剔。除了一个 Microsoft Office 2010 安装(我必须从原始 CD 中擦除并恢复)外,大约 75% 的安装是通过 MSICUU2/Fix It 或使用 CCleaner 删除条目来恢复的;其他大多数安装可以通过删除注册表中的 MSI 条目来删除;也许有 1/20 还需要删除安装目录。
(任何读过这篇文章并想遵循“微软收购前”的 SkyPE 和“微软收购后”的 SkyPE 程序的人,不。我不得不从所有地方删除所有与 SkyPE 相关的条目,然后重新启动四五次。后来我偶然发现了一个 Google 档案,里面有所有 SkyPE MSI 安装程序,并附有六位数的版本号,这可能很快就能解决问题)。
答案2
如果它错过了 WPI 3.0,你可以从 Microsoft.com 下载并确保将其重命名为 wpi.msi。
答案3
您可以使用“Windows Installer CleanUp Utility”卸载损坏的安装。它在同样的案例中帮助了我。请参阅http://en.wikipedia.org/wiki/Windows_Installer_CleanUp_Utility。