Visual Studio 2013 Shell(隔离)安装失败,错误997:重叠的I / O操作正在进行中

时间:2014-11-02 00:51:19

标签: visual-studio-2013 windows-installer failed-installation

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

我运行安装程序并收到有关未安装某些先决条件的错误(一个C ++运行时)。我已经下载了所有先决条件,但是当我尝试安装Visual Studio 2013 Shell(隔离)时,我得到以下错误,而不是无用的消息:

  

安装过程中出现致命错误。

但是,检查日志文件会显示以下错误:

  

包(vs_isoshellcore)失败:错误消息ID:997 ErrorMessage:重叠的I / O操作正在进行中。

common issues and workarounds页面似乎没有提及此问题,Google搜索此邮件无法显示任何结果。

正在搜索"重叠I / O操作正在进行中。"带回更多相关的结果似乎是:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/6d993437-e737-4611-b6bf-c43f1dc4c00d/vs2013-express-for-web-installation-issue?forum=vssetup

https://community.serif.com/forum/other-products/14966/error-message-overlapped-i-o-operation-in-progress-when-installing-serif-software

http://www.edugeek.net/forums/windows-7/140586-possible-issue-kb2918614-causing-overlapped-i-o-operation-progress-errors.html

后两者指向KB2918614是罪魁祸首。但是,删除此更新并重新启动计算机并未解决问题。

我已经尝试以普通用户和管理员身份运行安装程序并获得相同的结果。

我也尝试过运行Web安装程序,虽然这似乎可以更好地查找和安装先决条件和依赖项,但它也会因同样的错误而失败。

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

我还能做什么?

4 个答案:

答案 0 :(得分:3)

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

这对我有用 - 请注意, 是一种解决方法,但没有其他方法可行:

  • 我通过Windows Update进程离开了KB2918614(我之前已经卸载了,并将其隐藏在更新中 - 我取消了它,然后让它再次安装)。此修补程序has known problems导致 997 ErrorMessage:重叠I / O操作错误。
  • Request and install修补程序KB3000988,据说修复了KB2918614引起的问题。
  • 执行KB2918614中所述的注册表修改:

    1. 在键HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer下,创建DWORD NoUACforHashMissing,并将值设置为1。 (如果密钥不存在,则创建密钥)。
    2. 同样在同一个键下,添加DWORD SecureRepairPolicy,并将值设置为2

Registry screen-dump

  1. 为受信任的应用(包括将来的更新)创建白名单,以进行数字签名且不包含恶意代码。对于在此处有条目的应用程序,绕过了由KB2918614引起的哈希问题。为此,请创建注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer\SecureRepairWhitelist,并为每个受信任的应用程序在下方创建一个字符串值,并使用该应用程序的产品ID。
  2. Registry screen-dump

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

    Windows Installer folder in Explorer

    1. 在白名单后重试安装 - 由Microsoft发布Visual Studio 2013 shell程序,因此应该签名。

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

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

      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}
      

      以下答案也可能有用:https://stackoverflow.com/a/26276554/3063884

答案 1 :(得分:1)

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

答案 2 :(得分:0)

最后!我设法通过删除所有2015年04月05日更新(安全,Windows,热修复)来解决此问题,现在我可以安装MS Visual Studio 2013以及Autodesk 3D max。我也关闭了Windows更新。

答案 3 :(得分:0)

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

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