Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Class not registered Error code: Wsl/CallMsi/REGDB_E_CLASSNOTREG #11282

Closed
2 tasks done
sreejith988 opened this issue Mar 11, 2024 · 5 comments
Closed
2 tasks done

Class not registered Error code: Wsl/CallMsi/REGDB_E_CLASSNOTREG #11282

sreejith988 opened this issue Mar 11, 2024 · 5 comments

Comments

@sreejith988
Copy link

sreejith988 commented Mar 11, 2024

Windows Version

Microsoft Windows [Version 10.0.22621.3155]

WSL Version

0.0.0.0

Are you using WSL 1 or WSL 2?

  • WSL 2
  • WSL 1

Kernel Version

No response

Distro Version

No response

Other Software

Docker Desktop (Windows)

Repro Steps

in PowerShell execute wsl --status
image

Expected Behavior

it should show the status of the wsl

Actual Behavior

showing error code
Class not registered
Error code: Wsl/CallMsi/REGDB_E_CLASSNOTREG

Diagnostic Logs

PS C:\WINDOWS\system32> & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check
Starting diagnostics

[2024-03-11T09:19:59.069975000Z][com.docker.diagnose.exe.ipc][I] ipc.NewClient: 37fb0117-diagnose -> \.\pipe\dockerBackendApiServer BackendAPI
[2024-03-11T09:19:59.073513900Z][com.docker.diagnose.exe.ipc][I] (f55aecd2) 37fb0117-diagnose C->S BackendAPI POST /idle/make-busy
[2024-03-11T09:19:59.074641100Z][com.docker.diagnose.exe.ipc][W] (f55aecd2) 37fb0117-diagnose C<-S NoResponse POST /idle/make-busy (1.1272ms): Post "http://ipc/idle/make-busy": open \.\pipe\dockerBackendApiServer: The system cannot find the file specified.
[2024-03-11T09:20:00.087939900Z][com.docker.diagnose.exe.ipc][I] (5531b644) 37fb0117-diagnose C->S BackendAPI GET /idle
[2024-03-11T09:20:00.089928300Z][com.docker.diagnose.exe.ipc][W] (5531b644) 37fb0117-diagnose C<-S NoResponse GET /idle (1.9884ms): Get "http://ipc/idle": open \.\pipe\dockerBackendApiServer: The system cannot find the file specified.
[PASS] DD0027: is there available disk space on the host?
[FAIL] DD0028: is there available VM disk space? failed to retrieve the size information from ''
[SKIP] DD0002: does the bootloader have virtualization enabled?
[SKIP] DD0018: does the host support virtualization?
[FAIL] DD0001: is the application running? Docker is not running
[SKIP] DD0022: is the Virtual Machine Platform Windows Feature enabled?
[SKIP] DD0021: is the WSL 2 Windows Feature enabled?
[FAIL] DD0024: is WSL installed? exit status 0xffffffff
[FAIL] DD0025: are WSL distros installed? prereq failed: is WSL installed?
[PASS] DD0026: is the WSL LxssManager service running?
[FAIL] DD0029: is the WSL 2 Linux filesystem corrupt? prereq failed: are WSL distros installed?
[FAIL] DD0035: is the VM time synchronized? prereq failed: is WSL installed?
[FAIL] DD0017: can a VM be started? prereq failed: is WSL installed?
[FAIL] DD0016: is the LinuxKit VM running? prereq failed: is the application running?
[FAIL] DD0011: are the LinuxKit services running? prereq failed: is the LinuxKit VM running?
[FAIL] DD0004: is the Docker engine running? prereq failed: are the LinuxKit services running?
[PASS] DD0015: are the binary symlinks installed?
[FAIL] DD0031: does the Docker API work? prereq failed: is the Docker engine running?
[PASS] DD0013: is the $PATH ok?
[FAIL] DD0003: is the Docker CLI working? prereq failed: is the Docker engine running?
[FAIL] DD0005: is the user in the docker-users group? prereq failed: is the LinuxKit VM running?
[FAIL] DD0038: is the connection to Docker working? prereq failed: is the Docker engine running?
[FAIL] DD0014: are the backend processes running? prereq failed: is the LinuxKit VM running?
[FAIL] DD0007: is the backend responding? prereq failed: are the backend processes running?
[FAIL] DD0009: is the vpnkit API responding? prereq failed: are the backend processes running?
[FAIL] DD0010: is the Docker API proxy responding? prereq failed: are the backend processes running?
[SKIP] DD0006: is the Docker Desktop Service responding?
[FAIL] DD0030: is the image access management authorized? prereq failed: is the Docker engine running?
[PASS] DD0033: does the host have Internet access?
[PASS] DD0002: does the bootloader have virtualization enabled?
[PASS] DD0018: does the host support virtualization?
[WARN] DD0001: is the application running? Docker is not running
[PASS] DD0022: is the Virtual Machine Platform Windows Feature enabled?
[PASS] DD0021: is the WSL 2 Windows Feature enabled?
[WARN] DD0024: is WSL installed? exit status 0xffffffff
[WARN] DD0025: are WSL distros installed? prereq failed: is WSL installed?
[PASS] DD0026: is the WSL LxssManager service running?
[WARN] DD0029: is the WSL 2 Linux filesystem corrupt? prereq failed: are WSL distros installed?
[WARN] DD0035: is the VM time synchronized? prereq failed: is WSL installed?
[WARN] DD0017: can a VM be started? prereq failed: is WSL installed?
[WARN] DD0016: is the LinuxKit VM running? prereq failed: is the application running?
[WARN] DD0011: are the LinuxKit services running? prereq failed: is the LinuxKit VM running?
[WARN] DD0004: is the Docker engine running? prereq failed: are the LinuxKit services running?
[PASS] DD0015: are the binary symlinks installed?
[WARN] DD0031: does the Docker API work? prereq failed: is the Docker engine running?
[WARN] DD0032: do Docker networks overlap with host IPs? prereq failed: does the Docker API work?

