因为计算机中丢失sqlsetupboot,还原缺少的 Windows Installer 缓存文件 - SQL Server | Microsoft Docs...

还原缺少的 Windows Installer 缓存文件并解决在更新期间SQL Server的问题

11/02/2020

本文内容

本文介绍了各种过程,可用于解决由于 windows 安装程序缓存损坏而SQL Server service pack或累积更新时发生的各种错误。

原始产品版本:   SQL Server

原始 KB 编号:   969052

备注

本文中介绍的过程仅提供紧急安全机制,而不是永久性修复。 使用此紧急过程的客户应该使用 Windows Installer 缓存验证程序程序包验证其 Windows Installer 缓存,如 KB 文章 缺少 Windows Installer 缓存需要计算机重建中的说明。

症状

当您尝试安装 Microsoft SQL Server Service Pack 或累积更新时,可能会遇到各种错误消息,这些错误消息可能指示 Windows Installer 缓存问题。 位于 c:\windows\installer 文件夹中的 Windows Installer 缓存存储使用 Windows Installer 技术安装的应用程序的重要文件,并且不应删除。 如果安装程序缓存已被破坏,则执行卸载、修复或更新安装程序等操作之前,可能不会立即看到SQL Server。

当你安装SQL Server时,Windows Installer 将关键文件存储在 Windows Installer 缓存中 (默认值为 C:\Windows\Installer) 。 卸载和更新应用程序需要这些文件。 无法在计算机之间复制丢失的文件,因为它们是唯一的。

对于安装SQL Server,Microsoft 建议首先使用以下文章中所述的修复过程来验证当前安装:

您应该使用命令行从原始安装媒体运行修复: setup.exe/ACTION=REPAIR/INDICATEPROGRESS=TRUE 。

首先修复常见的共享组件和功能,然后重复该命令以修复安装的实例。 在修复过程中,安装程序对话框将消失。 只要进度窗口未显示错误,修复过程就如预期进行。 如果缺少特定组件的安装程序缓存文件,则修复过程将遇到错误。

原因

当 Windows Installer 数据库文件 (.msi) 或 Windows Installer 修补程序文件 (.msp) 从 Windows Installer 缓存中丢失时,可能会出现这些问题。 Windows Installer 缓存位于 文件夹中 :%windir%\installer。

使用 Windows Installer 安装产品时,原始 .msi 文件的去除版本存储在 Windows Installer 缓存中。 每次更新产品(如修补程序、累积更新或 Service Pack 安装程序)时,也将相关的 .msp 或 .msi 文件存储在 Windows Installer 缓存中。

产品的任何未来更新(如修补程序、累积更新或 Service Pack 设置)都依赖于存储在 Windows Installer 缓存中的文件中的信息。 如果没有此信息,新更新将无法执行所需的转换。

解决方案

若要解决这些问题,请使用以下过程之一。

过程 1.a.:使用 FixMissingMSI 工具

在此过程中,将使用 FixMissingMSI 工具识别 Windows Installer 缓存中缺少的 MSI 和 MSP 文件。 作为附加步骤,你可以将工具指向原始媒体位置并缓存缺少的文件。

可以从 GitHub存储库下载 FixMissingMSI 工具。

过程 1.b.:使用FindSQLInstalls.vbs脚本

若要完成此过程中的步骤,您必须将 FixMissingMSI 文件夹中的 FindSQLInstalls.vbs 脚本从 GitHub 存储库复制到尝试更新 SQL Server 安装的计算机上的本地文件夹。

备注

该FindSQLInstalls.vbs脚本会收集信息以更正无效的程序包路径。 此脚本用于源位置,以确保所有 MSP 包都位于 Windows Installer 缓存目录中。 执行脚本输出文件中 Action 所需行中指示的命令后,如果原始源媒体可用,将重新添加缺少的包。

若要使用脚本解决这些问题,请按照以下步骤操作:

单击此处 以 转到 GitHub FindSQLInstalls.vbs原始页面。

选择此页上的所有内容,将其复制并粘贴到文本文件。 将文本文件另存为 FindSQLInstalls.vbs。

将提升的命令提示符打开到保存文件 FindSQLInstalls.vbs的目录 ,然后运行命令 Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt :。

在文本编辑器(如记事本)中打开步骤 2 中的文件,并确定导致失败的问题。 为此,在文本文件中搜索字符串模式,如下所示:

不要

!!!

根据步骤 3 中的结果,执行所需的步骤。

备注

在"示例"部分查找有关 这些步骤 详细信息。

重复步骤 2 至 4,直到步骤 2 中创建的文本文件不再包含引用正在更新的组件的无效路径或缺失文件的文本。

示例

下面的示例是运行脚本时生成的输出文件中概述的操作的条目和FindSQLInstalls.vbs说明。

示例 1:缺少安装程序文件

下面是在 Windows Installer 缓存文件夹中缺少 .msi 程序包时生成的输出示例。

===========================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值