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

本文提供了几个在安装 MICROSOFT SQL Server 更新时出现的缺少 MSI 错误的解决方案。

原始产品版本:SQL Server
原始 KB 数: 969052

注意

本文中所述的过程只提供紧急救济,而不是永久修复。 使用此紧急过程的客户应使用 Windows Installer 缓存验证程序包来验证其 Windows Installer 缓存,如知识库文章 中所示,缺少 Windows Installer 缓存需要重新生成计算机。

现象

安装 SQL Server Service Pack 或累积更新时,可能会遇到各种错误消息或指示 Windows Installer 缓存问题的意外行为。 Windows Installer 缓存位于 c:\windows\installer 文件夹中,存储通过 Windows Installer 技术安装的应用程序的关键文件。 如果安装程序缓存因删除文件而遭到入侵,则在卸载、修复或更新 SQL Server 之前,可能不会立即遇到问题。

错误消息

下面是可能会遇到的一些可能错误消息。 通常,会看到以下输出之一:

SQL Server Setup has encountered the following error:

The cached MSI file 'C:\Windows\Installer\xxxxxx.msi' is missing. The original file is 'sql_xxxxx.msi' for product SQL Server 2017 Database Engine Services from 'D:\SQLSetup', version XXXX, language XXX. To resolve this problem, recover the missing file from the installation media and start setup again.
The following error has occurred:

Unable to open Windows installer file 'C:\Windows\Installer\xxxxxx.msi'

Click 'Retry' to retry the failed action, or click 'Cancel' to cancel this action and continue setup.
No valid sequence could be found for the set of updates. Error code 1648
 The cached patch file "C:\Windows\Installer\xxxxxxx.msp" is missing. The original file for this cached file is "xxx_xxxx_xxxxxx.msp", which can be installed from "Hotfix xxxxx for SQL Server 20xx (KBxxxxxx) (64-bit)",

如果检查 Detail.txt 设置日志,可能会找到如下消息:

Slp: Package ID sql_xxx_xxx_xxx: NotInstalled
Slp: Sco: File 'X:\x64\setup\x64\xxx_xxx_xxx.msi' does not exist
Slp: Sco: File 'X:\x64\setup\x64\xxx_xxx_xxx.msi' does not exist

如果检查组件设置日志,可能会发现以下错误,其中 OS 错误 3 (或 -2147287038) 表示 %1 could not be found.

MSI (s)  Note: 1: 2203 2: I:\xxxxxxx.msi 3: -2147287038
MSI (s)  Source is incorrect. Unable to open or validate MSI package I:\xxxxxxx.msi.
MSI (s)  Note: 1: 2203 2: H:\xxxxxxx.msi 3: -2147287038
MSI (s)  Source is incorrect. Unable to open or validate MSI package H:\xxxxxxx.msi.
MSI (s)  Note: 1: 2203 2: I:\xxxxxxx.msi 3: -2147287038
MSI (s)  Source is incorrect. Unable to open or validate MSI package I:\xxxxxxx.msi.

意外行为

可以观察到以下行为之一作为症状:

  • 你可能会注意到,要升级的特定功能不会显示在升级向导中。
  • 您尝试执行升级(包括版本升级),但不会发生任何更改。

原因

当 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 缓存中的文件中的信息。 如果没有此信息,新更新将无法执行所需的转换。

由于 SQL Server 使用 Windows Installer 技术,因此此问题可能会影响它。 SQL Server 安装包(可能包括.msi和 .msp 文件)存储在 Windows Installer 缓存中。 卸载和更新应用程序需要这些文件。 由于缺少的文件是唯一的,因此无法在计算机之间复制。

警告

当应用程序安装和更新包时,安装程序缓存目录(%windir%\installer)由 Windows 自动管理。 此目录中的用户手动干预可能会导致各种问题,包括本文中所述的问题。

解决方案 1:修复 SQL Server 安装

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

对于以前的版本:

应使用以下命令行从原始安装介质运行修复:

