Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

Removal tool to fix .NET Framework install failures

Removal tool to fix .NET Framework install failures

Rate This

I wrote an application late last year that is designed to clean up computers that have problems getting the .NET Framework 1.0 or 1.1 to install correctly.  I have been working on refining the tool for the past couple of months, working out some bugs, adding additional cleanup features, etc.  The .NET Framework setup Product Support team has been using this cleanup tool for the past few months to help resolve many cases, and the internal Microsoft helpdesk has also started using it to solve internal cases where employees cannot get .NET Framework service packs or hotfixes to install correctly.  I have also been sending this tool out to individuals who email me via my blog and ask for help resolving setup problems - most commonly this is because of issues installing .NET Framework service packs or hotfixes such as MS05-004.

Since I have been seeing really good success rates for using this cleanup tool and it has proven to speed up the process of resolving issues so customers can get the .NET Framework installed correctly and start using managed code on their computers, I decided to try to get a KB article written up with a copy of the tool that customers could download on their own without needing to contact me directly or call our PSS team.  The KB publishing process can sometimes take a while with technical reviews and things like that, so in the meantime I am going to post a link to the tool here on my blog.

You can download the tool by visiting the .NET Framework Cleanup Tool User's Guide and using one of the download links listed there.

There are a couple of very important caveats that you should read before using this tool to cleanup .NET Framework bits on your machine:

  1. You should try to perform a standard uninstall first.  This tool is not designed as a replacement for uninstall, but rather as a last resort for cases where uninstall or repair did not succeed for unusual reasons.
  2. This cleanup tool will delete shared files and registry keys used by other versions of the .NET Framework.  So if you use it, be prepared to repair or reinstall any other versions of the .NET Framework that are on your computer to get them to work correctly afterwards

The tool itself has been fairly well tested, but I'm sure it is still not perfect.  I'm still in the process of fixing bugs as I find them and adding features to make it more effective at cleaning up known issues and to make it more intelligent about identifying root causes so we can fix the underlying bugs in .NET Framework setup for future releases.  As I update it, I will post updates to my blogs and update the copy of the tool located at the link above.

I hope this tool will be helpful in resolving problems installing the .NET Framework.  Please let me know if you run into any issues while using the cleanup tool or if you are still unable to install the .NET Framework (or any service packs or hotfixes) after running it.

<update date="3/3/2009"> Added a link to the .NET Framework Cleanup Tool User's Guide, which contains the most up-to-date download location for this tool. <update>


  • Are there any removal tools for help with the removeal of .net 2.0 beta components? I've seem to come across a problem with removing SQL '05 Express Beta and now i can't get it reinstalled.
  • You should consider using an extension for the EXE that at least defaults (both on the server and in clients) to a binary MIME type, so that if a user simply clicks on it they will be prompted to download it. You could use a real extension like .zip (and zipping the EXE would reduce size) or (if WinISP supports it, and I honestly don't know it if will) .bin (which typically defaults to "application/octet-stream" for unknown and/or unmapped extensions).
  • Mike - we are actually in the process of getting a version of this tool ready for the Whidbey .NET Framework also. There are a couple of fixes I need to make to fully enable this for all of the beta and community tech preview versions of the .NET Framework 2.0 that are out in the wild. Stay tuned, I'll post an update to my blog when I have something ready to try out.

    Heath - thanks for the posting suggestions. I could've sworn I had tried to upload a ZIP file to the WinISP site and it failed in the past. But I just tried again and it worked. So I'm going to update the text of this blog item to reflect the new link.
  • In response to the blog article I posted last week where I provided a link to a .NET Framework manual...
  • Hey all, I'm sorry for the delay posting this.&amp;nbsp; I've got a version of the cleanup tool that I wrote...
  • Ok. After ACTUALLY sleeping for a few hours, I've so much information and news to catch up. First up....
  • Thanks so much for your hard work and sharing your cleanup tool. You have just released me from a world of pain.
  • This tool is a lifesaver!! Thank you! I was getting an error that it could not open %temp%\e1877.msi
  • Thanks, man! I was totally screwed without this tool.
  • RePost:
  • Thanks for having a go. I ran this but still can't install .net 1.1 via dotnetfx.exe on xp pro. I have tried all other MS and your suggestions but to no avail. Looking at the MSI .log it fails at Registering System.EnterpriseServices.dll:
    MSI (s) (30:A0) [13:24:36:046]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI32.tmp, Entrypoint: _QuietExec@4
    CA_ComregEnterpriseServices.3643236F_FC70_11D3_A536_0090278A1BB8: Executing: ERROR: Process returned non-0 value! CMDLINE: "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\RegSvcs.exe" /bootstrapi
    CA_ComregEnterpriseServices.3643236F_FC70_11D3_A536_0090278A1BB8: Executing: Failed
    Action ended 13:24:40: InstallFinalize. Return value 3.

    Any ideas?Cheers
  • Hi Dave, we have gotten a lot of reports of .NET Framework installation errors where the failure occurs when trying to register System.EnterpriseServices.dll. Unfortunately we have not found a consistent root cause for this. In a lot of cases running my cleanup tool will help, but in many others it will not.

    The tricky part here is that registering this DLL is the first time that the underlying CLR is used to run managed code, and so if any part of the CLR is not working then this action will fail. But there are many possible causes for the CLR to not be working when it is being installed.

    I am working on a blog post describing how to gather debugging information from this action during setup to aid us in figuring out the root cause. I will post a link to it once I get my steps tested and posted on my blog....sorry for the delay.
  • I am having problems installing .net Framework 2.0 on an XP pro machine, this error keeps comming up:
    Error 25015.Failed to install assembly
    'C:\Windows\Microsoft.NET\Framework\v2.0.50215\Microsoft.VisualBasic.Vsa.dll' because of system error: Access is denied.

    Any ideas on what can be causing this, the installer works fine on other machines but this one seems to fail (ofcourse its the machine i need it on). Any help is greately appreciated!
  • Hi Dmitry,

    This error sounds like it could be a permission issue for the global assembly cache. Can you please try the following:

    1. Open the %systemdrive% folder (normally this is c:\) in Windows Explorer
    2. Right-click on the Windows folder and choose Sharing and Security
    3. Choose the Security tab
    4. Click the Advanced button
    5. Make sure that Users are listed as having Read & Execute permissions, Administrators have Full Control and SYSTEM has Funn Control
    6. Check the box that says "Replace permission entries on all child objects with entries shown here that apply to child objects"
    7. Click the OK button
    8. Try to install .NET Framework 2.0 again

    If that does not work, can you please try the following:

    1. Download the Filemon utility from http://www.sysinternals.com/Utilities/Filemon.html and install it
    2. Launch Filemon and press CTRL + L to launch the filter dialog
    3. Check the box to log writes and choose to include msiexec.exe and fusion.dll
    4. While Filemon is running run .NET Framework 2.0 setup and wait for it to fail
    5. Copy and paste the error messages with access denied as the error type and send them to me via email so we can see if we can figure out the root cause
Page 1 of 19 (280 items) 12345»
Leave a Comment
  • Please add 6 and 2 and type the answer here:
  • Post