Fix it now
Both codes say the key was refused, in two different places. 0xC004F050 is the local licensing service reporting an invalid product key before any network traffic. 0xC004C001 is Microsoft’s activation server reporting the same thing after the request arrived. Which one you have decides whether to check your typing or your supplier.
cscript //nologo %windir%\system32\slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
cscript //nologo %windir%\system32\slmgr.vbs /ato
cscript //nologo %windir%\system32\slmgr.vbs /dli
- Type the key rather than pasting it. Microsoft names em dashes substituted for hyphens as a documented cause of 0xC004F050, and that substitution is invisible in most mail clients.
- Check the edition you are running with
winverand compare it with what the key was sold as. - If the
/ipkline fails, the key never left the machine. You are looking at a format, product or edition problem you can fix. - If
/ipksucceeds and/atothen returns a 0xC004C code, the request reached Microsoft and was refused there. Stop retrying and read the next section.
Do not run slmgr /upk to clear the old key first. It leaves the machine Unlicensed after the next restart, and if the new key turns out to be wrong you have made the problem worse rather than better.
If the key installs and activates, you can stop here. If not, the next section explains which of the two rejections you have and what each one rules out.
Why it happens
A Windows product key is not a random string. It encodes the product and channel it belongs to and carries enough internal structure for a mistyped key to be caught without asking Microsoft anything. That local check is what produces 0xC004F050: Microsoft documents it as the Software Protection Service reporting the product key is invalid, and gives three causes – a typo, a key for a pre-release build used on a released one, and em dashes substituted for the hyphens when the key was copied out of a document.
0xC004C001 comes from the other end of the exchange. Microsoft documents it as the activation server determining that the specified product key is invalid. The key passed the local structure check, was sent, and was refused. That rules out an entire class of fixes at once: nothing you do to the local licence store, the token cache or the network configuration alters a decision made on Microsoft’s side.
0xC004E016 is the companion code that catches people, because it looks like a server code and is not one. Microsoft documents it as the Software Licensing Service reporting the product key is invalid, and its consumer list gives it as a key for a different version or edition of Windows. It is a local mismatch you can correct, and treating it as a refusal from Microsoft sends you back to your supplier over something that was never their fault.
0x803FA065, 0xC004C801 and 0xC004C802 are not published. What can be said about 0x803FA065 is that it behaves as a server-side refusal in the 0xC004C001 class, so retyping the key will not move it; the two 0xC004C8 codes appear during the licensing exchange and are diagnosed the same way.
The key is mistyped, or carries characters that were never in it
You have this one if The failure is instant, with no pause for a network round trip, and the key was copied out of an email, a PDF or a ticket.
- Type the key by hand at an elevated prompt with
cscript //nologo %windir%\system32\slmgr.vbs /ipk, rather than pasting into the Settings dialog. - Watch for the substitutions Microsoft names: em dashes in place of the hyphens is the documented one. Capital O for zero and lowercase l for one are the two that follow.
- Retry activation with
/atoonce the key installs without an error.
If the key seems to contain an ambiguous character, you have almost certainly misread it rather than been sent a broken one.
The key is for a different edition from the one installed
You have this one if The key will not install at all, the invoice looks entirely legitimate, and winver shows an edition you did not expect.
- Run
winverand note the exact edition, then compare it with what the key was sold as. - Pro key on a Home installation: enter it at
Settings > System > Activation > Change product key. Microsoft documents Home to Pro as supported by product key or the Microsoft Store. - Home key on a Pro installation: Microsoft documents no in-place downgrade for that pair, so it means a clean installation of the Home SKU.
An edition change upward rewrites system components. Back up anything you cannot afford to lose before you start.
The key belongs to a different product entirely
You have this one if A key that has worked before is refused here, and it came from an Office, Windows Server, ESU or multi-product bundle.
- Read the invoice or licence statement and confirm the product name, not just the version number.
- Compare it with the channel description reported by
slmgr /dlion this machine.
0xC004E016 is the code most often seen here, including when an ESU key is installed on a machine that is missing the licensing preparation update. Microsoft’s fix for that case is the update, not a new key.
Microsoft refused the key server-side
You have this one if /ipk succeeds cleanly and /ato returns 0xC004C001 or another 0xC004C code, often on a key bought unusually cheaply.
- Confirm the refusal is consistent by trying once from a different network, to rule out an intercepting proxy.
- Then stop retrying. Repeated attempts against a refused key add a second, unrelated failure on top of the first.
- Ask the seller for the licence documentation that goes with the key. A legitimate supply chain produces one.
- If nothing can be produced, treat the key as spent and replace it.
Full reference
Reading the two rejections apart
| What you observe | Where the decision was made | What that rules out |
|---|---|---|
/ipk itself fails |
On this machine, before anything was sent | Nothing about the seller or the entitlement |
/ipk succeeds, /ato returns 0xC004C001 |
At Microsoft | Every local repair, reinstall and store rebuild |
/ipk succeeds, /ato returns a connection error |
Neither – the request never arrived | The key itself; fix the network first |
| A different key installs and activates here | This machine and its network are healthy | The machine as a suspect |
| The same key fails on a second machine too | The key, not either machine | Hardware and local configuration |
Where the key came from usually explains the code
| Origin of the key | Typical outcome |
|---|---|
| A retail key bought for the wrong edition | Local refusal on install; the key is real but not for this SKU |
| A key copied out of an email or PDF | Local refusal caused by a substituted dash, a space or a line break |
| An ESU or add-on key on an unprepared machine | 0xC004E016 on install, cleared by the licensing preparation update |
| A key sold far below the market price | A 0xC004C code at the server, with no entitlement behind it |
| A volume key on a retail installation | Refusal at one stage or the other, since the channel does not match |
Why cscript matters here
slmgr is a script, and run bare it reports through the default Windows script host – which means a pop-up dialog you cannot copy text out of. Microsoft’s own edition-upgrade documentation invokes it as cscript.exe c:\windows\system32\slmgr.vbs /ipk <key>. Use that form for anything where you need to read the code rather than just see that something failed. It is the difference between diagnosing this error and guessing at it.
What not to do while you are working through this
- Do not run
slmgr /upkspeculatively. Microsoft documents that the system enters the Unlicensed state after the next restart, and a machine sitting in a grace period loses that state. - Do not reinstall Windows to clear a server-side refusal. The refusal is not stored on your computer, so a clean installation presents the same key and receives the same answer.
- Do not retry a refused key repeatedly. It achieves nothing and can add a second failure that confuses the diagnosis.
- Do not assume a cheap key is fake because it failed locally. A local failure is usually an edition or channel mismatch, and those are fixable.
- Do not change the edition before you have read
slmgr /dli. Half the edition changes performed in response to this error were not needed.
If the key is genuinely refused at the server
At that point the useful question is what documentation exists behind the key. A supply chain that can produce an invoice naming the product and the licence type can also escalate a refusal. One that cannot, usually cannot. That is the practical difference between the two ways of buying a Windows licence, and it only becomes visible on the day something goes wrong.
When a licence is the actual fix
If the key installs cleanly and Microsoft then refuses it, the honest reading is that no entitlement exists behind it. That is the usual ending for keys resold out of volume agreements, for keys attached to a transaction that was later reversed, and for keys sold to more than one buyer. There is nothing left to repair locally. Arco supplies genuine Windows 11 Pro retail keys with the paperwork that goes with them, and will check which edition and channel your installation is running before you buy, so the key matches the SKU already on the disk. If your failure is the local one, tell us the code – that is usually free to fix and we will say so.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
0xC004F050 |
The Software Protection Service reports the product key is invalid. Documented causes: a typo, a pre-release key on a released build, and em dashes substituted for hyphens when the key was pasted | Microsoft Learn |
0x803FA065 |
A refusal reported by the Settings activation client. Microsoft publishes no meaning; it behaves as a server-side refusal in the 0xC004C001 class, so retyping the key will not move it | not published by the vendor |
0xC004C001 |
The activation server determined the specified product key is invalid | Microsoft Learn |
0xC004E016 |
The Software Licensing Service reports the product key is invalid – a local refusal. Microsoft’s consumer list gives it as a key for a different version or edition of Windows, and its ESU guidance gives it for a key installed without the licensing preparation update | Microsoft Learn and Microsoft Support |
0xC004C801 |
Raised during the licensing exchange with Microsoft. No published meaning; diagnose it as a server-side refusal once you have proved the request is reaching them | not published by the vendor |
0xC004C802 |
Appears in the same part of the exchange as 0xC004C801 and is diagnosed the same way. No published meaning | not published by the vendor |
Confirm the fix worked
slmgr /dlinames the edition and channel you expect.- Licence Status reads Licensed rather than Notification or Unlicensed.
- The last five characters of the partial key shown match the key you meant to install.
Settings > System > Activationreports Windows as active.- Reboot once and re-check, since a key applied but not committed reverts on restart.
Questions people ask about this
How do I tell a typo from a dead key?
Run slmgr /ipk under cscript from an elevated prompt. If that command itself fails, the key never left your machine and the fault is local – typically format, product or edition. If it succeeds and slmgr /ato then fails, the key reached Microsoft and was refused there.
Why does 0xC004E016 keep being described as a server error?
Because it looks like one. It is not. Microsoft documents it as a Software Licensing Service result, which is the local service, and gives it for a key belonging to a different version or edition, and for an ESU key installed before the licensing preparation update. Both of those you can fix yourself.
Can a key be genuine and still be rejected?
Yes, in two different ways. Genuine but for a different edition, product or channel fails locally and is usually fixable. Genuine but with no entitlement left behind it fails at the server and usually is not.
Is a very cheap key illegal to use?
Not automatically, but you carry the risk. Keys resold outside the terms they were issued under and keys bought with reversed payments are commonly refused later, and a business using one has no defensible position in an audit. A supplier that issues an invoice naming the product and licence type is the only way to be sure.
Will a clean install make the key work?
Only if the current installation is the wrong edition or channel. If Microsoft refused the key at the server, a clean install presents exactly the same key and receives exactly the same refusal.