setup.exe /ACTION=REPAIR /INDICATEPROGRESS=TRUE

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

解决方案 2:使用 FixMissingMSI 工具

可以使用 FixMissingMSI 工具识别 Windows Installer 缓存中缺少的 MSI 和 MSP 文件。 作为额外的分辨率,可以将该工具指向原始媒体位置并收回缺失的文件。

下载

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

如何使用

FixMissingMSI 是一种图形用户界面(GUI)工具,可用于轻松识别和修复缺少的 MSIs。 请执行以下步骤以使用它:

  1. 准备或找到需要修复的 SQL Server 版本的安装介质。

  2. 在缺少 MSI 或 MSP 文件的计算机上本地下载和提取媒体。 在 RTM、服务包或累积更新的单独文件夹中执行此操作。 例如:

    c:\sqlsetup\RTM2017
    c:\sqlsetup\CU31
    
    1. 如果下载了累积更新或 Service Pack,请确保使用 /X 此选项将其提取到文件夹中。 例如:

      SQLServer2016SP3-KB5003279-x64-ENU.exe /X
      
    2. 选择要在其中提取文件的目录,例如 c:\sqlsetup\SQL2016SP3

  3. 启动 FixMissingMSI.exe

  4. 此时 会显示“扫描 ”对话框。 在顶部文本框中,指定在步骤 2 中下载安装程序文件的文件夹(例如 d:\sqlsetup\RTM2017)。

  5. 在扫描筛选器中,可以保留默认的“产品名称包含: SQL”。

  6. 选择“ 立即扫描”。

  7. 如果任何项报告为 “缺失”,则 状态 列的值为 “缺失”,并且行以红色突出显示。

  8. 可以通过选择行开头的 “修复文件” 按钮来修复单个缺失的文件。

    FixMissingMSI 工具的屏幕截图。

  9. 如果要修复所有缺少的 MSIs 或 MSP,请选择“ 修复 ”菜单,然后选择 “全部修复”。

有关详细信息,请参阅 SQL 安装程序 ToolSuite 简介 (1) -FixMissingMSI

FixMissingMSI 工具的优点之一是,你可以使用它来修复 Windows 上所有产品缺少的 MSI 或 MSP,而不仅仅是 SQL Server。

解决方案 3:使用 FindSQLInstalls.vbs 脚本

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

注意

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

