vcredist_x86.dll and version 8.0.50727.4053 - visual-studio-2005

Visual C++ 2005 I build on my system use CRT DLLs version 8.0.50727.4053. I believe it is the latest one and was automatically updated by Windows.
On user systems, this version of the DLL is not found. I have used vcredist_x86.exe in the past as a part of our installer to install runtime DLLs. It used to work.
My problem is that even the latest version of vcredist_x86.exe (
Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)) doesn't install this version of the DLL.
So which vcredist_x86.exe file do I need then ?
P.S. Would forcing my app to link to a specific version of the CRT solve the problem ? Is it a prefered method at all ?
Thanks,
Paul
UPDATE: There are other people who observe that vcredist_x86.exe (
Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)) doesn't install 8.0.50727.4053.
UPDATE2: At least one person suggests forcing using the previous version of CRT (http://tedwvc.wordpress.com/). This would however add a significant complexity to our projects.

Following the advice of JesperE, I found that there exists "Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update" which provides these distributables.

I think there's an important distinction for VS standard/professional users and VS Express users. For VC++ Standard, c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\ contains the 8.0.50727.4053 redistributable (after the security update is installed). There is no need to separately install an SDK, so (for instance), I don't even have a C:\Program Files\Microsoft SDKs\ directory on the machine with VC++ Standard installed.
When using VS 2005 Express, follow mikets' answer, and get the ATL security update version. I confirmed these fix the problem in my case.

Ok. I found the solution in an MS Forum:
If you installed the security update,
the 9.0.30729.4148 version of vcredist
should be in your Windows SDK folder,
typically C:\Program Files\Microsoft
SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86
and C:\Program Files\Microsoft
SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x64.
Original thread

Microsoft release an update (google for KB971090) containing a security fix for the VC runtime. There is a corresponding update to the vcredist_x86.exe, but I don't have a link. If you have KB971090 installed, I think you should have an updated vcredist_x86.exe somewhere on your machine.
In practise (IIRC), it means that binaries built on machines which has KB971090 installed can only run on machines which have the corresponding updated VC runtimes, i.e. you need to ship and install the new vcredist_x86.exe on client machines.

I hope this could be a useful information:
The file you're looking for (2.0.50727.4053) has a size of 2.705.744 bytes (2.707.456 bytes on disk).

My understanding is that Microsoft hasn't released a vcredist_x86.exe for this version. They did, however, release Merge Modules with this version, so you should download them and include them in your installer. Now where do you get these is also a good question, but I somehow magically got them, probably through InstallShield update.

On my machine I found the 8.0.50727.4053 redistributable in \Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86
The one in \Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86 was for VS2008.
-Greg

Note:
Installing the "Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update" mentioned by mikets above also may resolve the following problem:
Error 0xc0150004 upon starting devenv.exe (Visual Studio 2005) or reader_sl.exe (Autostart of Acrobat Reader).
Reason it fixes a corrupt installation of the above Assemblies. (Probably corrupted with an Windows update/service pack installation).

It looks like you can install a msm file directrly with the msiexec
see:
http://forums.winamp.com/showthread.php?s=&threadid=99668&highlight=msm

Related

dotnet.exe won't run because api-ms-win-crt-runtime-l1-1-0.dll is missing

I need to host an ASP.NET Core 2.0 app in IIS on Windows Server 2008 R2 SP1. I'm following the Docs guide on how to Host ASP.NET Core on Windows with IIS.
After installation, I still can't run dotnet.exe. It calls for a DLL named api-ms-win-crt-runtime-l1-1-0.dll.
The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem.
However, there are lots of instances of this file on the machine, in the following folders:
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.3
C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App\2.0.3
C:\Windows\winsxs\amd64_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.18972_none_a9a51144251fb166
C:\Windows\winsxs\amd64_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23175_none_aa31870f3e3ad077
C:\Windows\winsxs\amd64_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23656_none_aa4830af3e29a3af
C:\Windows\winsxs\x86_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.18972_none_4d8675c06cc24030
C:\Windows\winsxs\x86_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23175_none_4e12eb8b85dd5f41
C:\Windows\winsxs\x86_microsoft-windows-u..rsalcrt-apifwd-win7_31bf3856ad364e35_6.1.7601.23656_none_4e29952b85cc3279
The instruction says:
Install the .NET Core Windows Server Hosting bundle on the hosting system. [...] If the system doesn't have an Internet connection, obtain and install the Microsoft Visual C++ 2015 Redistributable before installing the .NET Core Windows Server Hosting bundle.
I have installed/repaired both of these packages multiple times but get the same error.
It's probably not that the DLL is missing, but rather one of the DLL's dependencies is missing.
Make sure you're installing the Update 3 version of the Visual C++ 2015 Redistributable.
One of the requirements of the Visual C++ 2015 Redistributable is KB2999226. Make sure this is installed as well.
If it's already installed, post the installation log from the Visual C++ 2015 Redistributable installer package.
on windows server 2012 R2
I had same issue. Windows update + installing windows specific update solved it.
see: https://github.com/dotnet/core-setup/issues/4388.
I installed this update:
https://support.microsoft.com/en-us/help/3118401/update-for-universal-c-runtime-in-windows
TL;DR: Install these Windows updates in this order:
KB2919442
KB2919355
KB2999226
After installing the above 3 Windows update in the correct order, the error about the missing dll should stop.
I ran into basically this same problem when attempting to deploy a .NET Core 2.1 application to a Windows 2012 R2 machine. The root cause seems to have been due to a corrupt installation of the Microsoft Visual C++ Redistributable.
From Microsoft's documentation:
Visual C++ Redistributable Packages install runtime components of
Visual C++ Libraries on a computer that does not have Visual C++
installed. The libraries are required to run applications that are
developed by using the corresponding version of Visual C++.
After some troubleshooting and research, I fixed the issue by manually installing these 3 Windows updates in this order:
KB2919442
KB2919355 (requires a reboot)
KB2999226
The order of installation of these Windows updates is important! KB2999226 depends on KB2919355, and KB2919355 depends on KB2919442.
After installing those Windows updates, dotnet.exe and the application began to run correctly.

"program can't start because msvcp100.dll is missing" for Every single code

This error is taking toll of my training schedule.
Everytime I create any C++ application in my VS2010, It runs fine on my machine but if I run it on different machine, It starts with this error.
Error goes if I copy msvcp100.dll in System Folder then it shouts for some other DLL. It requires some 5-6 different DLLs.
Most irritating part is even if I write a simple Console based Addition program, It gives this error.
(I should not but)I would have agree if I design some fancy forms and all... But for simple Addition program????
Am I missing out somethings in Settings? or VS2010 to blame??
Somewhat related question: this But this problem seems different
By default, MSVC projects are set to link against the dynamic run time library which generates a dependency on the visual C++ run time redistributable. As you have already found out, this dependency is not guaranteed so your install utility has to install the visual c++ run time first.
You can avoid this by changing your project settings. Load the project properties and go to: "Configuration Properties"/"C/C++"/"Code Generation"
In the item labelled "Runtime Library", select "Multi Threaded (/MT)"
for the release version"Multi Threaded Debug (/MTd)" for the debug version.
You have to be careful while doing this that all the other libraries that your application links are also compiled against the static run time.
You need to have Visual C++ Libraries installed if you want to run your app.
Using the compiler options to change the runtime library worked for me ("Configuration Properties"/"C/C++"/"Code Generation". In the item labelled "Runtime Library", select "Multi Threaded (/MT)" for the release version and "Multi Threaded Debug (/MTd)" for the debug version). I did have to do both the debug and the release to get the release to work. Don't know why (it is possible that I did not do it correct the first time).
Note: I was using VC2010 Express version on Windows 7 to compile. I tested on an old XP machine.
Another note: MS information at http://msdn.microsoft.com/en-us/library/2kzt1wy3(v=vs.100).aspx
If you have installed a new copy of Windows on your computer or have reinstalled one then you will come across an error called "The program can’t start because MSVCP100.dll is missing from your computer. Try reinstalling the program to fix the problem." on your computer.
The basic reason behind this error is that the Visual C++ doesn’t get installed when you reinstall or install a fresh copy of Windows operating system. In order to check Visual C++ is installed on your PC or not, open Control Panel → All Programs and Features and then search for Visual C++ in the software list. If you don’t find the software installed there then you have to install it.
I would suggest, first of all, install the Visual C++ 2010 package and check if it has solved msvcp100.dll missing error or not. If the issue is not resolved by the Microsoft Visual C++ 2010 then install 2013 or 2015 versions of Microsoft Visual C++. Here is the list of download links of Microsoft Visual C++ for both x86 and x64 architectures:
Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)
Visual C++ Redistributable Packages for Visual Studio 2013
Visual C++ Redistributable for Visual Studio 2015
→ The latest supported Visual C++ downloads
I hope, now you are able to fix “The program can’t start because MSVCP100.dll is missing error on your computer. To know more details, you can follow this guide.
Thanks

