Rollback Fails for KB2661254

(imported topic written by Niall.Fraser)

We have had problems caused by the installation of this patch KB2661254 so I was asked to remove it. I have tried to use the rollback wizard to create a task to uninstall this patch however, I have not been able to get it to successfully uninstall a single instance. The action always fails - here is part of the output

Completed elseif {name of operating system = “WinVista” OR name of operating system = “Win2008”}

Failed continue if {exists first matches (regex “^KB\d+$”) of (“2661254” as uppercase)}

if {x64 of operating system}

wait {pathname of windows folder}\sysnative\pkgmgr.exe /quiet /norestart /up:{(if (size of it = 1) then (element of it) else (if (exists element whose (it contains “Package_for_”) of it) then (element whose (it contains “Package_for_”) of it) else (“Error”)) ) of (set of first matches (regex “Package.*KB\d+~\S+~\S+~~\d+.\d+.\d+.\d+”) of names whose (it contains “2661254” as uppercase) of keys of key “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages” of native registry)}

else

wait {pathname of system folder}\pkgmgr.exe /quiet /norestart /up:{(if (size of it = 1) then (element of it) else (if (exists element whose (it contains “Package_for_”) of it) then (element whose (it contains “Package_for_”) of it) else (“Error”)) ) of (set of first matches (regex “Package.*KB\d+~\S+~\S+~~\d+.\d+.\d+.\d+”) of names whose (it contains “2661254” as uppercase) of keys of key “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages” of native registry)}

endif

action requires restart

elseif {name of operating system = “Win7” OR name of operating system = “Win2008R2”}

continue if {exists first matches (regex “^\d+$”) of “61254”}

if {x64 of operating system}

wait {pathname of windows folder}\sysnative\wusa.exe /uninstall /kb:61254 /quiet /norestart

else

wait {pathname of system folder}\wusa.exe /uninstall /kb:61254 /quiet /norestart

endif

action requires restart

endif

Any ideas why this fails - manually removing the patch in add/remove programs works fine - but I need to remove it from 225 servers so I’d rather do it automatically.

thanks

Niall

(imported comment written by Niall.Fraser)

The servers are win2008 - however I can see a problem in the w2008r2 or Win7 section - it looks like it is looking for (regex “^\d+$”) of “61254”} and later on \sysnative\wusa.exe /uninstall /kb:61254 /quiet /norestart - instead of 2661254.

I edited the action to read 2661254 and it still failed - however I think that the edit was irrelevant here as the servers were w2k8 not w2k8r2 or Win7, however it does show that there must be a problem in the wizard as it is not creating the correct scripts.

regards

Niall

(imported comment written by Niall.Fraser)

latest update,

the amended task works on Win2008R2 servers, but every Win2008 server fails at the same place as in the original post.

Niall

(imported comment written by Niall.Fraser)

Ok I think I fixed the Win2008 now by removing the text KB from this line

continue if {exists first matches (regex “^KB\d+$”) of (“2661254” as uppercase)}

so that it reads

continue if {exists first matches (regex “^\d+$”) of (“2661254” as uppercase)}

So the short term problem is fixed, but there is obviously a problem with the way the wizard creates the rollback task.

Niall

(imported comment written by Xie_Ran91)

Hi Niall,

Thanks for reporting this. It’s verified and we will publish the fix. Stay tuned.

  • Xie Ran

(imported comment written by Xie_Ran91)

Meanwhile, this will work:

In the wizard where it ask you to input the kb number, please input “KB*****” (KB2661254 in this case) instead of just the number.

(imported comment written by Xie_Ran91)

Hi Naill,

We’ve done a quick fix for this issue and the change has been published in Patching Support site, version 20.

Xie Ran

(imported comment written by Niall.Fraser)

Many thanks for fixing this so quickly

Niall