Please note the following 17 warnings:

1 : The check: is the application running?
Produced the following warning: Docker is not running

Is the Docker Desktop application running?

**2 : The check: is WSL installed?
Produced the following warning: exit status 0xffffffff

The Docker engine runs inside a WSL environment. Therefore WSL must be installed. Try running wsl --status.

3 : The check: is WSL installed?
Produced the following warning: exit status 0xffffffff

The Docker engine runs inside a WSL environment. Therefore WSL must be installed. Try running wsl --status.

4 : The check: are WSL distros installed?
Produced the following warning: prereq failed: is WSL installed?

The Docker engine uses several WSL distributions. Therefore these must be installed.

5 : The check: is WSL installed?
Produced the following warning: exit status 0xffffffff

The Docker engine runs inside a WSL environment. Therefore WSL must be installed. Try running wsl --status.

6 : The check: are WSL distros installed?
Produced the following warning: prereq failed: is WSL installed?

The Docker engine uses several WSL distributions. Therefore these must be installed.

7 : The check: is the WSL 2 Linux filesystem corrupt?
Produced the following warning: prereq failed: are WSL distros installed?

If the WSL 2 Linux filesystem is corrupt then Docker Desktop cannot start.
There is a known issue fixed in Windows Insider builds which can cause filesystem corruption, see:
#5895 .

Try running "wsl --shutdown" to stop your WSL Virtual Machine. When it restarts it will
run a filesystem check and hopefully fix the problem.

8 : The check: is WSL installed?
Produced the following warning: exit status 0xffffffff

The Docker engine runs inside a WSL environment. Therefore WSL must be installed. Try running wsl --status.

9 : The check: is WSL installed?
Produced the following warning: exit status 0xffffffff

**The Docker engine runs inside a WSL environment. Therefore WSL must be installed. Try running wsl --status.

10 : The check: are WSL distros installed?
Produced the following warning: prereq failed: is WSL installed?**

**The Docker engine uses several WSL distributions. Therefore these must be installed.

11 : The check: is the VM time synchronized?
Produced the following warning: prereq failed: is WSL installed?**

**The VM time must be in sync with the host, otherwise Docker Desktop will not work correctly.

Ensure you are using a modern WSL 2 kernel (see "wsl --update"). If this problem persists,
try manually synchronizing the VM clock with "sudo hwclock -s".

12 : The check: can a VM be started?
Produced the following warning: prereq failed: is WSL installed?**

The Docker engine runs inside a Linux VM. Therefore we must be able to start Virtual Machines.

13 : The check: is the LinuxKit VM running?
Produced the following warning: prereq failed: is the application running?

The Docker engine runs inside a Linux VM. Therefore the VM must be running.

14 : The check: are the LinuxKit services running?
Produced the following warning: prereq failed: is the LinuxKit VM running?

The Docker engine runs inside a Linux VM as a service. Therefore the services must have started.

15 : The check: is the Docker engine running?
Produced the following warning: prereq failed: are the LinuxKit services running?

The Docker engine manages all containers and images on the host. Check the dockerd.log to see why it failed to start.

16 : The check: does the Docker API work?
Produced the following warning: prereq failed: is the Docker engine running?

If the Docker API is not available from the host then Docker Desktop will not work correctly.

17 : The check: do Docker networks overlap with host IPs?
Produced the following warning: prereq failed: does the Docker API work?

If the subnet used by a Docker network overlaps with an IP used by the host, then containers
won't be able to contact the overlapping IP addresses.

Try configuring the IP address range used by networks: in your docker-compose.yml.
See https://docs.docker.com/compose/compose-file/compose-file-v2/#ipv4_address-ipv6_address

Please investigate the following 3 issues:

1 : The test: is there available VM disk space?
Failed with: failed to retrieve the size information from ''

Verify the available VM disk space. Try running docker system prune to clean up.

2 : The test: is WSL installed?
Failed with: exit status 0xffffffff

The Docker engine runs inside a WSL environment. Therefore WSL must be installed. Try running wsl --status.**

Copy link

Hi I'm an AI powered bot that finds similar issues based off the issue title.

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!

Open similar issues:

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

@vadimkantorov
Copy link

Also stumbled on this (WSLv1):
image

@ghost
Copy link

ghost commented Mar 19, 2024

Are you hitting an old bug, see: #10882 (comment) ?

If not then We need /logs

Copy link
Contributor

Hello! Could you please provide more logs to help us better diagnose your issue?

To collect WSL logs, download and execute collect-wsl-logs.ps1 in an administrative powershell prompt:

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1
Set-ExecutionPolicy Bypass -Scope Process -Force
.\collect-wsl-logs.ps1

The scipt will output the path of the log file once done.

Once completed please upload the output files to this Github issue.

Click here for more info on logging

If you choose to email these logs instead of attaching to the bug, please send them to wsl-gh-logs@microsoft.com with the number of the github issue in the subject, and in the message a link to your comment in the github issue.

Thank you!

@OneBlue
Copy link
Collaborator

OneBlue commented Mar 22, 2024

Fixed in 2.2.1

@OneBlue OneBlue closed this as completed Mar 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants