Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio
All postings are provided AS IS
with no warranties, and confer no rights. Additionally, views expressed
herein are my own and not those of my employer, Microsoft.
A while back, I posted a set of instructions that can be used to try to resolve .NET Framework installation issues in case other troubleshooting steps listed on my blog, in knowledge base articles or elsewhere do not work. Those steps are out of date now because several new versions of the .NET Framework have been released since then, a new verification tool has been released and there are some other helpful steps that are not listed there. Instead of trying to update those steps in that old post, I decided to write a replacement post that contains the new information.
I have created a .NET Framework troubleshooting guide that contains links to information about various types of .NET Framework installation issues that we've seen over the years. However, the links in that article do not cover all possible errors, and there are likely some scenarios that cannot be resolved by any of the workarounds listed in that article.
If you run into an issue installing or using the .NET Framework or a .NET Framework hotfix or service pack, and the links in the .NET Framework troubleshooting guide do not help, I usually suggest trying the following steps in order to get your system back into a known state and then re-installing the .NET Framework and any hotfixes or service packs that apply to it:
.NET Framework setup log file locations
If none of the above help, then it can be useful to look at the .NET Framework setup log files for more in-depth troubleshooting. Here are links to information about the log files created by each version of the .NET Framework:
The .NET Framework 1.0 and 1.1 are not listed above because they do not create log files automatically. You need to use steps like the ones listed in this blog post in order to create log files for .NET Framework 1.0 and 1.1 setup.
.NET Framework setup packaging notes that affect uninstalls
The .NET Framework 1.0, 1.1 and 2.0 are all side-by-side versions that can be installed and uninstalled without affecting the others. This means that if you are running into an issue in the .NET Framework 2.0, for example, you do not necessarily need to remove the .NET Framework 1.0 and 1.1 in addition to removing 2.0.
The .NET Framework 3.0 is an add-on that requires the .NET Framework 2.0 to be present as a prerequisite. If you have the .NET Framework 3.0 installed, you will not be allowed to uninstall the .NET Framework 2.0 until you first uninstall the .NET Framework 3.0.
The .NET Framework 3.5 is an add-on that requires the .NET Framework 2.0 SP1 and the .NET Framework 3.0 SP1 to be present as prerequisites. If you have the .NET Framework 3.5 installed, you will not be allowed to uninstall the .NET Framework 3.0 SP1 or 2.0 SP1 until you first uninstall the .NET Framework 3.5. You will also not be allowed to uninstall the .NET Framework 2.0 SP1 until you first uninstall the .NET Framework 3.5 and the .NET Framework 3.0 SP1.
The .NET Framework 3.5 SP1 is an add-on that requires the .NET Framework 2.0 SP2 and the .NET Framework 3.0 SP2 to be present as prerequisites. If you have the .NET Framework 3.5 SP1 installed, you will not be allowed to uninstall the .NET Framework 3.0 SP2 or 2.0 SP2 until you first uninstall the .NET Framework 3.5 SP1. You will also not be allowed to uninstall the .NET Framework 2.0 SP2 until you first uninstall the .NET Framework 3.5 SP1 and the .NET Framework 3.0 SP2.
<update date="4/22/2008"> Added information and a link to the Microsoft .NET Framework 2.0 Registration Correction Tool, which should be used before resorting to trying the cleanup tool for .NET Framework 2.0 issues. </update>
<update date="9/21/2008"> Added a link to download the .NET Framework 3.5 SP1 now that it has shipped. </update>
<update date="9/23/2008"> Updated the link to the .NET Framework 2.0 Registration Correction Tool to point to the official knowledge base article now that it has been published. </update>
<update date="1/25/2009"> Added a link to the standalone .NET Framework 2.0 SP2 installer. </update>
<update date="2/25/2009"> Added links to the .NET Framework 3.5 SP1 family update installers. </update>
<update date="3/23/2009"> Fixed broken link to the .NET Framework cleanup tool. </update>
<update date="3/28/2009"> Fixed broken link to the .NET Framework setup verification tool. </update>
<update date="12/2/2010"> Added download link for .NET Framework 4. </update>
<update date="9/8/2012"> Added download link for .NET Framework 4.5 and fixed broken links to other versions of the .NET Framework. </update>
<update date="1/24/2013"> Added a link to the .NET Framework Repair Tool. <update>
<update date="7/23/2015"> Added download link for .NET Framework 4.6. </update>
Details about the .NET Framework 2.0 setup packaging Available command line switches for .NET Framework
PingBack from http://blogs.msdn.com/astebner/archive/2005/10/11/479928.aspx
Does the cleanup tool work on a 64-bit windows OS??
The readme.txt only mentions 32-bits OS..
Hi Jkwan - The cleanup tool will work on 64-bit versions of Windows as well. I will fix that note in the readme the next time I post a new build of the cleanup tool on my site.
First, why is it that Windows itself isn't using the msi format to deploy itself? Why did they go with those awful msu's? The reason I ask is that it would make the above easier to deal with if *every* component of windows was properly registered with the msi database. The Windows7 team really needs to consider this since MSI is a superior technology to these homebrew setup systems that appear every major OS release. Also, they should seriously consider dropping the dumb windows help format and switch to using VS2008's superior format.
I have been struggling with a system that refuses to install the .net 2.0 framework. I have tried everything suggested in your blog and more. I have even gone through the registry manually and removed all references to .net 2. I have tried a repair install, and I am stumped. It fails every time with the error:
Failed to install assembly 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Design.dll' because of system error: The system cannot find the path specified.
Obviously, the file is there, it's the correct version and size, but for some reason this is the error that gets returned. Any further thoughts?
Hi Pete - If you've already tried all of the steps listed above in this blog post, then you may want to also try the following:
1. Temporarily disable anti-virus/anti-spyware software on the system, then try to run setup again. Some programs like this get overly aggressive and can interfere with product installations
2. Try the steps listed at http://blogs.msdn.com/astebner/archive/2006/11/25/disabling-services-with-msconfig-to-work-around-setup-failures.aspx
Hopefully one of these will help.
Hi Aaron, I have tried that already, in fact I disabled every service except for Windows Installer, and it still fails with the same error. I even spent the last hour going through the registry deleting every reference to .net present, thinking it might be something in there causing the error. 1 and 1.1 reinstalled fine, but 2 hung up with the same error again! I'm thinking the only way I'm going to get this installed is to try a format clean install, and I rarely have to resort to that.
Hi Pete - I'm not sure what would be causing this type of error in that case. It could be a virus on the system or something running behind the scenes that is not a service, but is just a standard process.
It could also be a permission issue for the files/folders that are being accessed during .NET Framework setup. The steps at http://blogs.msdn.com/astebner/archive/2006/09/04/solving-setup-errors-by-using-the-subinacl-tool-to-repair-file-and-registry-permissions.aspx might be helpful in the case of a permission problem.
If none of these help, you may need to contact Microsoft Technical Support for more in-depth troubleshooting. You can find contact information for that at http://support.microsoft.com/
Last week, I started getting a larger than normal volume of emails from customers who ran into problems
A few days ago my system at home would not read Visual Studio 2005 .sln files. I had not changed anything, except a failed .NET Framework update attempt.
I was told that the .sln problem was due to a incomplete Framework installation.
That's when the fun began!
I tried to repeir it, to install it on top of the existing installation, etc.; no way, of course.
Then I discovered this blog (Thanks Aaron!). I've tried about everything, to no avail.
Right now, if I run the "Cleanup tool" I consistently get a bluescreen error. I'm running XP SP2. I've tried in Safe Mode, with the same result.
Cleanup does "Stopping services", Removing Windows Installer Information", "Removing directories" and... crash! The BSoD mentions STOP 0x00000024, Ntfs.sys. Same values everytime.
Any clue? Thanks a lot in advance.
Hi Peraita - I'm sorry for the hassles that this issue is causing for you. I haven't ever heard of a case of the cleanup tool resulting in a blue screen crash like this. All it does behind the scenes is attempt to delete files, directories, registry values, stop services and uninstall MSI-based products. I'm not aware of a way that these steps could cause the entire computer to crash. If possible, could you try to gather the log files from the cleanup tool so I can see exactly what it was doing at the time that your system crashed? The logs will be named %temp%\cleanup*.txt.
Also, what kind of errors were you getting when you tried to repair and/or re-install the .NET Framework 2.0 using the normal install process? It might be best to try to solve that issue instead of the issue with the cleanup tool to get your system back in a good state. The .NET Framework 2.0 creates a set of logs that are useful for troubleshooting - they are listed at http://blogs.msdn.com/astebner/articles/447012.aspx.
You can contact me at Aaron.Stebner (at) microsoft (dot) com to send me the above log files and I will try to help you from there as best as I can.
.NET Framework Cleanup Tool User's Guide Introduction This .NET Framework cleanup tool is designed to
PingBack from http://adallow.wordpress.com/2008/10/17/trouble-installing-net-35-in-some-cases/
This is how I fixed the major issues I had with .Net on WinXP SP3 (x86).
- I have Windows Installer v4.5
- I rebooted immediately upon any request
1. DotNetFX_Cleanup_Tool -> Remove "All Versions"
2. Install .Net 1 (1.0.3705.0) [CRC32: E349F4E0]
3. Install .Net 1.0 SP 3 (1.0.872.2884) [CRC32: 10CA288D]
3. Install .Net 1.1 (1.1.4322.573) [CRC32: FB4D7E5E]
4. Install .Net 1.1 SP 1 (1.0.871.2738) [CRC32: 50C9E538]
5. Install .Net 2.0 (2.0.50727.42) [CRC32: 7709E3AD]
6. Install .Net 2.0 SP1 (2.1.21022.08) [CRC32: F43F06A5]
7. Install .Net 3.5 SP1 (3.5.30729.01) [CRC32: 288B7694] WebSetup Version
8. Install .Net 3.5 HF (9.0.30729.196) [CRC32: 7AC5AA95] KB958484
Verfied with NETFX_SetupVerifier.exe
[01/16/09,15:06:42] Detected operating system: Windows XP (x86)
[01/16/09,15:06:42] Install state for .NET Framework 1.0: installed with service pack 3.
[01/16/09,15:06:42] Install state for .NET Framework 1.1: installed with service pack 1.
[01/16/09,15:06:42] Install state for .NET Framework 2.0: installed with service pack 2.
[01/16/09,15:06:42] Install state for .NET Framework 3.0: installed with service pack 2.
[01/16/09,15:06:42] Install state for .NET Framework 3.5: installed with service pack 1.