.NET Framework 2.0 或 3.0 修补程序安装失败,并出现错误:无法打开此修补程序包。 验证修补程序包是否存在,以及是否可以访问它

原始产品版本: .NET Framework
原始 KB 数: 2549353

现象

Windows Vista 及更高版本的操作系统的“添加和删除程序”或“程序和功能”中Microsoft .NET Framework 更新的信息可能缺失,或者它们可能名为“更新”。 有关预期更新的完整列表,请参阅“详细信息”部分。

可能会在安装或修复 .NET Framework 时在日志中看到以下错误片段。

MSI (s) (8C:14) [15:32:57:584]:找不到本地修补程序“C:\WINDOWS\Installer\459e775f.msp”。 寻找它的源头。
MSI (s) (8C:14) [15:32:57:584]:正在解析补丁源.....
MSI (s) (8C:14) [15:32:57:584]:SOURCEMGMT:尝试从源列表中使用 LastUsedSource。
MSI (s) (8C:14) [15:32:57:584]: SOURCEMGMT: 尝试源 f:\51f62649eea433f0b7e0\wcu\dotnetframework\dotnetfx30。
MSI (s) (8C:14) [15:32:57:584]: 注意: 1: 2203 2: F:\51f62649eea4adf0b7e0\wcu\dotnetframework\dotnetfx30\WCF.msp 3: -2147287037
MSI (s) (8C:14) [15:32:57:584]:SOURCEMGMT:源由于缺少/无法访问的包而无效。
MSI (s) (8C:14) [15:32:57:584]: 注意: 1: 1706 2: -2147483647 3: WCF.msp
MSI (s) (8C:14) [15:32:57:584]: SOURCEMGMT:处理网络源列表。
MSI(s)(8C:14)[15:32:57:584]:SOURCEMGMT:尝试源 PatchSourceList。
MSI (s) (8C:14) [15:33:27:739]: 注意: 1: 1314 2: PatchSourceList
MSI (s) (8C:14) [15:33:27:739]: ConnectToSource: CreatePath/CreateFilePath 失败,并显示: -2147483648 1314 -2147483648
MSI (s) (8C:14) [15:33:27:739]: ConnectToSource (con't): CreatePath/CreateFilePath 失败,并显示: -2147483648 -2147483648
MSI (s) (8C:14) [15:33:27:739]: SOURCEMGMT: net source 'PatchSourceList' 无效。
MSI (s) (8C:14) [15:33:27:739]: 注意: 1: 1706 2: -2147483647 3: WCF.msp
MSI (s) (8C:14) [15:33:27:739]: SOURCEMGMT: 处理媒体源列表。
MSI (s) (8C:14) [15:33:27:739]: SOURCEMGMT: 已解析的源为:“WCF.msp”....
MSI (s) (8C:5C) [15:33:57:863]: 注意: 1: 2262 2: 错误 3: -2147287038

无法打开此修补程序包。 验证修补程序包是否存在,以及是否可以访问它,或联系应用程序供应商,验证此包是否为有效的 Windows Installer 修补程序包。

原因

安装程序缓存中的注册表信息或文件可能缺失。

解决方法

  1. 运行“ 如何修复 MSI 软件更新注册损坏问题 ”中的修补程序,以更正损坏的修补程序注册表项。

  2. 提取 .NET Framework 文件。

    可以通过修复框架来刷新 .NET Framework 2.0 和 3.0。 需要提取.MSI和.MSP源文件。 32 位或 64 位命令行将用于匹配目标操作系统的位数。

    提取文件的步骤:

    要下载完整包而不是引导程序,您可以在这里找到.NET Framework 3.5 Service Pack 1。

    此下载中包括 .NET Framework 2.0、3.0、32 位和 64 位。 我们不会使用 3.5 或 itanium (ia64) 文件。

    dotnetfx35.exe /x

    为了解决针对不同框架版本的 32 位和 64 位目标计算机的问题,请将文件提取到四个单独的目录中。 下面是文件列表。

    • .NET Framework 3.0 32 位

      • Netfx30a_x86.msi
      • WCF.msp
      • WCS.msp
      • WF.msp
      • WF_32.msp
      • WPF1.msp
      • WPF_Other.msp
      • XPS.msp
      • WPF2_32.msp
      • WPF_Other_32.msp
    • .NET Framework 3.0 64 位

      • WCF.msp
      • WCF_64.msp
      • WCS.msp
      • WCS_64.msp
      • WF.msp
      • WF_32.msp
      • WF_64.msp
      • WPF1.msp
      • WPF1_64.msp
      • WPF2.msp
      • WPF2_32.msp
      • WPF2_64.msp
      • WPF_Other.msp
      • WPF_Other_32.msp
      • WPF_Other_64.msp
      • XPS.msp
    • .NET Framework 2.0 32 位

      • Netfx20a_x86.msi
      • NetFX_CA.msp
      • crt.msp
      • NetFX_Core.msp
      • CLR.msp
      • ASPNET.msp
      • NetFX_Other.msp
      • prexp.msp
      • winforms.msp
      • dw.msp
    • .NET Framework 2.0 64 位

      • ASPNET.msp
      • ASPNET_64.msp
      • clr.msp
      • clr_64.msp
      • crt.msp
      • crt_64.msp
      • dw.msp
      • dw_64.msp
      • NetFX_CA.msp
      • NetFX_Core.msp
      • NetFX_Core_64.msp
      • NetFX_Other.msp
      • NetFX_Other_64.msp
      • prexp.msp
      • winforms.msp
      • winforms_64.msp
  3. 运行 Windows Installer 命令行。

    运行以下命令来修复框架。 您需要将 <FullPathToFiles> 替换为文件的路径。 双引号(“”)是必需的。 这是一个命令行,不应包含任何返回字符。 修补程序的顺序非常重要。 这些属性区分大小写。

    • .NET Framework 2.0 32 位

    • .NET Framework 2.0 64 位

    • .NET Framework 3.0 32 位

    • .NET Framework 3.0 64 位

详细信息

以下列表是预期的框架更新。

  • .NET Framework 2.0 Service Pack 2

    • .NET Framework 证书颁发机构
    • .NET Framework CRT
    • .NET Framework PreXP
    • .NET Framework CLR
    • .NET Framework 1
    • .NET Framework 2
    • .NET Framework A5P .NET
    • .NET Framework WinForms
    • 沃森博士
  • .NET Framework 3.0 Service Pack 2

    • XPS
    • WPF2
    • WF_32
    • WPF_Other
    • WCS
    • WPF_Other_32
    • WF
    • WPF_1
    • WCF(Windows Communication Foundation)
    • WPF2_32