[German]Some Windows updates are installed as permanent and doesn’t offer an uninstall option. This blog post shows how to force uninstalling such update packages (works from Windows 7 up to Windows 10).
The problem is …
If an update causes issues, it’s possible to open control panel, go to Programs and Features and select Installed updates. All installed updates are listed.
Selecting an update shows an Uninstall button (see screenshot above). If an update causes issues, it’s possible to uninstall it and test, whether the issues are solved of not. But for some update packages, an Uninstall button isn’t available. I was becoming aware of this after installing servicing stack update KB3177467 (from October 11, 2016). Some users are reporting issues. Investigating the update mentioned indicates, that there is no Uninstall button for the patch entry in Installed updates list (see screenshot below).
Microsoft has published a document explaining, in which cases a patch isn’t uninstallable. The options available are “try to rollback the system in a state before installing the update using either system restore or a system backup”. But what to do, if that options are not available?
Why and how Microsoft makes updates uninstallable?
Some updates are essentials for Windows and are integrated deeply into the system. Servicing Stack updates are mandatory to install further updates – also installer updates are uninstallable. Microsoft declares such updates as “permanent” within the .msu file, while ordinary update packages are quoted as “removable”. Sometime a KB article mentions that the update is uninstallable (see).
Controlling whether an update is permanent or removable is done within .mum files (mum stands for Microsoft Update Manifest) shipped whithin a .msu package. A .mum may be found after installing an update with the folger C:\Windows\servicing\Packages\.
.mum files are simple XML files containing information about the update (KB numer, language requirements, restart after installation required and so on – see the screenshot below).
The XML attribute permanency=”permanent” quotes an update as not uninstallable, while a missing attribute or an XML attribut value permanency=”removable” quotes an update as uninstallable. Only updates with a missing or permanency=”removable” attribute are uninstallable via control panel or via dism (Windows 8 and above).
Stop: Uninstalling updates quoted as “permanent” bears the risk, that further updates can’t be installed due to serious errors like STATUS_SXS_COMPONENT_STORE_CORRUPT – see comments from magicandre1981 here and here. Hints to analyze Update errors based on Servicing Corruption may be found within the Technet post Advanced guidelines for diagnosing and fixing servicing corruption. Analyzing update errors is covered here. Some information about the structure of .msu and .cab files may be found here.
How to mark an update package as ‘uninstallable’?
After I’ve warned about the risk of uninstalling uninstallable updates (create a restore point or an image backup before trying the steps given below) it’s time to use the know how, discussed above. We need to open the update`s .mum file and change the XML attribute permanency=”permanent” to “removable”. This can be done using Windows editor notepad.exe.
There is only one problem: Only TrustedInstaller has full access to .mum files. The web site linked above indicates that the access rights needs to be altered for the .mum file in order to edit its content. But this is complex (it can be done via Security tab of the file’s properties) and under Windows 7 I was ending assigning the ownership of a .mum file to group Users. Overall I don’t like to alter system files access rights.
A solution to avoid the access right conflict is to run Windows editor notepad.exe with TrustedInstallers credentials.
1. Go to website sodrum.org and download the portable freeware PowerRun, unpack the ZIP archive to a local folder.
2. Launch PowerRun (Smartscreen filter creates a warning, that the tool is unknown, so you need to confirm and also confirm UAC), select notepad.exe, and click the context menu command Run file.
3. Select in notepad’s window File – Open and set the file filter to All files (*.*).
4. Navigate in the open dialog box symbol bar to folder C:\Windows\servicing\Packages.
5. Enter the search expression into the search box (for instance KB3177467*.mum), to filter the relevant files.
6. Select the first .mum file found and click the Open button to load the .mum file.
7. Seach the entry permanency=”permanent” and change it to permanency=”removable”
8. Store the altered .mum file – this should be possible, because Windows editor runs with TrustedInstaller privileges.
9. Repeat the steps give above for all .mum files associated with the update package (the screenshots given above for Windows 7 Servicing Stack update KB3177467 shows 3 .mum files).
After altering all .mum files, you can try to uninstall the package using control panel. Go to Programs and Features and select Installed updates. Select the update package, and now an Uninstall button should be available. Uninstall the package and test, whether the issues are gone. Uninstalling also should be possible within an administrative console window using the following command:
wusa /uninstall /kb:3177467 /quiet /norestart
where 3177467 stands for the KB number of the update (see here and here). This approach should work in all Windows versions from Windows 7 up to Windows 10. Afterward it’s possible to check the system for damaged system files using sfc /scannow (Windows 7) within an administrative command prompt window. From Windows 8 and up use the article Check and repair Windows system files and component store.
Warning: Use the steps given above as a “last shot” (if system restore isn’t available) at your own risk. In best case you can fix an issue caused by the faulty update. In worst case you ruins your Windows installation, because without the uninstalled update further updates can’t be installed due to an STATUS_SXS_COMPONENT_STORE_CORRUPT error.
Windows 7/8.1: Preview Quality Rollups KB3192403/KB3192404
Microsoft Update Catalog finally supports different browsers
Windows 10: Analyze upgrade errors
How to decode Windows errors?
Windows 10: Open command prompt window as administrator
Check and repair Windows system files and component store