Error 'LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt' after installing Visual Studio 2012 Release Preview

I've installed Visual Studio 2012 Release Preview, and it appears to be fine, but now when I try to use Visual Studio 2010 to compile C++ projects, I get the following error message:
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
I'm not 100% sure of this, but it seems to be related to projects that have .rc (resource) files in them.
I've tried repairing Visual Studio 2010 from Add/Remove programs and rebooting, but this has no effect.
I also get the same error if I use Visual Studio 2012 RC to compile the C++ projects when set to use the Visual Studio 2010 toolset. Upgrading to the Visual Studio 2011 toolset fixes the problem (but of course I don't want to do this for production code).
Update: I've uninstalled Visual Studio 2012, rebooted, and the problem still persists! Help!
This MSDN thread explains how to fix it.
To summarize:
Either disable incremental linking, by going to
Project Properties
-> Configuration Properties
-> Linker (General)
-> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"
or install VS2010 SP1.
Edits (#CraigRinger): Note that installing VS 2010 SP1 will remove the 64-bit compilers. You need to install the VS 2010 SP1 compiler pack to get them back.
This affects Microsoft Windows SDK 7.1 for Windows 7 and .NET 4.0 as well as Visual Studio 2010.
If disabling incremental linking doesn't work for you, and turning off "Embed Manifest" doesn't work either, then search your path for multiple versions of CVTRES.exe.
By debugging with the /VERBOSE linker option I found the linker was writing that error message when it tried to invoke cvtres and it failed.
It turned out that I had two versions of this utility in my path. One at C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cvtres.exe and one at C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe. After VS2012 install, the VS2010 version of cvtres.exe will no longer work. If that's the first one in your path, and the linker decides it needs to convert a .res file to COFF object format, the link will fail with LNK1123.
(Really annoying that the error message has nothing to do with the actual problem, but that's not unusual for a Microsoft product.)
Just delete/rename the older version of the utility, or re-arrange your PATH variable, so that the version that works comes first.
Be aware that for x64 tooling builds you may also have to check C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 where there is another cvtres.exe.
Check the version of cvtrs.exe:
dir "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe"
Wrong version:
date: 03/18/2010
time: 01:16 PM
size: 31,048 bytes
name: cvtres.exe
Correct version:
date: 02/21/2011
time: 06:03 PM
size: 31,056 bytes
name: cvtres.exe
If you have wrong version you should copy the correct version from:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe
and replace the one here:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
i.e.
copy "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe"
According to this thread in MSDN forums: VS2012 RC installation breaks VS2010 C++ projects, simply, take cvtres.exe from VS2010 SP1
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
or from VS2012
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe
and copy it over the cvtres.exe in VS2010 RTM installation (the one without SP1)
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
This way, you will effectively use the corrected version of cvtres.exe which is 11.0.51106.1.
Repeat the same steps for 64-bit version of the tool in C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cvtres.exe.
This solution is an alternative to installation of SP1 for VS2010 - in some cases you simply can't install SP1 (i.e. if you need to support pre-SP1 builds).
If you have installed Visual Studio 2012 RC, then it installed .NET 4.5 RC.
Uninstall .NET 4.5 RC, and install the version you need (4.0 for VS 2010). This should clear up any problems you are having.
This solved the same problem. There is no need to uninstall Visual Studio.
It's because of .NET Framework 4.5 is replacing .NET Framework 4.0.
I uninstalled Visual Studio 2010 several times with no luck. When I removed .NET Framework 4.5 and reinstalled Visual Studio 2010 it went fine.
See Uninstall Visual Studio 11 completely to do a fresh install.
For me, setting 'Generate Manifest' to 'No' fixed it. (Also fixed with /INCREMENTAL:NO)
If you're using x64, here's a resource will help:
This happens because Microsoft .NET 4.5 is incompatible with Visual C++ 10. The workaround is to ensure that you run the .NET version of cvtres.exe rather than the Visual C++ version. I did this by renaming the Visual C++ versions of those files and copying the .NET versions in their place.
1. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
2. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cvtres.exe
1. C:\windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
2. C:\windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe
I solved this problem eventually by doing a full uninstall of VS2012 RC, followed by a full uninstall of VS2010, then a reinstall from scratch of VS2010.
It took forever, but I'm now able to compile C++ projects in VS2010 again.
The issue was magically resolved for me by removing .NET 4.5, and replacing it with .NET 4.0. I then had to repair Visual Studio 2010 - it being corrupted along the way somehow.
I had previously installed, and then un-installed, Visual Studio 2012 - which may be related to the issue.
I have not installed Visual Studio 2012, but I still got this error in Visual Studio 2010. I got this resolved after installing Visual Studio 2010 SP1.
I had the same problem with Microsoft Visual Studio 2010 Ultimate and it was solved by the method described in this youtube video
The video suggests to rename the file cvtres.exe in C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin (in my Win7X64 matchine) to cvtres-old.exe
It didn't work for me after Enable Incremental Linking -> "No (/INCREMENTAL:NO)", but it works for me after I deleted the rc file.
+1 to user Short for an answer that worked for me!
I tried to do some debugging of this with msbuild /v:diag, and I'm seeing that MSBuild is trying to embed a manifest in the executable, with <somename>.dll.embed.manifest.res on the linker command line, where that is a resource file built from <somename>.dll.embed.manifest. But the manifest file is an empty Unicode text file. (That is, a two-byte file with the Unicode 0xFEFF prefix)
So the root problem seems to have something to do with that manifest file not being generated, or it being used when <somename>.dll.intermediate.manifest should have been used.
An alternate solution seems to be to turn off the "Embed Manifest" option under Properties, Manifest Tool, Input and Output.
To summarize:
Step1
Project Properties
-> Configuration Properties
-> Linker (General)
-> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"
if step1 not work, do Step2
Project Properties
-> Configuration Properties
-> Manifest Tool (Input and Output)
-> Enable Incremental Linking -> "No"
if step2 not work, do Step3
Copy file one of:
C:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\bin\cvtres.exe
C:\Program Files (x86)\Microsoft Visual Studio
12.0\VC\bin\cvtres.exe
C:\Program Files (x86)\Microsoft Visual Studio
13.0\VC\bin\cvtres.exe
Then, replace to C:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\bin\cvtres.exe
With me, do 3 step it work
As of January 2014, for some reasons I got installed .NET Framework 4.5.1, I don't know if due to a third party software installation or to an automatic update.
On January 29th, I got installed one component and I started receiving the
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
message. At that time, I solved by avoiding the incremental link.
On Jan. 31st, I got installed another component of .NET Framework 4.5.1 and the incremental link trick did not work anymore. I then installed the Visual Studio 2010 SP1, but afterwards the problem became:
Error 6 error LNK1104: cannot open file 'msvcrtd.lib'.
I think the SP1 messed up my Visual Studio 2010 installation.
So I uninstalled .NET Framework 4.5.1, installed .NET Framework 4.0 and uninstalled and then reinstalled Visual Studio 2010. That worked for me.
Even inspite of installing Service pack you are getting the error then try removing/renaming the cvtres.exe in the C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin folder. This has worked for me.
I set Enable Incremental Linking to "No (/INCREMENTAL:NO)" and it doesn't work for me.
Next I've changed:
Project Properties
-> Configuration Properties
-> General
-> Platform Toolset -> "Visual Studio 2012 (v110)"
and it works for me :)
Reinstalling CMake worked for me. The new copy of CMake figured out that it should use Visual Studio 11 instead of 10.
I was using the Windows SDK for core Win32 programming and had .NET 4.5 installed for "unknown" reasons. I have uninstalled that and installed 4.0 like previous answers and yeah, it worked for me too.
Just am flabbergasted that I had to use the useless .NET framework for building Win32 apps using the SDK.
I solved this by doing the following:
In a command prompt, type msconfig and press enter.
Click services tab.
Look for "Application Experience" and put tick mark (that is, select this to enable).
Click OK. And restart if necessary.
Thus the problem will go forever. Do build randomly and debug your C++ projects without any disturbance.
For those of you looking for a solution for this problem with the OpenGL SuperBible 6th source code samples, the solution is building in Release instead of Debug. All projects have disabled the incremental linking option in the Release version.
My problem was that I've had two paths on my PC that contained the same libraries. Both paths were added to the Additional Library Directories in Configuration Properties -> Linker -> General. Removing one of the paths solved the problem.
I had the same problem after updating of .NET:
I uninstalled the .NET framework first,
downloaded visual studio from visualstudio.com and selected "repair".
NET framework were installed automatically with visual studio -> and now it works fine!
I tried a few times and finally solved the problem by uninstalling several times the VS2010. I think I hadn't uninstalled all the files and that's why it didn't work for the first time.
In the installation of VS2012, it is said that if you have VS2010 SP1 you can't work on the same project in both programs. It is recommended to have only one program.
Thanks!

Setup project with crystal reports and VS2010 fails to register crystal dlls

I built some crystal reports in VS2010, and made a setup project for it. It deploys fine on my dev machine, but I get the following error while trying to install it on the client machine.
I have googled this error for sometime and found that the VC++ 2005 redistributables are a prereq. I have added these merge modules to my setup project but I still get the same error.
I have also added .NET 4.0 as a prerequisite, and still get the same error. Anybody has any ideas?
My dev machine is running Windows 7, and I am trying to deploy it on a Windows server 2008 R2 machine.
For anyone else's reference, I ended up adding Crystal Reports Runtime Engine for .NET 4.0 as a prerequisite and just make the user download it if they dont have it installed. I also had to add a .NET 4.0 prerequisite (not the client profile) and of course the merge modules (CRRuntime_13_0.msm). If anyone has a better way of getting this to work, I am still interested. Thanks!
Try this one
http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp
I installed CRRuntime_32bit_13_0_8.msi on 64bit and finally worked
The merge modules you have added are from VC++ 2008 redistributable, not 2005.
You can download the correct redistributable from the following link:
Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)
That contains the required Microsoft_VC80_CRT_x86.msm, Microsoft_VC80_MFC_x86.msm, Microsoft_VC80_ATL_x86.msm and Microsoft_VC80_OpenMP_x86.msm, as noted here.
AFAIK, There's no need to .NET 4.0 as a prerequisite, at least for Crystal Reports Runtime for VS 2010. The above redistributable added to the setup project, all that error messages are gone.
NOTE:
To add the VC++ 2005 redistributable to the VS setup project, a corresponding bootstrapper package should be added in the following folder (for VS 2010):
%Program Files%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages
Or %ProgramFiles(x86)% folder on 64-bit Windows.
UPDATE:
To create a prerequisite bootstrapper package, see the following links (borrowed from here):
Deploying Custom made Visual Studio prerequisites using Bootstrapper Manifest Generator
Creating Bootstrapper Packages

Windows 7 SDK installation failure

I seem to be completely unable to install the Windows 7 SDK onto my machine, and the only solution I've found on the web is to make a swathe of registry changes. I've done this - still no success.
This is the reported error:
A problem occurred while installing selected Windows SDK components.
Installation of the "Microsoft Windows SDK for Windows 7" product has reported the following error: Please refer to Samples\Setup\HTML\ConfigDetails.htm document for further information.
Please attempt to resolve the problem and then start Windows SDK setup again. If you continue to have problems with this issue, please visit the SDK team support page at http://go.microsoft.com/fwlink/?LinkId=130245.
Click the View Log button to review the installation log.
To exit, click Finish.
There is no Samples directory to refer too, and the SDK support team don't appear to live there any longer.
How do I fix this problem?
Microsoft now has a knowledge base article called Windows SDK Fails to Install with Return Code 5100 that describes this problem and its fix:
This issue occurs when you install the Windows 7 SDK on a computer that has a newer version of the Visual C++ 2010 Redistributable installed. The Windows 7 SDK installs version 10.0.30319 of the Visual C++ 2010 Redistributable.
The error message is located in the log file, which can be opened through the View Log button in the installer. Otherwise, it can be found here: %userprofile%\AppData\Local\Temp\ or %temp%. The log file is most likely called SDKSetup_7.xxxxx.log.
Solution: Uninstall any existing Visual C++ 2010 redistributable.
I just had this problem, and I looked at the solution at Ctrl+F5, Fix Problem Installing Windows SDK for Windows 7, but it didn't work.
I googled around and found the page Installing Visual C++ 2010 and Windows SDK for Windows 7: offline installer and installation troubleshooting and the advice there worked. Basically you could have one of several problems, and you have to look in the log file to see what's going on. In my log file I had:
6:17:07 PM Saturday, October 01, 2011: C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup\SFX\vcredist_x64.exe installation failed with return code 5100
so as that above web page suggested, I uninstalled both copies of the Visual C++ 2010 Redistributable Package that I had (both x86 and x64), and then when I ran the Windows 7 SDK installer again, it worked.
Although you might have a different problem than me. Try the solutions at the Ctrl+F5 and patheticcockroach.com websites that I linked.
I hoped this helped!
All of these (and other) solutions have failed completely for me so I figured out another.
You need the offline installation package (mine was x64), and you need to manually install only the samples. Opening the ISO-file with, for example, 7-Zip from location Setup\WinSDKSamples_amd64 and running WinSDKSamples_amd64.msi did this for me.
Then you just use the normal setup file to REPAIR the installation and choose whatever components you wish.
You should really check the log. It seems that quite a few components can cause the Windows SDK installer to fail to install with this useless error message. For instance it could be the Visual C++ Redistributable Package as mentioned there.
I have had this same problem with the x64 version installation. It relates (in my case at least) to the dexplore.exe installation. I uninstalled dexplore, reinstalled it, did a heap of registry changes, etc. as per various blogs and SDKs all to no avail. What finally fixed it for me was editing this registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer\DisableBrowse
I changed the value to 0. Once the SDK had installed (quite happily this time) I set the value back to 1.
What alerted me to the possible error was the following in the SDK setup log:
12:19:42 PM Friday, 8 January 2010: SFX C:\Program Files\Microsoft SDKs\Windows\v7.0\Setup\SFX\dexplore.exe installation started with log file C:\TEMP\Microsoft Windows SDK for Windows 7_dd2d9383-116d-441f-85b3-7c16aeb3568e_SFX.log
12:19:47 PM Friday, 8 January 2010: C:\Program Files\Microsoft SDKs\Windows\v7.0\Setup\SFX\dexplore.exe installation failed with return code 1625
And this in the dexplore installation logfile:
MSI (s) (E4:7C) [12:19:46:680]: Machine policy value 'DisableBrowse' is 1
MSI (s) (E4:7C) [12:19:46:680]: Adding new sources is not allowed.
MSI (s) (E4:7C) [12:19:46:680]: Warning: rejected attempt to add new source 'c:\eb66d60e4283bfc2986755fa\' (product: {6753B40C-0FBD-3BED-8A9D-0ACAC2DCD85D})
MSI (s) (E4:7C) [12:19:46:680]: MSI_LUA: Elevation prompt disabled for silent installs
MSI (s) (E4:7C) [12:19:46:680]: Note: 1: 1729
MSI (s) (E4:7C) [12:19:46:680]: Product: Microsoft Document Explorer 2008 -- Configuration failed.
I hope this is of assistance in your situation.
One of the things to also keep in mind is that when you have Visual Studio 2010 SP1 installed some C++ compilers and libraries may have been removed. There's been an update made available by Microsoft to make sure those are brought back to your system.
Install this update to restore the Visual C++ compilers and libraries
that may have been removed when Visual Studio 2010 Service Pack 1
(SP1) was installed. The compilers and libraries are part of the
Microsoft Windows Software Development Kit for Windows 7 and the .NET
Framework 4 (later referred to as the Windows SDK 7.1).
Also, when you read the VS2010 SP1 README you'll also notice that some notes have been made in regards to the Windows 7 SDK (See section 2.2.1) installation. It may be that one of these conditions may apply to you and therefore may need to uncheck the C++ compiler-checkbox as the SDK installer will attempt to install an older version of compilers ÓR you may need to uninstall VS2010 SP1 and re-run the SDK 7.1 installation, repair or modification.
Condition 1: If the Visual C++ Compilers checkbox is selected when the
Windows SDK 7.1 is installed, repaired, or modified after Visual
Studio 2010 SP1 has been installed, the error may be encountered and
some selected components may not be installed.
Workaround: Clear the Visual C++ Compilers checkbox before you run the
Windows SDK 7.1 installation, repair, or modification.
Condition 2: If the Visual C++ Compilers checkbox is selected when the
Windows SDK 7.1 is installed, repaired, or modified after Visual
Studio 2010 has been installed but Visual Studio 2010 SP1 has not been
uninstalled, the error may be encountered.
Workaround: Uninstall Visual Studio 2010 SP1 and then rerun the
Windows SDK 7.1 installation, repair, or modification.
However, even then I found that I still needed to uninstall any existing Visual C++ 2010 redistributables, as has been suggested by mgrandi.
I could never get the Windows 7 SDK to install either, and it suggested I remove the latest SDK and Visual Studio 2012 Express. That didn't work.
There was also something about .NET 3.5. I installed the Server 2008 SDK with .NET 3.5, uninstalled Visual Studio 2010 redistributables and made sure redistributables were unchecked in the installation options.
Also, you need the .NET 4 framework already installed, which you can download from Microsoft's site. Then it worked.
Uninstalling all C++ redistributables and unchecking the C++ option worked for me. Note that I have VS2010 SP1, and VS2012 installed already.
mgrandi provided a very good resource and answer. I followed similar guidelines and by removing 'leftover' components managed to solve the problem.
As a reference, take a look at Windows SDK for Windows 7 and .NET Framework 4 Release Notes.
This downloads the release notes of the SDK (you should also have it on your computer after trying to install the SDK), and in the section 'Installing and Uninstalling the Windows SDK' you can see that Microsoft recommend cleaning some mess after them.
I installed Visual Studio 2012 and installed Visual Studio 2010 service package 1 and tried installing the SDK again, and it worked. I don't know which of them solved the problem.
I'm having the same error as this "Windows 7 SDK installation failure":
After finding out, I've got the solution.
It may also happen that the SDK installation runs through with a "success" message at the end, but nothing was actually installed. The only way to really find out whether the SDK was installed is to check the respective directory. C:Files\Microsoft SDKs\Windows\v7.1 or C:Files (x 86) SDKs\Windows\v7.1. If the subdirectory "v 7.1" was created and has some content, the SDK was installed. The solution for this problem is the same as for the issue with the error message: Uninstall Microsoft Visual C++ 2010 Redistributable (see below).
Resolution: Uninstall Microsoft Visual C++ 2010 Redistributable installations prior to Windows SDK installation.
Before the installation, I had the following Microsoft Visual C++ 2010 Redistributable installations. Note that the x 64 version is updated.
Microsoft Visual C++ 2010 Redistributable x 64-Microsoft Corporation 10.0.40219 15.2 MB 10.0.40219
Microsoft Visual C++ 2010 Redistributable-x 86 10.0.30319 Microsoft Corporation 11.0 MB 10.0.30319
I'd like to add that removing the Visual C++ 2012 Redistributable may be necessary, too. I removed both the Visual C++ 2012 Redistributable x84 and x64 and then my installation worked.
Do you have access to a PC with Windows 7, or a PC with the SDK already installed?
If so, the easiest solution is to copy the C:\Program Files\Microsoft SDKs\Windows\v7.1 folder from the Windows 7 machine to the Windows 8 machine.

Resources