Docker Desktop fails to start: "WSL installation appears to be corrupted (Error code: Wsl/CallMsi/Install/REGDB_E_CLASSNOTREG)" on Windows 11
21:42 18 Jul 2026

Environment:

  • Windows 11 Home (or Pro) 64-bit

  • Docker Desktop version 4.79.0+

  • WSL 2 enabled

Issue:

I am trying to run Docker Desktop on Windows 11, but the WSL 2 backend fails to start. When I try to run any WSL command (e.g., wsl --set-default-version 2 or simply wsl) in PowerShell, I receive the following error:

wsl: WSL installation appears to be corrupted (Error code: Wsl/CallMsi/Install/REGDB_E_CLASSNOTREG).

Press any key to repair WSL, or CTRL-C to cancel.

What I have tried:

  • Running sfc /scannow – reports no integrity violations.

  • Running wsl --update – fails with the same error.

  • Enabling/disabling "Windows Subsystem for Linux" and "Virtual Machine Platform" via Windows Features and restarting.

  • Uninstalling and reinstalling Docker Desktop.

None of these steps resolved the issue. The Docker Desktop interface shows "Starting..." indefinitely, and docker ps results in a connection error to the Docker daemon.

How can I permanently resolve this REGDB_E_CLASSNOTREG error and get Docker Desktop running with the WSL 2 backend?

Answer (Your Solution):

Root Cause:
The REGDB_E_CLASSNOTREG error indicates that the COM class registration for the WSL kernel driver is missing or corrupted in the Windows Registry. Standard Windows features toggling or sfc /scannow do not repair this specific registration. The only reliable fix is to forcibly re-register the WSL kernel components using the official Microsoft installer package.

The Fix (Step-by-Step):

Follow these steps exactly in the order given:

  1. Enable Required Windows Features

    • Open Control PanelProgramsTurn Windows features on or off.

    • Ensure the following checkboxes are checked:

      • Virtual Machine Platform

      • Windows Hypervisor Platform (Note: Sometimes called "Windows Hyper-V Platform" depending on your build)

      • Windows Subsystem for Linux

    • Click OK and allow Windows to make the changes.

  2. Restart Your Computer

    • A reboot is mandatory for the feature changes to take effect.
  3. Download the Official WSL2 Kernel Update

  4. Install the Kernel Update

    • Double-click the downloaded wsl_update_x64.msi file.

    • Follow the installation wizard (click "Next" through the prompts) to install the update.

    • This step forcibly re-registers the required WSL kernel COM classes in the Windows Registry.

  5. Verify WSL is Responsive

    • Open PowerShell as Administrator.

    • Run the command:

      powershell

      wsl --set-default-version 2
      
    • Expected result: You should see The operation completed successfully. (If you haven't installed a Linux distribution yet, it may also prompt you to install one, but it should not throw the REGDB_E_CLASSNOTREG error).

  6. Install a Linux Distribution (Mandatory for Docker)

    • Open the Microsoft Store.

    • Search for "Ubuntu" (or any WSL distribution like Debian).

    • Click Install and wait for the download to complete.

    • After installation, launch Ubuntu from the Start Menu.

    • Create a UNIX username and password when prompted (e.g., username: rajesh, password: password). Note: This password is only for the Linux subsystem and is independent of your Windows or Docker credentials.

  7. Restart Docker Desktop

    • Quit Docker Desktop completely (right-click the system tray icon → Quit Docker Desktop).

    • Launch Docker Desktop again.

    • Wait for the bottom-left status to change from "Starting..." to "Engine running" (green).

  8. Final Verification

    • Open a Command Prompt or PowerShell and run:

      cmd

      docker ps
      
    • Expected result: A clean table output (empty or showing existing containers) with no error messages.

Why this works:
The .msi installer from the Microsoft/WSL GitHub repository contains the complete kernel and driver registration packages. Unlike the Windows Features toggle (which only enables/disables the capability), the MSI explicitly overwrites the missing COM registry entries that cause the CLASS_E_CLASSNOTREG error. The subsequent installation of a distribution (Ubuntu) finalizes the user-mode environment required by Docker Desktop.

Additional Notes:

  • If you are on Windows 10/11 Home, you must use the WSL 2 backend—there is no Hyper-V fallback. This makes the MSI fix essential.

  • Once fixed, you can proceed to run your database containers (e.g., docker run --name postgres-db ...) without further WSL issues.

docker windows-subsystem-for-linux windows-11 docker-desktop wsl2