我试图在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操作正在进行中。"带回更多相关的结果似乎是:
和
后两者指向KB2918614是罪魁祸首。但是,删除此更新并重新启动计算机并未解决问题。
我已经尝试以普通用户和管理员身份运行安装程序并获得相同的结果。
我也尝试过运行Web安装程序,虽然这似乎可以更好地查找和安装先决条件和依赖项,但它也会因同样的错误而失败。
我试图关闭我的反病毒软件以防干扰安装程序,但它失败并出现完全相同的错误。
我还能做什么?
答案 0 :(得分:3)
安装.NET Framework更新v4.5.2时遇到了同样的问题。我也尝试过您所描述的相同方法(卸载,修复并尝试重新安装.NET Framework)。
这对我有用 - 请注意, 是一种解决方法,但没有其他方法可行:
执行KB2918614中所述的注册表修改:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer
下,创建DWORD NoUACforHashMissing
,并将值设置为1
。 (如果密钥不存在,则创建密钥)。SecureRepairPolicy
,并将值设置为2
。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer\SecureRepairWhitelist
,并为每个受信任的应用程序在下方创建一个字符串值,并使用该应用程序的产品ID。
找到这种方法的一种方法是在安装期间查看C:\Windows\Installer
文件夹,并从SourceHash{xxxxGUIDxxxx}
文件中复制GUID。
用于获取最近创建的安装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}
答案 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的每次安装之前执行此重命名操作,如果同时重新启动。