Visual studio 2013 Visual Studio 2013 Shell(独立)安装失败,出现错误997:正在进行重叠I/O操作

Visual studio 2013 Visual Studio 2013 Shell(独立)安装失败,出现错误997:正在进行重叠I/O操作,visual-studio-2013,windows-installer,failed-installation,Visual Studio 2013,Windows Installer,Failed Installation,我正在尝试在Windows 7 Pro计算机上安装Visual Studio 2013 Express for Desktop。我已经下载了ISO文件,并且正在本地运行 < >我运行安装程序,并对某些未安装的前提条件(C++的运行时间)进行错误处理。我已经下载了所有先决条件,但是当我尝试安装Visual Studio 2013 Shell(独立)时,我收到了以下错误消息,这是毫无帮助的: 安装过程中出现致命错误 但是,检查日志文件会发现以下错误: 包(vs_isoshellcore)失败:错误消

我正在尝试在Windows 7 Pro计算机上安装Visual Studio 2013 Express for Desktop。我已经下载了ISO文件,并且正在本地运行

< >我运行安装程序,并对某些未安装的前提条件(C++的运行时间)进行错误处理。我已经下载了所有先决条件,但是当我尝试安装Visual Studio 2013 Shell(独立)时,我收到了以下错误消息,这是毫无帮助的:

安装过程中出现致命错误

但是,检查日志文件会发现以下错误:

包(vs_isoshellcore)失败:错误消息Id:997错误消息:重叠I/O操作正在进行

该页面似乎没有提到这个问题,谷歌搜索这条消息也没有找到任何结果

搜索“重叠I/O操作正在进行中”。将返回更多结果最相关的结果似乎是:

后两种情况表明是罪魁祸首。但是,删除此更新并重新启动计算机并没有解决此问题

我尝试以普通用户和管理员的身份运行安装程序,得到了相同的结果

我也尝试过运行web安装程序,虽然它在查找和安装先决条件和依赖项方面做得更好,但它也失败了,出现了相同的错误

我试图关闭我的防病毒软件,以防它干扰安装程序,但它失败了,并出现了完全相同的错误


我还能做什么?

卸载这3个更新:KB2918614、KB3000988、KB3008627

我在安装.NET Framework更新v4.5.2时遇到了同样的问题。我还尝试了与您描述的相同的方法(卸载、修复并尝试重新安装.NET Framework)

以下是对我有效的方法-请注意,这是一种变通方法,但其他方法都无效:

  • 我保留了通过Windows Update进程安装的KB2918614(我以前卸载了它,并隐藏了它以防更新-我取消了它的ID,然后让它再次安装)。此修补程序导致997错误消息:重叠I/O操作错误
  • 热修复程序KB3000988,据称修复了KB2918614引起的问题
  • 执行注册表修改,如中所述:

  • 在键
    HKEY\U LOCAL\U MACHINE\SOFTWARE\Policys\Microsoft\Windows\Installer
    下,创建DWORD,并将值设置为
    1
    。(如果密钥不存在,则创建该密钥)
  • 同样在同一键下,添加DWORD
    SecureRepairPolicy
    ,并将值设置为
    2

  • 为受信任的(包括将来的更新)要进行数字签名且不包含恶意代码的应用创建白名单。由KB2918614引起的哈希问题对于在此处有条目的应用程序被忽略。要执行此操作,请创建注册表项
    HKEY\U LOCAL\U MACHINE\SOFTWARE\Policys\Microsoft\Windows\Installer\SecureRepairWhitelist
    ,并为每个受信任的应用程序在下面创建一个带有该应用程序产品ID的字符串值

    一种查找方法是在安装期间查看
    C:\Windows\Installer
    文件夹,并从
    SourceHash{xxxxxxguidxxx}
    文件复制GUID

  • 请在白名单之后重试安装-由于Microsoft发布了Visual Studio 2013 shell程序,因此应该对其进行签名

  • 用于获取最近创建的安装GUID列表的Powershell脚本

    可以从Windows Installer目录中的Powershell控制台运行以下命令,以获取由正在安装的程序最近创建的安装GUID的列表。如果要安装的程序失败,请运行此命令,并使用上述步骤将输出中列出的每个GUI添加到注册表

    PS C:\Windows\Installer> Get-ChildItem -Filter *Hash* | ? {$_.CreationTime -gt (Get-Date).AddDays(-1) } | Sort-Object LastWriteTime
    
    
        Directory: C:\Windows\Installer
    
    
    Mode                LastWriteTime     Length Name
    ----                -------------     ------ ----
    -a---        2016-10-06  10:11 AM      20480 SourceHash{C8511A82-E9FD-4B6D-B1B2-378589D2B48A}
    -a---        2016-10-06  11:04 AM      20480 SourceHash{D45C3EC4-282E-4798-98C7-E7BF2362F04E}
    


    下面的答案也可能有用:

    最后!我通过删除所有2015年04-05个月的更新(安全、Windows、热修复程序)解决了此问题,现在我可以安装MS Visual Studio 2013和Autodesk 3D max。我还关闭了Windows更新。

    如前所述,更简单的解决方法是在安装之前重命名文件夹
    C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18
    。它强制Windows重新生成这些文件,并让Windows Installer完成其工作


    在我的特殊情况下,我成功地安装了
    .NET Framework 4.6.1。
    但是,重新启动计算机后,在尝试安装
    SQL Server Express 2014
    时,错误再次出现。如果同时重新启动Windows Installer,似乎每次安装之前都必须执行此重命名操作。

    这不是编程问题。@Lightforce-True-但它是关于主题中编程工具的安装。你真的认为我会发布一个离题的问题吗?不,只是我认为你可能会在微软论坛得到更好的支持。无意冒犯。@Lightforce-我已经在上面找到了问题-确实我链接到了一个-但我发现答案毫无帮助-“重新安装Windows 7”。我明白了:-)在我看来,问题是即使在卸载KB2918614之后,你也不能确定没有任何遗留问题。在安全模式下启动时可以安装VS吗?为什么是这三种?他们做了什么?之后可以重新应用吗?@ChrisF我对VS也有同样的问题,所以我对这个主题进行了研究,发现这三个更新在某种程度上影响了windows加密,而windows加密是安装msi包时计算chechsum所需的。因此,我已删除它们并成功安装VS 2013。您可以稍后重新应用它们,这不会对您造成任何伤害,只有3个没有帮助。我必须删除所有2015 04-05更新您可以通过访问c:\users\{username}\AppData\Local\Temp找到白名单的ID,查找t的日志