在没有MSI文件的情况下卸载

时间:2008-12-02 16:09:13

标签: windows windows-installer

我常常遇到Windows Installer尝试卸载软件包的问题,​​但它抱怨:

  

您尝试使用的功能是在不可用的网络资源上。

当原始MSI根本不可用时,是否有已知的卸载此类软件包的方法?

7 个答案:

答案 0 :(得分:43)

请注意,Microsoft现在已经发布了一个解决这些问题的官方工具,没有以前MSIZAP存在的问题。

答案 1 :(得分:18)

查看Microsoft发布的名为 MSIZap 的工具。


<强>更新

MsiZap.exe 已被弃用了相当长的一段时间。它的使用在所有最新版本的Windows上都不受支持,它被认为是一个非常不安全的工具

我添加了一个指向较新的Microsoft支持工具的链接,该工具旨在清除安装,但此工具此时也已弃用。我已从评论部分删除了该链接。

也许可以尝试下面 saschabeaumont's 答案中链接到的工具。

答案 2 :(得分:9)

仅供参考,这篇文章解释了根本问题https://superuser.com/q/293542/245923

您可以使用产品代码将其卸载:

msiexec.exe /x {your-product-code-guid}

您将从MSI本身或您用于构建MSI的任何工具中获取此代码。

请注意,卸载产品时,它使用缓存的MSI,因为只有原始MSI知道如何卸载自身。使用产品代码时,它使用C:\ WINDOWS \ Installer中的缓存MSI。

答案 3 :(得分:5)


<强>更新

如果已经解散的MSI软件包需要卸载,可以在最新的Windows版本上尝试

This newer support tool 此新工具似乎也已被弃用。

也许在 saschabeaumont's 回答中尝试链接的工具。


要求原始源媒体不是正常的或标准的MSI行为 - 它表示设计糟糕的MSI包。如果您在供应商MSI中遇到此问题,强烈建议您报告他们的支持团队的问题。以下是问题的更全面的解释 Why does MSI require the original .msi file to proceed with an uninstall?

在大多数情况下,即使您没有MSI的原始安装数据库,也可以从控制面板添加/删除程序卸载MSI包 - 卸载是从系统文件夹%SystemRoot%\ Windows \ Installer 中的原始MSI的缓存副本运行的(在某些情况下,可能会丢失此缓存的MSI,see section 12 here以查找可能的原因)。

MSI的早期版本倾向于更频繁地触发此问题(请求原始安装介质)(Office返回当天),而旧版MSI文件仍然可能导致只能使用 <解决的卸载问题strong> msizap.exe 工具(此工具已弃用过时不再支持)。此命令行工具( msizap.exe )也有一个可用的GUI( MSICUU2.exe ),这两个工具都已被删除(尝试上面列出的新清理工具的链接)

仅供记录:如果您可以访问实际用于安装产品的原始MSI ,则可以使用此功能运行卸载。它必须使用的确切MSI ,而不仅仅是类似的MSI。每个MSI文件都有一个唯一的包guid ,因此Windows会知道它是否是正确的。

相关答案:

答案 4 :(得分:3)

你没有做过像C:\ Windows \ Installer \这样疯狂的事情并删除那里的文件吗?

MSI文件的一个缺点是您需要完整的MSI文件才能卸载或修复应用程序。 Windows喜欢存储MSI的副本。它还将MSI文件从公共名称重命名为GUID,没有表(我可以找到)将原始名称(例如:Office2010.msi)映射到新的GUID,因此您的PC具有多GB的浪费空间你无法删除。一台甚至不到1年的机器可轻松达到8 GB(例如:我的)。

答案 5 :(得分:1)

Microsoft提供了一个MSI清理实用程序, Windows Installer Cleanup Utility 已弃用工具,不支持使用不安全 - 或许可以尝试这个答案:Uninstall without an MSI file)。

CCleaner通常可以这样做

答案 6 :(得分:-4)

控制面板 - &gt;添加/删除程序?

修改 您的帖子没有提到使用添加删除程序卸载应用程序,您说“Windows Installer”(MSIEXEC - 请参阅下面的链接),这不是一回事。

http://msdn.microsoft.com/en-us/library/aa367988(VS.85).aspx