Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Saturday, May 14, 2016 2:42 PM | 1 vote
I can silently uninstall updates using WUSA.exe on Windows 7 and 8.1, but with windows 10 WUSA.exe does not Spawn a process while using the /quiet switch. Is anyone else having the same issue?
Here is an excerpt from event viewer:
Windows update could not be uninstalled because of error 2147942487 "The parameter is incorrect." (Command line: "wusa.exe /uninstall /kb:3147458 /quiet /norestart")
This happens on any windows 10 update.
I have tried using
C:\windows\system32\wusa.exe
c:\windows\syswow64\wusa.exe
No JOY
All replies (8)
Monday, May 16, 2016 3:24 AM ✅Answered | 1 vote
Hi Chris,
After my test, as you said, I meet with the same condition, I can’t uninstall kb from my Windows 10 machine either, but the wusa command executes successfully in Windows 7.
Then, I check the following kb934307 and find out that the wusa.exe is aimed at Windows 7/8/server 2008/2008 r2 and server 2012, Windows 10 is not in list.
https://support.microsoft.com/en-us/kb/934307
Therefore, I think this function should be removed or changed in Windows 10, you could feedback this condition to Microsoft by built-in Feedback app, of course, I will also respond it to my organization leader.
Regards
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected].
Monday, May 16, 2016 1:51 PM ✅Answered | 3 votes
I solved the Dism.exe issue
Simple Powershell Script to remove updates from windows 10/8.1/8 instead of using WUSA.exe
Does not work on Windows 7 unless Powershell is upgraded to a later version.
$SearchUpdates = dism /online /get-packages | findstr "Package_for"
$updates = $SearchUpdates.replace("Package Identity : ", "") | findstr "KBXXXXXXX"
#$updates
DISM.exe /Online /Remove-Package /PackageName:$updates /quiet /norestart
You can do more with this script such as create and array to uninstall several updates at once if needed.
Monday, May 16, 2016 12:37 PM
Thanks Tang,
Also there is another similar issue. Using Dism to uninstall updates does not work either
DISM.exe /Online /Remove-Package /PackageName:"Package_for_KB3124200~31bf3856ad364e35~amd64~~10.0.1.3" /quiet /norestart
I get the following error
Error: 122
The data area passed to a system call is too small.
This happens on any update I try to remove using Dism on an online image.
Is there an alternative method for removing Windows updates other than using WUSA.exe? We use WSUS (Approve for removal and set a deadline) but this does not seem to be a very quick alternative. Recently we had some Microsoft updates that broke our VOIP software and it would have been nice to have a script to uninstall these updates.
Tuesday, May 17, 2016 12:52 AM
very well, glad to hear this issue has been solved by you. Thanks for sharing, I appreciate your time and efforts. Hope your experience and script will help other community members facing similar problems.
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected].
Friday, June 9, 2017 7:23 AM
I solved the Dism.exe issue
Simple Powershell Script to remove updates from windows 10/8.1/8 instead of using WUSA.exe
Does not work on Windows 7 unless Powershell is upgraded to a later version.
$SearchUpdates = dism /online /get-packages | findstr "Package_for"
$updates = $SearchUpdates.replace("Package Identity : ", "") | findstr "KBXXXXXXX"
#$updates
DISM.exe /Online /Remove-Package /PackageName:$updates /quiet /norestart
You can do more with this script such as create and array to uninstall several updates at once if needed.
This method no longer works since MS introduced the new method of updates i.e. 2017-05 Cumulative Update for Windows 10 Version 1607 for x64-based Systems (KB4019472)
dism /online /get-packages doesn't return the above example, get-hotfix does return KB4019472
https://support.microsoft.com/en-us/kb/934307 has now been updated to reflect wusa is supported on W10 however in order to use wusa to uninstall an update you need the msu file "wusa.exe D:\934307\Windows6.0-KB934307-x86.msu /uninstall /quiet /norestart" otherwise it will error with "parameter is incorrect", so example for May 17 update is 500mb x86, 1gb nearly for x64, not good sending the 500mb/1gb file to all machines just to uninstall the update.
Tuesday, July 11, 2017 6:20 AM
Hello
Trying to get KB4022715 uninstalled from 33 Windows 10 machines -- are you saying that the PowerShell script above will no longer work with Windows 10? If so, are there any more details available on how to quietly uninstall a KB update from Win10?
Thanks
Thursday, November 2, 2017 11:20 AM | 1 vote
We can use dism.exe to uninstall.
Extract the files in the msu files using the command below -
expand -F:* <PATH_TO_MSU> <PATH_TO_FOLDER>
The folder will have the cab file contained within the msu file
The KB can then be uninstalled using the following command line -
dism.exe /online /Remove-Package /PackagePath:<PATH_TO_EXTRACTED_CAB> /LogPath:<LOG_PATH> /quiet /norestart
Wusa.exe uninstall works if we give the msu path.
wusa.exe /uninstall <MSU_FILE_PATH> /quiet /norestart /log:<PATH>\Logfile.evtx
The /quiet does not work with the /KB:<KBnumber> option
Monday, February 4, 2019 11:11 PM
I solved the Dism.exe issue
Simple Powershell Script to remove updates from windows 10/8.1/8 instead of using WUSA.exe
Does not work on Windows 7 unless Powershell is upgraded to a later version.
$SearchUpdates = dism /online /get-packages | findstr "Package_for"
$updates = $SearchUpdates.replace("Package Identity : ", "") | findstr "KBXXXXXXX"
#$updates
DISM.exe /Online /Remove-Package /PackageName:$updates /quiet /norestart
You can do more with this script such as create and array to uninstall several updates at once if needed.
This method no longer works since MS introduced the new method of updates i.e. 2017-05 Cumulative Update for Windows 10 Version 1607 for x64-based Systems (KB4019472)
dism /online /get-packages doesn't return the above example, get-hotfix does return KB4019472
https://support.microsoft.com/en-us/kb/934307 has now been updated to reflect wusa is supported on W10 however in order to use wusa to uninstall an update you need the msu file "wusa.exe D:\934307\Windows6.0-KB934307-x86.msu /uninstall /quiet /norestart" otherwise it will error with "parameter is incorrect", so example for May 17 update is 500mb x86, 1gb nearly for x64, not good sending the 500mb/1gb file to all machines just to uninstall the update.
We discovered the reason this PS no longer works is because Cumulative updates aren't being identified properly using the KB name any longer. You must specify the uninstall with the OS 10 build number that the CU corresponds with (I.E. Jan 2019 CU Win 10 build for 1709 is 16299.904) to target the correct CU to remove. No need to include the .cab file using this PS script:
(example removes Jan 2019 CU from 1709 device)
$UpdateVersion = "16299.904"
$SearchUpdates = dism /online /get-packages | findstr "Package_for"
$updates = $SearchUpdates.replace("Package Identity : ", "") | findstr $UpdateVersion
DISM.exe /Online /Remove-Package /PackageName:$updates /quiet /norestart