Cart0

Guide · 3 min read

0xC004F039 Activation Error: KMS Is Not Enabled

Published

0xC004F039 Activation Error: KMS Is Not Enabled

Short answer: The 0xC004F039 activation error says the Key Management Service is not enabled. The KMS host didn't respond to the client's request. I'd test TCP port 1688 to the host, check the firewalls and confirm KMS runs on the host. On a home PC, replace the volume key.

The 0xC004F039 activation error says the Key Management Service isn’t enabled. A PC asked a company KMS server for activation, and the server gave no proper answer.

Where Fix
Company network Check the path to the KMS host and TCP port 1688, then the service on the host
Company PC at home Connect the VPN and activate again
Home PC Replace the volume key with a retail or OEM key

That wording is misleading. On the client there’s nothing to enable. The trouble sits on the way to the host, or on the host.

What 0xC004F039 stands for

In full, the message reads: “The Software Protection Service reported that the computer could not be activated. The Key Management Service is not enabled.”

Microsoft’s activation error codes reference explains it in one line. The issue occurs when KMS doesn’t respond to a KMS request.

Its solution names the two usual suspects. Troubleshoot the network connection between the KMS host and the client, and make sure no firewall blocks or filters TCP port 1688.

Causes

Cause Detail
Port 1688 blocked A firewall on the host, on the client or between two network segments
The name points to the wrong machine DNS or a manual setting sends the client to a server that isn’t a KMS host
Host key not installed The server was planned as a KMS host, and the KMS host key never went in
Software Protection service stopped on the host The host can’t answer requests
Old host retired Clients still hold its name
Volume key on a home PC The PC asks a server that isn’t yours, or one that doesn’t exist

How to fix the 0xC004F039 activation error

Start on the client, where the checks are quick. Then move to the host.

  1. On the client, open Command Prompt as administrator and run the detailed license line; note the KMS machine name it shows.
  2. Test the connection to that name on port 1688 from PowerShell.
  3. If the test fails, check the firewalls on the client, the host and the network between them.
  4. If the name is wrong, clear the manual host setting or correct the DNS record.
  5. On the host, run the detailed license line and look for the line that says the Key Management Service is enabled.
  6. If it’s missing, install the KMS host key and activate the host.
  7. Back on the client, run the activation line.
slmgr /dlv
Test-NetConnection kms01.contoso.com -Port 1688
slmgr /ckms
slmgr /ato
Line Where What it does
slmgr /dlv Client and host Shows license details, the KMS machine name and, on a host, the KMS status and count
Test-NetConnection with the port Client, in PowerShell Shows whether TCP port 1688 on the host can be reached
slmgr /ckms Client Clears a host name set by hand, back to DNS discovery
slmgr /ato Client Asks for activation
Four steps for the 0xC004F039 activation error: read the KMS host name, test port 1688, check the host's KMS status, activate again
Which host, is the port open, is KMS running there, then activate.

Replace kms01.contoso.com with your own host. A test that ends with “TcpTestSucceeded: True” clears the network.

Network or host

Finding Meaning Next
Port test fails from every client The host’s firewall or the service Open port 1688 on the host; check the Software Protection service
Port test fails from one site only A firewall between the sites Allow TCP 1688 to the host
Port test succeeds, activation fails The machine answers, KMS doesn’t Check that the host key is installed and activated
The name resolves to an old server A stale DNS record Correct or remove the record
Two columns for the 0xC004F039 activation error: signs of a network problem on the way to the KMS host and signs of a problem on the host itself
A closed port is the network. An open port with no KMS behind it is the host.

A host that was never activated has its own number, 0xC004F041. A host that answers but can’t serve this product shows 0xC004F042.

On a home PC

A private PC shouldn’t be talking to a KMS host. If yours shows this code, Windows holds a KMS client key.

Sometimes a tool also wrote a server name into the settings. That’s where the unanswered requests go.

slmgr /ckms
slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr /ato

Clear the name, install a retail or OEM key for the same edition and activate. Windows then deals with Microsoft directly.

Need the key? Ours are genuine and arrive instant to email: Windows 11 Pro and Windows 10 Pro. The Settings route is in how to activate Windows 11.

The KMS codes in order

They follow the path of a request, which makes them useful as a map.

Stage Code
No host found in DNS 0x8007232B, 0x8007251D
No host could be contacted 0xC004F074
The host didn’t respond as KMS 0xC004F039
The host isn’t activated 0xC004F041
The host can’t activate this product 0xC004F042
The host’s count is too low 0xC004F038
The clocks differ too much 0xC004F06C

Codes outside KMS are in our list of Windows 11 activation errors.

Where these steps apply

System Notes
Windows 11 and Windows 10 as KMS clients All client steps
Windows Server as client or host Client steps and the host checks; key types are in our Windows Server 2022 activation guide
Office volume editions Same port and the same idea, with Office’s own licensing script

How volume licenses differ from retail ones is laid out in Retail vs OEM vs Volume license.

Mistakes we see most

  • Looking for something to enable on the client.
  • Testing with ping. The host can answer pings and still block port 1688.
  • Opening the port on the client side only.
  • Leaving a retired host’s name in DNS.
  • Pointing a home PC at a public KMS server.

Terms used on this page

Term Meaning
KMS Key Management Service, activation inside a company network
KMS host The server that answers activation requests
KMS host key The organisation’s key that turns a server into a KMS host
Port 1688 The TCP port KMS listens on by default
Software Protection service The Windows service behind licensing and KMS
KMS client key A public volume key that only works with a KMS host

FAQ

What does error 0xC004F039 mean?

The message says the Key Management Service is not enabled. Microsoft's explanation: KMS doesn't respond to a KMS request. I'd read it as a host that can't be reached properly.

How do I fix 0xC004F039?

Test the connection from the client to the KMS host on TCP port 1688. If it fails, look at the firewalls. If it works, we'd check on the host that KMS is installed and activated.

Which port does KMS need?

TCP port 1688 by default. Microsoft's solution for this code names it directly. The port has to be open on the host's firewall and on any firewall between client and host.

Do I have to enable something on the client?

No. A KMS client needs no service switched on. Despite the wording, the fix is on the network path or on the host. I'd leave the client's services alone.

Why do I see 0xC004F039 on my home PC?

Windows holds a KMS client key and tries to reach a KMS server. At home there isn't one. I'd clear any manual server name and install a retail or OEM key for the same edition.

How is it different from 0xC004F074?

Both come from a host that couldn't serve the request. With 0xC004F074 no host could be contacted at all. Here a request went out and KMS didn't respond to it. We'd check port 1688 in both cases.

Does ping prove the KMS host is reachable?

No. Ping uses another protocol. A host can answer pings while a firewall blocks port 1688. I'd test the port itself from PowerShell.