visual-studio-2013 - Visual Studio 2013 Shell(隔离)安装失败,错误 997 : Overlapped I/O operation is in progress

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

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

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

Fatal error during installation.



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

Package (vs_isoshellcore) failed: Error Message Id: 997 ErrorMessage: Overlapped I/O operation is in progress.



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

搜索“重叠 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 安装程序,虽然这似乎在查找和安装先决条件和依赖项方面做得更好,但它也因相同的错误而失败。

我尝试关闭我的 Anti-Virus 以防干扰安装程序,但它失败并出现完全相同的错误。

我还可以做些什么?

最佳答案

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

这是对我有用的方法 - 请注意,这是一种解决方法,但其他方法无效:

  • 我保留了通过 Windows 更新过程安装的 KB2918614(我之前已经卸载并隐藏了更新 - 我取消隐藏它,然后让它再次安装)。此修补程序 has known problems导致 997 错误消息:重叠 I/O 操作 错误。
  • Request and install修补程序 KB3000988 据称可以修复由 KB2918614 引起的问题。
  • 按照 KB2918614 中的说明执行注册表修改:
  • 下键HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer , 创建 DWORD NoUACforHashMissing ,并将值设置为 1 . (如果 key 不存在,则创建该 key )。
  • 同样在同一键下,添加 DWORD SecureRepairPolicy ,并将值设置为 2 .

  • Registry screen-dump
  • 为受信任(包括 future 更新)进行数字签名且不包含恶意代码的应用程序创建白名单。 KB2918614 引起的散列问题对于在此处具有条目的应用程序被绕过。为此,请创建注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer\SecureRepairWhitelist ,并为每个受信任的应用程序创建一个带有该应用程序产品 ID 的字符串值。

  • Registry screen-dump

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

    Windows Installer folder in Explorer
  • 按照白名单重试安装 - 由于 Visual Studio 2013 shell 程序是由 Microsoft 发布的,因此应该对其进行签名。


  • 用于获取最近创建的安装 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

    关于visual-studio-2013 - Visual Studio 2013 Shell(隔离)安装失败,错误 997 : Overlapped I/O operation is in progress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26694893/

    相关文章:

    azure - 'CctSharedPackage' 包

    installation - 如何仅在安装(而不是卸载)中执行自定义操作

    r - 附加 rstan 包时出错 : Entry Point Not Found

    python-3.x - 当我在 Windows 10 上构建 tensorflow 时出现错误 "Can not get Python include directory. Is distutils installed?"

    c++ - 如何复制文件但触摸新拷贝上的时间戳?

    c# - Netsuite Suitetalk 服务引用在 ASP.NET 和 Visual Studio 中不起作用

    sql-server - 在 VS 2013 中使用 SQL Server 数据库项目有哪些优势?

    Wix 不会将 var.publishDir 插入 wxs 文件中

    c++ - MSI 是否能够自动启动具有提升权限的程序/文件?

    powershell - 无法安装最新的 Azure PowerShell