Skip to content

Est. 2011ยทMicrosoft Partner 7033487ยทDelivery under 3 minยทSupport 7 days a week

Your vault is empty.

License Error 0x800F081E

0x800F081E and 0xC1900204: the update does not apply to this edition

10 min read Updated October 4, 2026 Windows Update & Setup

Fix it now

Something about this machine does not match what the package or the upgrade expects: the edition, the language, the architecture, or the migration path between the edition you have and the one on the media. Establish what the machine actually is before you change anything.

Run these in an elevated Command Prompt to establish what you are working with

winver
dism /online /get-currentedition
slmgr /dlv
  1. Compare the edition, version, build and architecture you just read against the media you are installing from. One of them will not match.
  2. For an upgrade blocked by 0xC1900204, the migration path itself is the problem. Microsoft’s own example is Enterprise to Home, which setup will not perform.
  3. If you are entitled to a different edition, change it in place rather than reinstalling: open the activation settings with ms-settings:activation, or run changepk.exe /ProductKey <key>.
  4. From a script or a session with no desktop, the equivalent is cscript.exe c:\windows\system32\slmgr.vbs /ipk <key> followed by a restart.
  5. Where the change of edition is not a supported in-place path, a clean install from media of the target edition is the only route.

Changing edition changes your licensing position. Do not install a key you are not entitled to use in order to make an error message disappear.

If the package installs or the upgrade proceeds you can stop here. If not, the next section separates the codes that are about edition from the ones that are not.

Why it happens

Windows packages are not universal. A cumulative update, a language pack or a feature payload is built for a specific edition family, a specific architecture and often a specific language, and component-based servicing checks all of that before it will open the package. Setup runs a parallel set of checks for an upgrade: it works out which image on the media applies to this machine and whether the path from the current edition to that one is a supported migration.

The codes here come from both of those systems, and they do not all mean the same thing. 0xC1900204 is MOSETUP_E_COMPAT_MIGCHOICE_BLOCK, the migration choice selected is not available, with Enterprise to Home given as Microsoft’s example. 0xC1900215 is MOSETUP_E_NO_MATCHING_INSTALL_IMAGE, setup could not find an install image for this system. 0xC1900205 is MOSETUP_E_COMPAT_MIGCHOICE_CANCEL, the user chose to cancel because the system does not pass the requirements for the desired migration choice.

Two of them are not edition statements at all. 0x80070663 is Win32 1635, ERROR_PATCH_PACKAGE_OPEN_FAILED: this update package could not be opened. That is a Windows Installer failure and it points at the file, its location or the installer state, not at your edition. And 0x800F081E has no published meaning anywhere in Microsoft’s documentation. It appears when servicing refuses a package before installing it, which is a description of where it happens rather than of what it means.

The package targets a different edition, language or architecture

You have this one if 0x800F081E from a standalone package, and dism /online /get-currentedition disagreeing with what the file name says.

  1. Read the machine’s edition, version, build and architecture and write them down.
  2. Obtain the package built for exactly that combination. A 64-bit package will not install on a 32-bit installation and the reverse is also true.
  3. For a language pack, the language of the pack and the language resources present on the machine both matter, so check what is already installed.
  4. Retry with the correct package and read the new result.

The upgrade path between editions is not supported

You have this one if 0xC1900204 or 0xC1900205 during an in-place upgrade, and the media carries a different edition family from the installed one.

  1. Confirm the installed edition with dism /online /get-currentedition.
  2. Use media of the same edition family, so the upgrade is an upgrade rather than an edition change.
  3. If you genuinely need a different edition, change it first with ms-settings:activation or changepk.exe /ProductKey <key>, then upgrade.
  4. Where no in-place path exists, back up and do a clean install of the target edition.

Downward moves between edition families are the ones that most often have no supported in-place path. Plan for a rebuild rather than expecting a switch.

Setup cannot find an image on the media that fits

You have this one if 0xC1900215, often with media assembled by hand or trimmed to save space.

  1. List what is actually on the media: DISM /Get-WimInfo /WimFile:D:\sources\install.wim.
  2. Confirm an index exists for your edition and architecture, and that its language matches.
  3. Rebuild the media from an unmodified source if an index has been removed.

The installer cannot open the package at all

You have this one if 0x80070663, which is a package-open failure rather than an applicability refusal.

  1. Download the package again. A truncated file produces this reliably.
  2. Copy it to a local disk before running it. Network paths and mapped drives are a common cause.
  3. Check that the Windows Installer service is running and that no other installation is in progress.

Full reference

Establishing what the machine is

Command What it tells you
winver Version and build number, which is what media has to match
dism /online /get-currentedition The installed edition as servicing sees it
dism /online /get-targeteditions Editions this installation can be changed to in place
slmgr /dlv Detailed licence status, including the licence description and channel
DISM /Get-WimInfo /WimFile:<path> Which editions and languages the media actually contains

Changing edition without reinstalling

