Skip to main content

Fix Windows Activation failed due to Software Protection Service error code 0xc0000022

 With Windows Activation, the fun never ends!

Recently when I was working on a windows 2016 server activation. Instead of activation of windows. 

Instead, I got error code 0xc0000022, and the perfectly valid built-in OEM key would not re-activate the same Windows on the same hardware – no matter what I did.

It turns out the culprit was an ‘access denied‘ error in the Software Protection service…

The error 0xc0000022 means that the Software Protection Service (SPS) wouldn’t start.

If you’re having a similar activation error – especially with resetting an OEM version of Win 2016 on your server – then the first thing to do is verify that the SPS is the culprit.

Check the SPS

First, click Start (the windows logo button on the taskbar).

Type: services

Click the Services app icon.

Next, scroll down and find Software Protection, and double-click it to view the settings:


Make sure that Startup type is set to Automatic (Delayed Start). Then, click the Start button…

If you see this:


Congratulations! The problem is that the Software Protection service can’t start… which you probably figured out since you just tried to start it.

What is SPS?

The Software Protection service is a Windows component that verifies the authenticity of software you try to install. It also checks and activates your copy of Windows. Aha!

If the SPS can’t run, you will get an error message saying that you can’t activate Windows – but there’s absolutely nothing wrong with your product key!

Before you go calling Microsoft and swearing a lot, try this:

Fix it Good!

First, open (file) Explorer, click the View tab, and check the Hidden items checkbox in order to see all the files/folders on your computer.

Then, navigate to:

C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft

You may have to confirm your admin access to several of these folders. You should then see this:


Right-click in the blank space, choose New -> Folder, and call the new folder: SoftwareProtectionPlatform

Next, click Start, type command, and run Command Prompt as an administrator.

Paste this command in and press the Enter key to run it:

1
icacls %windir%\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform /grant "BUILTIN\Administrators:(OI)(CI)(F)" "NT AUTHORITY\SYSTEM:(OI)(CI)(F)" "NT Service\sppsvc:(OI)(CI)(R,W,D)" "NETWORK SERVICE:(OI)(CI)(F)"

Almost done!

Next, click Start and type: regedit

Run the Registry Editor app.

In the left column, navigate to:

HKEY_LOCAL_MACHINE\SYSTEM\WPA

Right-click on WPA, and choose Permissions…


Click the Add… button. Then, type Network Service in the white box, click the Check Names button, and then click OK:


Finally, select NETWORK SERVICE back in the Permissions for WPA window, check all the boxes for Allow, and then click OK:




Okeydokey!

Rinse and Repeat

Now repeat the above procedure, but this time instead of WPA, you’re looking for:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform

Once done assigning new permissions to SoftwareProtectionPlatform this time, close the Registry Editor and Explorer.

Back in Services, try once again to Start the Software Protection Service as described in the beginning of this article…

You should find that it starts now. WOOHOO!

Go back and try to Activate Windows, and it should work just fine!!



Comments