Upgrading to Windows 10 fails with error code 80240020

Today, Windows 10 was finally available on my laptop. I started the upgrade process but after a couple of minutes it said it had failed due to error code 80240020—whatever that means.

I was browsing the Internet and discovered a couple of things you can do to solve this issue. I thought it might be useful to summarize all tips I found for anyone else in the same situation.

By the way, you may also read the corresponding thread on the Microsoft Community website, but at the time of writing this blog post the thread is 58 pages long! You might be better off with one of the following options. 😉

Option #1: Delete downloaded files and try again

The first tip I found was to delete all downloaded files and try again. It seems sometimes the Windows 10 setup files are corrupt. You can delete them and force downloading them again on the command line. Here is what you need to do:

  1. Open your Windows Explorer
  2. Go to C:\Windows\SoftwareDistribution\Download
  3. Delete all files in this folder. Don’t be afraid, these are just temporary files that you can delete safely. Windows will download them again if necessary.
    Heads up: You might have to kill the process WindowsUpdateBox.exe in your task manager if the files are still in use and cannot be deleted.
Windows Explorer

After this, you have to force starting the update process on the command line:

  1. Launch your command line as administrator. In order to do this, open your start menu (Windows 7) or your start screen (Windows 8) and type cmd. Right-click the Command prompt item and select Run as administrator.
  2. Enter wuauclt.exe /updatenow.
Command Prompt

If you now go to your control panel and select Windows Update, you should be able to to see that Windows 10 is being downloaded.

Option #2: Set secret registry key to enable Windows 10 upgrade

I tried option #1 but it still failed. Windows was being downloaded, but when it reached 100%, I still got the same error code 80240020. I finally found another tip that actually solved the problem for me.

  1. Press Win+R to open the Run dialog. Type regedit and press Enter to start the Registry Editor.
  2. Go to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade
    (If the key does not exist create it)
  3. Right-click the blank area in the right pane and select New/DWORD Value.
  4. Enter AllowOSUpgrade and press Enter.
  5. Double click the new item and set its value to 1.
  6. Open your control panel and check for updates.
Registry editor

Windows 10 upgrade should start immediately. At least, it worked in my case. You might have to restart your computer if the update does not start right away.

Option #3: Use the Windows download tool

I haven’t tested this option myself but many users have reported that it has worked for them quite well. Just download the media creation tool provided by Microsoft and follow the instructions.


The tool will create a bootable USB drive or DVD from which you can install Windows.

Remember: I haven’t tested this option myself, so please use it on your own risk and do not blame me if anything goes wrong.

Option #4: Just wait

Yes. Just wait.

According to some people from the Microsoft Community website, it’s a viable solution to just be patient and wait a little bit longer (maybe a couple of days more). The problem might go away by itself. I cannot explain how this is supposed to happen but maybe Microsoft will issue a patch to fix the upgrade process or the secret registry key from option #2 is set automatically after some time. The latter is more likely in my opinion. But I was just too impatient 🤓


I hope these tips are useful for you. A quick comment below would be appreciated. If you solved the issue in any other way, please let us know.

Have fun with your new Windows!

Profile image of Michel Krämer

Posted by Michel Krämer
on 15 August 2015

Next post

gradle-download-task 2.0.0

The popular Gradle plugin now supports lazy source and destination properties. You can also configure it to ignore certificate errors, and it provides a new verify task. The plugin uses semantic versioning from now on.

Previous post

bson4jackson 2.5 has just been released!

In bson4jackson 2.5, I’ve added support for Jackson 2.5. Besides other small changes, I was also able to improve the library’s performance. Thanks again to the community for the help.

Related posts

10 recipes for gradle-download-task

gradle-download-task is a Gradle plugin that allows you to download files during the build process. This post summarizes common patterns and use cases of gradle-download-task and provides useful tips and tricks.

Steep 5.7.0

I’ve just released a new version of my scientific workflow management system Steep. It introduces live process chain logs, improved VM management, and many other new features. This post summarises all changes.

Command line tool for citations and bibliographies

Version 0.6 of citeproc-java introduces a command line tool that can be used to generate citations and bibliographies without setting up a complete development environment.