Where a supported path exists, an edition change is a licensing operation rather than a reinstall. Entering a key for the target edition reconfigures the installation in place, keeping applications and files, and it takes a restart rather than an afternoon.

Route When to use it
ms-settings:activation Interactive, on a machine somebody is sitting at
changepk.exe /ProductKey <key> Scripted or remote, on a machine with a desktop session
cscript.exe c:\windows\system32\slmgr.vbs /ipk <key> Where no interactive route is available

All three do the same job. If the path is not supported, none of them will help, and a clean install of the target edition is the answer. That is the point at which the entitlement matters, because a clean install of a different edition needs a licence covering that edition.

Codes that are documented and codes that are not

It is worth being straight about 0x800F081E. Microsoft publishes no meaning for it. Explanations circulate that give it a precise sense, usually one that fits whatever the article is arguing, and none of them is sourced. What can be said is where it appears: servicing refusing a package during applicability checking, before installation begins. That tells you to compare package and machine, which is what the causes above do.

Language packs and features are a special case

  • A language pack for a version does not install on another version. The version has to match, not merely the edition.
  • Optional features and language resources are payloads Windows fetches rather than ships, so an applicability refusal may really be a source problem in disguise.
  • On a managed client, servicing may be pointed at a source with no optional content, which produces a different set of codes worth ruling in or out separately.
  • Where the machine cannot reach a source at all, an explicit /Source and /LimitAccess proves whether the payload is the problem.

Before you decide a licence is the answer

  • Confirm the installed edition rather than trusting what the machine was ordered as. Machines are re-imaged, and the sticker rarely follows.
  • Check whether the media you have carries the edition you need. Multi-edition media is common and the right index may already be there.
  • Check dism /online /get-targeteditions, which lists the editions this installation can be moved to in place.
  • Only then price the change, because the licence is the fix for exactly one of the causes above and not for the others.

When a licence is the actual fix

Only one of the causes in this article is a licensing problem: the machine is running an edition that cannot be upgraded to the one you need, and the supported route is to change edition or rebuild on the target edition. Everything else here is a mismatched package, damaged media or a file the installer could not open, and none of that is solved by buying anything. Arco supplies Windows 11 Pro upgrade licences, and the useful part of that conversation is the check beforehand: what edition the machine actually runs, whether a supported in-place path exists, and whether your current entitlement already covers the change.

Every code this article covers

Code What it points at Source
0x800F081E Seen when component-based servicing refuses a package during applicability checking. Microsoft publishes no meaning for it not published by the vendor
0xC1900204 MOSETUP_E_COMPAT_MIGCHOICE_BLOCK: the migration choice selected is not available, Enterprise to Home being Microsoft’s example Microsoft Learn
0x80070663 Win32 1635 ERROR_PATCH_PACKAGE_OPEN_FAILED: this update package could not be opened Microsoft Learn
0xC1900215 MOSETUP_E_NO_MATCHING_INSTALL_IMAGE: could not find an install image for this system Microsoft Learn
0xC1900205 MOSETUP_E_COMPAT_MIGCHOICE_CANCEL: cancelled because the system does not pass the requirements for the desired migration choice Microsoft Learn

Confirm the fix worked

  1. dism /online /get-currentedition reports the edition you intended to end up on.
  2. slmgr /dlv reports the licence as Licensed with a description matching that edition.
  3. The package or upgrade that produced the code now completes.
  4. winver reports the version and build you were targeting.

Questions people ask about this

What does 0x800F081E mean?

Microsoft does not publish a meaning for it, and anyone who gives you a precise definition is repeating something unsourced. What is observable is where it comes from: servicing rejecting a package during applicability checking, before it installs anything. That is enough to work with, because it points you at comparing the package’s edition, language, architecture and version against the machine’s.

Can I upgrade from Enterprise to Home?

No. Microsoft names that specific direction as the example of a migration choice that is not available, and it is what 0xC1900204 is reporting when it appears on that path. If you need Home on that hardware, it is a clean install, and it is a licensing decision as much as a technical one.

Why does 0x80070663 appear here if it is not about editions?

Because it turns up in the same situations, when someone is installing a standalone package by hand and it fails. It is worth separating out precisely because the fix is different: the package could not be opened, so download it again and run it from a local disk rather than hunting for an edition mismatch that is not there.

Does changing edition lose my applications?

Not where a supported in-place path exists. Entering a key for the target edition reconfigures the installation and restarts, keeping applications and files. Where no such path exists, a clean install is the only route and that does lose them, which is why it is worth checking the target edition list before planning the work.

Related error codes

Was this article helpful?

Your feedback helps us improve our documentation.

Related articles

Free Fix 0x80246007: the update was never downloaded so the install cannot start License Error 0x800F0950 and 0x800F0954: Features on Demand and language packs fail Free Fix 0x800F0831 CBS_E_STORE_CORRUPTION: the component store itself is damaged Free Fix 0x80070002 and 0x80070003: update files missing from SoftwareDistribution
โ† Back to Knowledge Base