gpt4 book ai didi

installation - 为什么 MSI 需要原始 .msi 文件才能继续卸载?

转载 作者:行者123 更新时间:2023-12-02 08:02:55 29 4
gpt4 key购买 nike

大多数人可能已经注意到,在卸载 MSI 软件包时,Windows 会要求提供原始的 .msi。文件。这是为什么?

我只能看到缺点:

  • 对网络变化没有弹性。
  • 对本地磁盘更改没有弹性。
  • 用户的意料之外。
  • 通常需要用户离开他们的办公 table 并开始讨伐以获取正确的 CD。
  • 某种证明安装不是独立的。
  • 促进使用不安全的工具,例如 msizap。
  • 这反过来又促进了“下次我只使用 zip 文件”的心态。

  • 有人可以对此有所了解吗?

    最佳答案

    Fix Broken Uninstall: You can try the newest FixIt Uninstall tool from Microsoft if you have problems uninstalling an MSI. And one more link: Uninstalling an MSI file from the command line without using msiexec (a plethora of different ways to uninstall an MSI).



    更新 :

    如果您有 已失效的 MSI 软件包需要卸载 (而不是过时的、已弃用的、不受支持的 msizap.exe),则可以在最近的 Windows 版本上试用 This new support tool(此工具现在也已弃用)。

    有人建议使用 saschabeaumont 链接到的工具: Uninstall without an MSI file 。如果您尝试并有效,请务必告诉我们。该答案中的反馈表明它有效(到目前为止,我没有任何要测试的卡住设置)。

    为什么要求提供原始安装介质? :
  • 卸载不需要原始 MSI,除非 MSI 本身设计不当 - 或者缓存的 MSI 丢失 (请参阅下面的详细信息)。
  • 所有已安装的 MSI 文件都使用 随机十六进制名称 缓存在 %SystemRoot%\Installer\*.* 中。
  • 缓存的 MSI 文件用于任何 维护 修复 卸载和卸载 的绝大多数情况下,卸载和卸载 _0204 次操作都足够了。
  • 在某些情况下此缓存文件可能丢失,然后卸载是根本不可能在某些情况下(some theories as to why this can happen - MSI design errors anti-virus quarantining system restore tinkering developer system in erroneous state from development work etc... )。查看下面的更多信息 - 以及强制卸载或取消注册产品的链接。
  • 原始源 仅在需要将文件复制到磁盘(用于维护安装)时才需要,或者 MSI 执行 显式请求 以通过标准操作通过自定义源解析 0x104567920 或通过自定义操作解决原始来源(其中 不应该在正确编写的包 中完成 - 我认为 MS Office 包在当天包含此 ResolveSource 错误,导致每个人都去寻找他们的安装 CD/DVD)。
  • 在以前的 Windows 版本中,这个缓存的 MSI 被剥离了所有 cab,因此只包含安装程序结构,没有文件。
  • 从 Windows 7 ( MSI 版本 5 ) 开始, MSI 文件现在缓存为全尺寸 ,以避免破坏影响 Vista 设置的 UaC 启动时的已知文件提示签名问题。这可能会导致磁盘空间消耗的巨大增加(某些系统会增加几 GB)。 Check this article and especially the discussion at the bottom for more intel
  • 为防止缓存巨大的 MSI 文件,您可以在安装前运行包的 admin-install 。这就是在托管网络中进行适当部署的公司的工作方式,它将剥离 cab 文件并使用一个小的 MSI 文件和除此之外的文件创建网络安装点。请注意,这可能会产生 UAC 提示 在某些情况下,因为提取的 MSI 文件不再签名 - 这必须使用您的 SOE/桌面配置进行测试。
  • 阅读我在此线程中的回答以获取管理员安装的完整描述:What is the purpose of administrative installation initiated using msiexec /a? 或类似但可能更易于访问的答案:admin install and its uses
  • 在极少数情况下,可能会错误地丢失缓存的 MSI(具有随机名称),然后卸载会要求提供原始 MSI 以完成卸载。这并不经常发生。过去可以使用 MsiZap.exe 来清除这样的安装,但此工具已过时 过时 , _0x71079104 _707104 _70191919191916 已过时。不要使用它 - 与较新的 Windows 版本有太多的不兼容,你会产生新的问题。也许尝试 this support tool 代替(也已弃用)。我现在可以建议的唯一选择是 this answer from saschabeaumont 。如果您尝试使用此工具,请告诉我们它是否适合您。如果您想找出可能导致缓存的 MSI 丢失的原因,请尝试阅读此处的第 12 节:Uninstalling an MSI file from the command line without using msiexec(简而言之,潜在原因包括干扰系统还原、防病毒和清理脚本、错误的手动调整、磁盘不足空间、断电、开发人员框调试错误、设计错误的 MSI 文件与重复的包代码、失败的补丁等......许多理论,我担心几乎没有确定性)。
  • 作为 的最后手段 您可以尝试 system restore (除非它已完全或部分禁用)并返回到演示是否可以在您的卸载之前找到此安装状态的视频一个类似的网站)。
  • 请注意,系统还原可能会影响必须重新应用的 Windows 更新 - 以及许多其他系统设置。我见过系统还原导致的新的、无法解决的安装问题,但通常它可以正常工作。显然不要为了好玩而使用该功能, 它是最后的手段 ,最适合用于 回滚新驱动程序 或刚刚安装并被发现会导致直接问题等问题的设置。你回去的时间越长,你为自己创造的返工就越多。很多不言而喻的东西,但我想它需要被提及。
  • 既然我提到了系统恢复,我想我应该提到 the Last Known Good Configuration feature 。此功能与卸载或系统还原无关,而是上次运行或导致系统运行的引导配置。如果系统在启动过程中出现蓝屏或停止,它可用于让您的系统再次运行。这通常发生在驱动程序安装后。尽管如此,这对修复失败的卸载没有任何作用(或者我会 非常 感到惊讶)。

  • 相关回答:
  • Uninstall without an MSI file


  • 除了这个答案,也许这篇关于卸载 MSI 包的各种方法的文章也很有趣。这是一篇 相当受欢迎的文章 ,具有 的高浏览量 :
  • Uninstalling an MSI file from the command line without using msiexec
  • 关于installation - 为什么 MSI 需要原始 .msi 文件才能继续卸载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/208530/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com