若要使用脚本解决这些问题,请执行以下步骤:

  1. 转到 GitHub 上的 FindSQLInstalls.vbs 原始页。

  2. 将页面上的所有内容复制到新的文本文件。

  3. 将文本文件另存为 FindSQLInstalls.vbs

  4. 将提升的命令提示符打开到保存 FindSQLInstalls.vbs 文件的目录,然后运行以下命令:

    Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt`.
    
  5. 在文本编辑器(如记事本)中打开步骤 2 中的文件,并确定导致失败的问题。 为此,请在文本文件中搜索以下字符串模式:

    • do not
    • !!!
  6. 根据上一步的结果,执行所需的步骤。

    注意

    在 FindSQLInstalls.vbs 示例部分查找有关这些步骤的详细信息。

  7. 重复步骤 2 到 4,直到步骤 2 中创建的文本文件没有引用无效路径或缺少组件的文件被更改的文本。

FindSQLInstalls.vbs 示例

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

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

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

================================================================================
PRODUCT NAME : Microsoft SQL Server 2008 Database Engine Services  
================================================================================
Product Code: {9FFAE13C-6160-4DD0-A67A-DAC5994F81BD}
Version : 10.2.4000.0
Most Current Install Date: 20110211
Target Install Location:
Registry Path: HKEY_CLASSES_ROOT\Installer\Products\C31EAFF906160DD46AA7AD5C99F418DB\SourceList
Package : sql_engine_core_inst.msi
Install Source: \x64\setup\sql_engine_core_inst_msi\
LastUsedSource: m;1;G:\x64\setup\sql_engine_core_inst_msi\

LastUsedSource 行指向用于运行安装程序的位置。

在该行中LastUsedSourcem;,条目表示媒体,并指示原始源为 CD/DVD 媒体。

在以下示例中,源是驱动器 G 中的 CD 或 DVD。如果安装发生在文件文件夹或网络共享中,则 LastUsedSource 行以条目开头 n; ,后跟 Numeric_Data_Name; 条目,然后是实际路径:

!!!! sql_engine_core_inst.msi DOES NOT exist on the path in the path G:\x64\setup\sql_engine_core_inst_msi\ !!!!
Action needed, re-establish the path to G:\x64\setup\sql_engine_core_inst_msi\

Action needed 行显示必须存在的完整路径,以便更新原始安装介质的缺失文件:

安装程序缓存文件: C:\WINDOWS\Installer\19b4d2.msi

Installer Cache File 行确认安装程序缓存文件的名称:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!! C:\WINDOWS\Installer\19b4d2.msi DOES NOT exist in the Installer cache. !!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

输出的以下部分建议你执行解决缺失文件所需的操作:

需要的操作,重新创建或重新建立目录的路径:G:\x64\setup\sql_engine_core_inst_msi\然后重新运行此脚本以更新安装程序缓存,结果上述行的路径必须存在于根位置,以解决未找到或损坏的 msi/msp 文件的问题,在某些情况下,可能需要手动复制缺失的文件或手动替换覆盖它的问题文件: 复制“G:\x64\setup\sql_engine_core_inst_msi\sql_engine_core_inst.msi”C:\WINDOWS\Installer\19b4d2.msi如果系统提示,请替换现有文件。

示例 2:缺少修补程序

缺少修补程序可能会导致类似于示例 1 中的条目。 大多数情况下,你会注意到引用修补程序的 Patch LastUsedSource 行中的条目,并且此行类似 Patch LastUsedSource: n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

此输出指示有关修补程序安装的以下信息:

  • 通过双击修补程序的可执行文件来安装原始修补程序。
  • 修补程序的安装程序在安装修补程序期间使用了临时文件夹 c:\0ca91e857a4f12dd390f0821a3
  • 若要重新创建路径,必须运行相同的可执行文件并添加参数: /x:c:\0ca91e857a4f12dd390f0821a3

注意

此命令强制可执行文件将文件提取到以前的缺失位置,并重新创建使用任何缺失文件更新 Windows 安装程序缓存所需的结构。 实际位置会有所不同,单个修补程序(如 Service Pack)可能需要提取到多个位置。 每个已安装的产品都包含一个部分,其中包含已安装修补程序的以下信息:

显示名称:
知识库文章 URL: http://support.microsoft.com/?kbid=<value>
Patch LastUsedSource:

如果需要,知识库文章 URL 行可帮助你下载任何修补程序介质。

解决方案 4:手动还原文件

若要手动还原 Windows Installer 缓存中缺少的文件,请执行以下步骤:

  1. 从错误消息、安装程序日志文件或 Windows Installer 维护的注册表项中收集有关缺少的文件的完整详细信息。 例如,在“症状”部分中的错误消息 1 中,解决该问题所需的所有信息都存在于错误消息中:

    • PatchName:“修补程序 1702 for SQL Server 2008 R2 (KB981355) (64 位)
    • 修补程序使用的原始 MSP 文件: sql_engine_core_inst.msp
    • 缓存的 MSP 文件: c:\Windows\Installer\1fdb1aec.msp
  2. 如果没有所有详细信息,请参阅收集这些详细信息的第一步。

  3. 访问 查询,并搜索与此修补程序关联的知识库文章。 在此示例中,必须搜索 KB981355

  4. 将此修补程序包下载到计算机。 请确保下载对应于所需平台的修补程序包。 在此示例中,包 SQLServer2008R2-KB981355-x64.exe

  5. 使用语法提取修补程序包的内容:

    C:\Temp>SQLServer2008R2-KB981355-x64.exe /x C:\Temp\SQLServer2008R2-KB981355-x64\
    
  6. 找到原始 msp 文件 sql_engine_core_inst.msp 文件。 该文件应位于以下文件夹中:

    C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\

  7. 将原始 msp 文件复制到以下 Windows Installer 缓存:

    %windir%\installer\

  8. 将原始 msp 文件 sql_engine_core_inst.msp 重命名为名称:缓存的 msp 文件 1fdb1aec.msp

可以启动导致错误的更新的安装程序,并恢复更新过程。 对于另一个组件或同一产品的另一个更新,你可能遇到缺少 Windows Installer 缓存文件的消息。

若要获取与 SQL Server 产品组件相关的所有缺失 Windows Installer 缓存文件的列表,可以下载“ 详细信息 ”部分中提到的 SQL Server 2008 R2 BPA 工具。

如果错误消息引用缺少的 Windows Installer 数据库文件(.msi),则无需执行步骤 2 到 4。 相反,可以直接转到步骤 5。 必须从用于安装产品的原始媒体中找到.msi。 如果为 sql_engine_core_inst.msi生成了此错误消息,则必须从文件夹结构 \x64\setup\sql_engine_core_inst_msi\ 下的安装程序介质中找到此文件。 其他步骤相同。

查找缺少的 .msp 文件的修补程序包和产品详细信息

产品的不同版本会针对所描述的问题生成不同的错误消息。 从 SQL Server 2008 SP1 开始的更新会显示“ 症状 ”部分中提到的错误消息。 对于其他更新,你会收到错误消息,这些错误消息可能未明确指定 Windows Installer 缓存和特定更新详细信息中缺少哪些修补程序文件。 对于这些错误消息,安装程序日志文件将包含有关缺少的 Windows Installer 缓存文件的信息。 下面是一个示例安装日志:

MSI (s) (FC:F8) [13:48:58:649]: Opening existing patch 'C:\WINDOWS\Installer\145258.msp'.  
MSI (s) (FC:F8) [13:48:58:649]: Couldn't find local patch 'C:\WINDOWS\Installer\145258.msp'. Looking for it at its source.  
MSI (s) (FC:F8) [13:48:58:649]: Resolving Patch source.  
MSI (s) (FC:F8) [13:48:58:649]: Note: 1: 2203 2: D:\cda162709d239766830bae5ce12b\HotFixSQL\Files\sqlrun_sql.msp 3: -2147287037  
MSI (s) (FC:F8) [13:48:58:649]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.  
MSI (s) (FC:F8) [13:49:29:961]: Product: Microsoft SQL Server 2005 -- Installation failed.  
MSI (s) (FC:F8) [13:49:29:992]: MainEngineThread is returning 1635  
This patch package could not be opened. Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package. D:\SQL2K5\Servers\Setup\SqlRun_SQL.msi

如果仔细检查此设置日志,则它已提供有关修补程序使用的原始 MSP 文件的信息: sqlrun_sql.msp

若要查找有关 Windows Installer 缓存中缺少 的 .msp 文件的更多详细信息,请执行以下步骤:

  1. 在 Windows Installer Patchs 注册表子项中搜索缺少 的 .msp 文件: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\

  2. 查找修补程序 GUID

  3. 在 Windows Installer 产品注册表子项中搜索修补程序 GUID: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\

    对于示例安装日志,缺少 的 .msp 文件及其相应的修补程序详细信息将显示在以下注册表项中:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\A3B085EA74A9A7640A496636F7EF9A44
    Value: 0
    Name: LocalPackage
    Data: `C:\WINDOWS\Installer\145258.msp
    
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1EB3A031CC585314E87AA527E46EECC2\Patches\A3B085EA74A9A7640A496636F7EF9A44
    Value: 6
    Name: DisplayName
    Data: GDR 2050 for SQL Server Database Services 2005 ENU (KB932555)
    
  4. 现在,你已获得所有信息点来启动解决 Windows Installer 缓存中缺少的文件的步骤。

    注意

    如果使用 SQL Server 2008 Service Pack 3(SP3)或更高版本,则还可以收到有关缺少.msi文件的类似错误消息。 使用此错误消息,可以快速确定缺少的文件、要下载的 Service Pack 以及查找下载位置。

