| Previous | Next |
| ERROR_INSTALL_REMOTE_PROHIBITED | ERROR_UNKNOWN_PATCH |
ERROR_PATCH_REMOVAL_UNSUPPORTED
This Windows Installer patch is not uninstallable.
ERROR_PATCH_REMOVAL_UNSUPPORTED is Win32 error 1646 (0x66E). Windows Installer can remove only patches whose authoring, application method, engine version, and product state permit reversal. A patch may be applicable and install successfully while not being designed for independent removal. In that case, the supported recovery can require uninstalling or reinstalling the entire product without that patch.
Why removal is unsupported
- the patch was authored without the attributes needed for uninstall
- it performs changes that Windows Installer cannot reliably reverse
- it applies a major upgrade or modifies an administrative installation
- the patch was installed by an older engine or method that lacks uninstall support
- the cached patch or baseline data required for reversal is unavailable
Patch state to collect
Record patch code, target ProductCode, package and patch versions, install context, patch sequence, cached source availability, Windows Installer version, original install command, and verbose removal log. Use supported MSI inventory to determine whether the patch is registered as uninstallable. Do not infer removability merely because it appears in an update list.
Diagnostic sequence
Query the applied patch state and inspect authoring such as MsiPatchMetadata and sequencing information where applicable. Confirm the exact product instance and context; a patch can be installed for one product registration while removal targets another. Verify that the product baseline and cached packages remain intact.
Read the vendor’s servicing guidance before attempting manual rollback. File replacement, registry deletion, or cache cleanup outside Windows Installer can leave component reference counts and product state inconsistent. Test whether repair or installation of a superseding patch is the supported path.
Supported recovery choices
Leave the patch installed, apply a vendor-supplied superseding fix, or uninstall and reinstall the product at the desired patch level. Package authors should mark patches uninstallable only when every change can be reversed and should test patch removal after subsequent patches. Deployment systems must expose “not removable” before offering a rollback button.
Difference from policy-disallowed removal
ERROR_PATCH_REMOVAL_UNSUPPORTED reflects patch capability or state. ERROR_PATCH_REMOVAL_DISALLOWED means policy forbids removal even though other prerequisites may be satisfied. The remedies are therefore different: package/product servicing versus administrative policy.
Example
An MSP updates database schema and is authored as non-uninstallable. An operator requests removal and receives 1646. The vendor’s supported procedure is to install a newer corrective MSP or reinstall the application; manually restoring old files would leave the database incompatible.
References
- Microsoft: Windows Installer error codes
- Microsoft: Uninstallable patches
- Microsoft: MsiRemovePatches
Looking for a different code? Search another status or error code.
