| Previous | Next |
| ERROR_PATCH_NO_SEQUENCE | ERROR_INVALID_PATCH_XML |
ERROR_PATCH_REMOVAL_DISALLOWED
Policy does not allow this Windows Installer patch to be removed.
ERROR_PATCH_REMOVAL_DISALLOWED is Win32 error 1649 (0x671). The patch-removal mechanism exists, but administrative policy or installation context prevents its use. This is different from a patch that was never authored as uninstallable. Elevating an arbitrary process is not a correct bypass; Windows Installer evaluates policy, product context, user privileges, and how the patch was installed.
Policy and context causes
- the
DisablePatchUninstallpolicy is enabled for the machine - the current user lacks permission to remove a managed or per-machine patch
- the patch was applied in a context different from the removal request
- enterprise servicing policy requires updates to remain installed
- the removal path is blocked by product or deployment-management controls
What administrators should collect
Record patch and product codes, install context, requester SID and elevation, effective Windows Installer policy, management authority, command line, and verbose MSI log. Capture whether the patch is technically uninstallable as a separate fact. Policy diagnostics should identify the controlling rule or management source, not merely report “access denied.”
How to investigate
Check machine and user Windows Installer policy, then determine whether the product is per-user unmanaged, per-user managed, or per-machine. Verify that the same product instance and patch registration are targeted. In managed environments, consult the software-deployment system before changing local policy because it may immediately reapply the update.
If security incident response requires rollback, evaluate vendor-supported superseding updates or full product reinstall under change control. Do not delete cached MSP files or registration data; that can prevent future repair and patch sequencing while leaving the patched binaries in place.
Resolution
Obtain authorized policy change or perform removal through the managing deployment system and correct administrative context. Restore policy after the approved maintenance action. Product installers should report the policy restriction clearly and avoid presenting patch removal as available when effective policy forbids it.
Difference from unsupported removal
ERROR_PATCH_REMOVAL_UNSUPPORTED means the patch cannot be reversed through Windows Installer because of authoring or state. Error 1649 means removal is disallowed by policy or context. A patch can be technically uninstallable and still return 1649.
Example
A per-machine security patch is marked uninstallable, but corporate policy disables patch removal. A local administrator runs msiexec and receives 1649. The approved deployment console temporarily authorizes rollback and removes the patch; deleting policy registry values by hand would violate management controls.
References
- Microsoft: Windows Installer error codes
- Microsoft: DisablePatchUninstall policy
- Microsoft: Removing patches
Looking for a different code? Search another status or error code.
