问题
I'm trying to install Visual Studio 2013 Express for Desktop on a Windows 7 Pro machine. I've downloaded the ISO file and I'm running that locally.
I run the installer and get an error about certain prerequisites not being installed (the C++ runtimes for one). I've downloaded all the prerequisites, but when I try to install the Visual Studio 2013 Shell (Isolated) I get the following error rather unhelpful message:
Fatal error during installation.
However, checking the log file reveals the following error:
Package (vs_isoshellcore) failed: Error Message Id: 997 ErrorMessage: Overlapped I/O operation is in progress.
The common issues and workarounds page doesn't seem to mention this issue and a Google search for this message fails to turn up any results.
A search for "Overlapped I/O operation is in progress." brings back more results the most relevant appear to be:
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
and
http://www.edugeek.net/forums/windows-7/140586-possible-issue-kb2918614-causing-overlapped-i-o-operation-progress-errors.html
the latter two point to KB2918614 being the culprit. However, removing this update and restarting the machine hasn't fixed the problem.
I've tried running the installer both as a regular user and as an administrator and get the same result.
I've also tried running the web installer and while that seems to do a better job of finding and installing the prerequisites and dependencies it also fails with the same error.
I tried turning my Anti-Virus off in case that was interfering with the installer, but it failed with exactly the same error.
What else can I do?
回答1:
I had the same problem when installing the .NET Framework update v4.5.2. I also tried the same means that you've described (uninstalling, repairing and attempting to re-install the .NET Framework).
Here's what worked for me - note that this is a work-around, but nothing else would work:
- I left the KB2918614 installed via the Windows Update process (I had previously uninstalled, and hidden it from updates - I unhid it, then let it install again). This hotfix has known problems that cause the 997 ErrorMessage: Overlapped I/O operation error.
- Request and install the hotfix KB3000988 that supposedly fixes the problems caused by KB2918614.
Perform registry modifications as noted in KB2918614:
- Under key
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer
, create DWORD NoUACforHashMissing, and set value to1
. (Create the key if it doesn't exist). - Also under the same key, add DWORD
SecureRepairPolicy
, and set value to2
.
- Under key

- Create a whitelist for apps that are trusted (including future updates) to be digitally signed and not contain malicious code. The hashing problem caused by KB2918614 is bypassed for apps that have an entry here. To do this, create registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer\SecureRepairWhitelist
, and for each trusted app, create a string value underneath with the product ID of that app.

One way of finding this is to look in the C:\Windows\Installer
folder during installation, and copy the GUID from the SourceHash{xxxxGUIDxxxx}
file.

- Retry the installation following the whitelisting - as the Visual Studio 2013 shell program is released by Microsoft, thus it ought to be signed.
Powershell script to get list of recently created Installation GUIDs
The following command can be run from a Powershell console in the Windows Installer directory to get a list of the installation GUIDs that were recently created by a program being installed. If the program being installed fails, run this command, and add each of the GUIDs listed in the output to the registry using the steps described above.
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}
The following answer may also be useful: https://stackoverflow.com/a/26276554/3063884
回答2:
Uninstall these 3 updates: KB2918614, KB3000988, KB3008627
回答3:
At last! I managed to fix this problem by removing all 2015 04-05 month updates (Security, Windows, Hot-fixes), now I can install MS Visual Studio 2013 and also Autodesk 3D max. I also turned off windows updates.
回答4:
As pointed out here, a much easier workaround is to rename the folder C:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18
before doing the installation. It forces Windows to regenerate those files and let Windows Installer do its work.
In my particular case, I managed to install .NET Framework 4.6.1.
However, after restarting the computer, the error reappeared when trying to install SQL Server Express 2014
. It seems that this rename operation must be performed before each installation involving Windows Installer, if a restart has occurred in the mean time.
来源:https://stackoverflow.com/questions/26694893/visual-studio-2013-shell-isolated-installation-fails-with-error-997-overlappe