Fix it now
The remaining rearm count on this installation has reached zero, so slmgr /rearm will not reset the licensing timers again. Microsoft publishes no meaning for 0xC004D307, but the count itself is readable on the machine and settles it. Once it is zero, the only route that ends the countdown is activating with a key you hold.
cscript //nologo %windir%\system32\slmgr.vbs /dlv
cscript //nologo %windir%\system32\slmgr.vbs /xpr
- Find the remaining rearm count line in the
/dlvoutput. If it reads zero, no command raises it and nothing on this page will. - Check whether a rearm was even the right idea: if a valid key is already installed, run
slmgr /atoinstead and troubleshoot whatever code that returns. - If the rearm appeared to do nothing rather than fail, check
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\SkipRearm. Microsoft documents that/rearmdoes nothing when that value is 1. - Install the key you are entitled to and activate:
cscript //nologo %windir%\system32\slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX, then/ato.
A clean installation resets the counter, but it also erases the system drive. That is a real option for a lab machine and a poor one for anything with data on it.
If the machine activates, you can stop here. If you want to know where the rearms went, or you are hitting this while building an image, the next section is the useful part.
Why it happens
A rearm resets the licensing timers so an unactivated installation gets its grace period back. It exists for deployment: when an administrator builds a reference image, installs software and tests it, the clock is quietly running down, and a rearm ships the image to users with a full period rather than the remains of one. It was never a licensing mechanism, and the count is capped and held where the operating system protects it.
Microsoft does not publish a meaning for 0xC004D307, or for the three companion codes in this record. What it does publish is the thing that actually settles the question: the detailed licence output carries a remaining rearm count, and slmgr /rearm is documented as resetting the activation timers. Read the count. A zero there is worth more than any code, and it is the one number in this article that cannot be argued with.
There is a second reason a rearm appears to fail that has nothing to do with the count, and it is easy to miss. Microsoft documents that slmgr /rearm does nothing at all if the registry value SkipRearm under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform is set to 1. On a machine built from someone else’s image that value may well be sitting there, and the symptom is a rearm that returns without changing anything.
The installation was rearmed instead of being activated
You have this one if The remaining rearm count in slmgr /dlv is zero and the machine has never held a valid key.
- Accept that the grace period is finished. There is no supported way to extend it further.
- Install a key you hold a licence for:
cscript //nologo %windir%\system32\slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX. - Activate with
/atoand confirm with/dli.
Windows in notification mode keeps running. You lose personalisation settings and gain a watermark, but files, applications and updates continue to work, so this is not an emergency.
SkipRearm is set, so the rearm silently did nothing
You have this one if slmgr /rearm returns without an error but the timers are unchanged, and the machine was built from an image somebody else prepared.
- Read
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\SkipRearm. - If it is 1, that is the documented reason the command had no effect.
- Decide on the activation route properly rather than rearming again – with a retail or volume key, Microsoft’s guidance is that you do not need SkipRearm at all.
You are rearming a machine that does not need it
You have this one if The machine already holds a valid key and only needs to re-establish activation.
- Check the real state first:
slmgr /dliandslmgr /xpr. - If a key is present, retry activation with
slmgr /atorather than rearming. - If activation fails with a different code, troubleshoot that code. Rearming will not help and spends a count you may want later.
The licensing state has been damaged
You have this one if Other codes in the 0xC004D3 range appear alongside, or the machine was previously activated by an unofficial tool.
- Repair system files:
sfc /scannow, thenDISM /Online /Cleanup-Image /RestoreHealth. - Reinstall the system licence files:
slmgr /rilc. Microsoft documents this as reinstalling the licences from the system folders, and it leaves your product key alone. - Reboot, install a genuine key and activate.
- If the machine was activated by a third-party tool, treat a rebuild as the safer option; those tools leave services and scheduled tasks behind.
Full reference
The sysprep story, corrected
Guidance written for Windows 7 says that generalising an image consumes a rearm, that you only get three, and that the fix is the SkipRearm setting in the answer file. That was true then and it is not the situation now. Microsoft documents a Sysprep count limit of 1001 on Windows 8.1 and Windows Server 2012 and later – it was 3 on Windows 7 and Windows Server 2008 R2 – and after 1001 runs you must recreate the image. On the same page it describes SkipRearm as something you used in previous versions of Windows to reset the activation clock when running Sysprep, and adds that if you are using a volume licensing key or a retail product key you do not have to use it, because Windows activates automatically.
| Operating system | Documented Sysprep count limit |
|---|---|
| Windows 8.1 and Windows Server 2012 or later | 1001 |
| Windows 7 and Windows Server 2008 R2 | 3 |
| Windows Server 2008 | 3 |
The practical consequence for anyone building images today: if your reference image has run out of something, check which counter you have actually exhausted before you rebuild. A Sysprep count and a rearm count are different numbers with different limits, and advice written for the old ones is still circulating widely.
Reading the licensing timers
| Command | What it tells you | Needs elevation |
|---|---|---|
slmgr /dlv |
Full detail, including the remaining rearm count | No |
slmgr /xpr |
Whether activation is permanent, or the date the current period ends | No |
slmgr /dli |
Edition, channel and licence status | No |
slmgr /rearm |
Resets the activation timers. Does nothing if SkipRearm is 1 | Yes |
slmgr /rilc |
Reinstalls the system licence files. Leaves the product key in place | Yes |
slmgr /ipk <key> |
Installs a product key | Yes |
Microsoft documents the registry value that disables rearm as SkipRearm under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform. That is the only condition Microsoft states under which slmgr /rearm silently does nothing, and it is worth checking before concluding the count is exhausted.
Activating a machine with no route to Microsoft
Older guidance for an isolated machine said to run slui 4 and telephone the activation centre. Microsoft’s current offline activation page says that if you are shown a telephone number you should not call it. The installation ID and confirmation ID exchange still works, but the confirmation ID now comes from the product activation portal at aka.ms/WindowsActivate.
- Get the installation ID with
slmgr /dti, or from the option on the activation page that displays it. - Submit it at aka.ms/WindowsActivate and take the confirmation ID returned.
- Finish with
slmgr /atp <ConfirmationID>and confirm usingslmgr /dli.
What is not worth trying
- Registry edits circulated for resetting the rearm counter. The count lives in the protected store, and the values people share either do nothing or leave the licensing service broken.
- Repeated rearms in the hope that one takes. If the count is zero it stays zero.
- Reinstalling Windows purely to reset the counter on a machine that holds data. It works, and it is a poor trade against the price of a licence.
- Assuming an in-place upgrade restores the licensing state. Nothing Microsoft publishes says it does, so do not plan around it.
- Chasing the companion codes. None of 0xC004D301, 0xC004D302 or 0xC004D303 has a published meaning, and the rearm count answers the question they are being asked to answer.
When a licence is the actual fix
Rearming was never a licence, and running out of rearms is simply the point at which that becomes visible. There is no registry value, tool or supported trick that adds one back to an installation that has spent them all, and activating properly is the only thing that removes the countdown rather than postponing it. Arco supplies Windows 11 Pro retail keys and will confirm which edition your installation is running first, so the key activates the machine you already have rather than requiring a rebuild. If slmgr /dlv shows a key already installed, say so – that machine probably needs a different fix and not a purchase.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
0xC004D307 |
Seen when a rearm is attempted on an installation with no rearms left. Microsoft publishes no meaning; the remaining rearm count in the slmgr /dlv output is the reliable test |
not published by the vendor |
0xC004D302 |
Reported by the protected licensing store when its state is not what the licensing service expected. No published meaning | not published by the vendor |
0xC004D303 |
A store fault in the same range, usually alongside a damaged or replaced licensing state. No published meaning | not published by the vendor |
0xC004D301 |
Raised by the same layer when the protected store is not in a usable state. No published meaning | not published by the vendor |
Confirm the fix worked
slmgr /dlireports Licence Status: Licensed.slmgr /xprreports permanent activation rather than a remaining period.- The personalisation options in Settings are no longer greyed out.
- Reboot and re-check, so you know the state was committed rather than held in memory.
Questions people ask about this
Can I reset the rearm count?
Not on a running installation. The count lives in the protected store that the licensing service guards, and the registry edits circulated for this either do nothing or leave the service broken. A clean installation resets it, which is the only route that works.
How many rearms does Windows allow?
Microsoft does not publish a rearm limit for current Windows in its activation documentation, so treat any specific figure you read as unsourced. It does publish a Sysprep count limit – 1001 on Windows 8.1 and Windows Server 2012 and later – and those are different counters. Read the remaining rearm count on your own machine with slmgr /dlv.
Does sysprep still eat rearms the way it used to?
The old guidance came from Windows 7, where the Sysprep count limit was three. On Windows 8.1 and Windows Server 2012 and later Microsoft documents a limit of 1001 Sysprep runs, and describes SkipRearm as a previous-versions setting you do not need if you are using a volume or retail key.
What happens when the grace period finally ends?
Windows moves into notification mode: a watermark on the desktop, periodic prompts and a locked personalisation section. The machine keeps booting, applications keep running and security updates keep arriving.
My rearm returned no error but nothing changed. Why?
Check the SkipRearm registry value under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform. Microsoft documents that slmgr /rearm does nothing when it is set to 1, which is exactly the symptom you are describing.