有关如何获取 Service Pack 的详细信息,请参阅 KB2546951 - SQL Server 2008 Service Pack 3 修复的问题列表。

解决方案 5:从系统状态备份还原

可以从系统状态备份还原,如缺少 Windows Installer 缓存中所述 ,需要重新生成计算机。

详细信息

注意

可以在事件日志或位于以下文件夹之一的安装程序日志中找到以下错误消息,并指示应进一步修复受影响的实例:

  • 对于 SQL Server 2008 和 SQL Server 2008 R2: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap
  • 对于 SQL Server 2012: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
  • 对于 SQL 2005(所有分支)

    产品版本 安装程序包 (MSI) 缺失时出现错误消息 安装程序缓存包 (MSP) 缺失时出现错误消息
    SQL Server 2005 1636 无法安装 Windows Installer MSI 文件
    1636 无法安装 Windows Installer MSP 文件

    注意

    必须查看安装程序日志文件,以确定是否缺少任何缓存文件。 有关如何执行此操作的详细信息,请参阅“ 解决方法 ”部分。

  • 对于 SQL Server 2008 SP1

    产品版本 安装程序包 (MSI) 缺失时出现错误消息 安装程序缓存包 (MSP) 缺失时出现错误消息
    SQL Server 2008 SP1 无错误消息 标题:SQL Server 安装失败。
    ------------------------------
    SQL Server 安装程序遇到错误: 无法打开修补程序文件。该文件为:c:\WINNT\Installer\FileName.msp。错误代码0x84B20001。
    ------------------------------
  • 对于仅限 SQL Server 2008 SP3 版本(CU/GDR 分支不适用)

    产品版本 安装程序包 (MSI) 缺失时出现错误消息 安装程序缓存包 (MSP) 缺失时出现错误消息
    SQL Server 2008 SP3 缓存的 MSI 文件 C:\Windows\Installer\FileName.msi 缺失。 其原始文件是sql_engine_core_inst.msi,它已安装用于<来自 NetworkPath> 版本 VersionNumber><、language <ENU> 的产品 SQL Server 2008 数据库引擎 Services。 缓存的修补程序文件 C:\Windows\Installer\FileName.msp 缺失。 此缓存文件的原始文件是 sql_engine_core_inst.msp,可从 Service Pack 3 for SQL Server 2008 (KB2546951) (64 位) 版本 VersionNumber <>安装。

    注意

    执行升级时收到以下错误消息:
    错误消息的屏幕截图:SQL Server 2008 安装程序已停止工作。

  • 仅适用于 SQL Server 2008 R2 SP1(CU/GDR 分支不适用)

    产品版本 安装程序包 (MSI) 缺失时出现错误消息 安装程序缓存包 (MSP) 缺失时出现错误消息
    SQL Server 2008 R2 SP1 标题:SQL Server 安装失败。
    ------------------------------
    SQL Server 安装程序遇到以下错误: C:\Windows\Installer\FileName.msi
    ------------------------------
    缓存的修补程序文件 C:\Windows\Installer\FileName.msp 缺失。 此缓存文件的原始文件是 sql_engine_core_inst_loc.msp,可以从 Service Pack 1 for SQL Server 2008 R2 (KB2528583) (64 位)版本 VersionNumber <>安装。

    注意

    执行升级时收到以下错误消息: 错误消息的屏幕截图:SQL Server 2008 R2 安装程序已停止工作。

  • 对于 SQL Server 2008 R2 SP2

    产品版本 安装程序包 (MSI) 缺失时出现错误消息 安装程序缓存包 (MSP) 缺失时出现错误消息
    SQL Server 2008 R2 SP1 缓存的 MSI 文件 C:\Windows\Installer\FileName.msi 缺失。 其原始文件是sql_engine_core_inst.msi,它已安装用于来自 NetworkPath> 版本 VersionNumber><、language <LanguageName> 的产品 SQL Server 2008 R2 SP1 数据库引擎 Services<。
    缓存的修补程序文件 C:\Windows\Installer\FileName.msp 缺失。 此缓存文件的原始文件是 sql_engine_core_inst_loc.msp,可以从 Service Pack 1 for SQL Server 2008 R2 (KB2528583) (64 位)版本 VersionNumber <>安装。

    注意

    执行升级时收到以下错误消息: SP2 错误消息的屏幕截图:SQL Server 2008 R2 安装程序已停止工作。

  • 对于 CU2 之前的 SQL Server 2012

    没有缺少 MSP 或 MSI 文件的消息。 但是,错误代码 1714 记录在安装程序日志中。

    Summary.txt 文件中:

    Component name: SQL Server Setup Support Files
    Component error code: 1714
    

    Detail.txt 文件中:

    Date/Time Slp: Sco: FileFilePath does not exist  
    Date/Time Slp: Sco: FileFilePathdoes not exist  
    Date/Time Slp: Checkpoint: PREINSTALL_SQLSUPPORT_CPU64_ACTION  
    Date/Time Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machineServer Name
    Date/Time Slp: Sco: Attempting to open registry subkey    Software\Microsoft\Windows\CurrentVersion\Installer  
    Date/Time Slp: Sco: Attempting to get registry value InstallerLocation  
    Date/Time Slp: Windows installer version : 5.0.7601.17514  
    Date/Time Slp: Sco: Waiting for service 'msiserver' to accept the stop request.  
    Date/Time Slp: Sco: Attempting to open SC Manager  
    Date/Time Slp: Sco: Attempting to open service handle for service msiserver  
    Date/Time Slp: Invoking QueryServiceStatus Win32 API  
    Date/Time Slp: Sco: Attempting to close service handle for service msiserver  
    Date/Time Slp: Sco: Attempting to close SC Manager  
    Date/TimeSlp: Target package: "FilePath"  
    Date/TimeSlp: MSI Error: 1714 The older version of Microsoft SQL Server 2012 Setup (English) cannot be removed. Contact your technical support group.  
    Date/TimeSlp: InstallPackage: MsiInstallProduct returned the result code 1603.  
    Date/TimeSlp: Using MSI error code to detect the retry option: 1714  
    Date/TimeSlp: No retry-able MSI return code detected.
    
  • 对于 SQL Server 2012 CU2(以及任何后续的 CU 或 SP)

    产品版本 安装程序包 (MSI) 缺失时出现错误消息 安装程序缓存包 (MSP) 缺失时出现错误消息
    SQL Server 2008 R2 SP1 缓存的 MSI 文件 C:\Windows\Installer\FileName.msi 缺失。 其原始文件为 C:\Windows\Installer\sql_FeatureName.msi,并且已从 C:\originalfolder 版本 VersionNumber><、语言<语言>安装产品Microsoft SQL ServerVersion 缓存的修补程序文件 c:\Windows\Installer\FileName.msp 缺失。 其原始文件是 sql_engine_core_inst.msp,可从版本 VersionNumber <>安装Hotfix 2316 for SQL Server 2012 (KB2679368) (64-bit)。 缓存的修补程序文件 C:\Windows\Installer\FileName.msp 缺失。 其原始文件为 C:\Windows\Installer\sql_FeatureName.msp,可从 SQL Server 2012 KB Number 版本 VersionNumber> <>的修补程序<修补程序编号安装。

    注意

    在 SQL Server 2012 的某些条件下,RTM 媒体可能无法正确注册。 卸载累积更新或 Service Pack 时,在这些情况下,安装程序可能会提示你输入 RTM 媒体。 若要解决此问题,在修补程序删除过程中提供 RTM 媒体路径。

参考