Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Batch Update Uninstaller - Uninstall Forced Win10 & Telemetry
New Posts  All Forums:Forum Nav:

Batch Update Uninstaller - Uninstall Forced Win10 & Telemetry - Page 17

post #161 of 399
Languages changes are no problem. I'm not sure what you mean about showing the hiding status like the uninstall status? They should be identical in the output (except for wording differences).
First Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4690K Asus Z97-A Gigabyte GeForce GTX 970 mini Crucial 8GB 
Hard DriveHard DriveOptical DriveOS
Samsung SSD 840 EVO 250GB Western Digital Blue 1TB LG DVD Burner Windows 8.1 Pro 
KeyboardPowerCaseMouse
Logitech K800 Seasonic 550W Corsair Carbide SPEC-02 Logitech G700s 
  hide details  
Reply
First Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4690K Asus Z97-A Gigabyte GeForce GTX 970 mini Crucial 8GB 
Hard DriveHard DriveOptical DriveOS
Samsung SSD 840 EVO 250GB Western Digital Blue 1TB LG DVD Burner Windows 8.1 Pro 
KeyboardPowerCaseMouse
Logitech K800 Seasonic 550W Corsair Carbide SPEC-02 Logitech G700s 
  hide details  
Reply
post #162 of 399
Thread Starter 
Quote:
Originally Posted by agawthrop View Post

Languages changes are no problem. I'm not sure what you mean about showing the hiding status like the uninstall status? They should be identical in the output (except for wording differences).
My mistake! Ignore that bit entirely. My head is on upside down. upsidedwnsmiley.gif
post #163 of 399
Thread Starter 
At a glance I was looking for two rows of KBXXXXXXX starting at the same place, but the large "Searching pending updates for" spaced it out further, so I missed as I wasn't paying attention and had my window resized strangely.

This gives me some ideas though, why do we repeat messages? You could actually change it to output only one line of repetitive messages without a problem which would be much cleaner. I also noticed some inconsistencies in listing the order status. WHat I mean is previously uninstalled is listed after what failed to uninstall, but previously hidden is listed before what has been hidden. I'm guessing it's not possible to detect failure to hide correct? You could check pending a second time to see if the number has gone down correctly perhaps, but this would include unrelated pending updates. Mine says 8 updates are pending, but none are pending, and the 7 on the list are hidden. The 8th is for Razer Synapse.

I changed the ... to : but if there's a reason to keep it as ... or you think it looks better it's no problem keeping it as ... I'm on the fence myself, it'sjust grammar.
I also capitalized the output and added a period to the end of each as it was mixed. Wording is changed as well. I snipped the top half because I didn't want to edit anymore. tongue.gif

Overall I think this looks much cleaner, it's easier to "mentally parse" for information. I think that's something very important to consider in programming. How does the human mind process it? Can it be processed easier? Is there any unnecessary fluff? etc.
Code:
*snip*
5/31 updates failed to uninstall.
26/31 updates were previously uninstalled.
0/31 updates have been uninstalled.
(NEW LINE SPACE HERE)
Hiding pending updates.
Found 8 pending updates. (Isn't this redundant or in the wrong place? Searching is below this output)
Searching pending updates for:
KB971033: Is not pending.
KB2454826: Is not pending.
KB2505438: Is not pending.
KB2902907: Is not pending.
KB2922324: Is not pending.
KB2952664: Is not pending.
KB2976978: Is already hidden.
KB2976987: Is not pending.
KB2977759: Is not pending.
KB2990214: Is not pending.
KB3012973: Is not pending.
KB3014460: Is not pending.
KB3015249: Is not pending.
KB3021917: Is not pending.
KB3022345: Is not pending.
KB3035583: Is already hidden.
KB3044374: Is not pending.
KB3046480: Is not pending.
KB3050265: Is not pending.
KB3050267: Is not pending.
KB3065987: Is not pending.
KB3065988: Is not pending.
KB3068708: Is already hidden.
KB3075249: Is already hidden.
KB3075851: Is not pending.
KB3075853: Is not pending.
KB3080149: Is already hidden.
KB3083324: Is not pending.
KB3083325: Is not pending.
KB3083710: Is not pending.
KB3083711: Is already hidden.
0/31 updates have been hidden.
7/31 updates were previously hidden.
24/31 updates are not pending.

End Log - 11/2/2015 11:12:20 PM

Edited by cookieboyeli - 11/2/15 at 8:44pm
post #164 of 399
Okay, so it will let you know if hiding an update failed, but if no updates failed it doesn't print that out (because it's not relevant). Essentially, if no updates failed to uninstall/hide and non were detected to have been uninstalled/hidden previously, then those lines will not print out. The only one that always prints regardless of failures/success is the actually successful runs.

I looked at the code, the "x/yy updates have been hidden" line should definitely be printing last, just like the "have been uninstalled" line does. Not sure what is going on there?

We could print the searching pending updates for: and then go with what you're shown in your log above. Typically the ellipses is used to show the user that the program is doing something. If you look at a lot of loading screens, you'll see the trailing ..., it's also a way to show several steps taking place on one line as in our code (searching for x update...hiding...failed, etc). We can change it though, just what I'm used to.

Now back to the pending updates question. The way the search works, technically those updates are pending they've just been hidden. The updates that show as not found, are actually not found by the update search function for whatever reason (not related to being hidden). I guess what we could do is just search for updates that haven't been installed and aren't hidden already.
First Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4690K Asus Z97-A Gigabyte GeForce GTX 970 mini Crucial 8GB 
Hard DriveHard DriveOptical DriveOS
Samsung SSD 840 EVO 250GB Western Digital Blue 1TB LG DVD Burner Windows 8.1 Pro 
KeyboardPowerCaseMouse
Logitech K800 Seasonic 550W Corsair Carbide SPEC-02 Logitech G700s 
  hide details  
Reply
First Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4690K Asus Z97-A Gigabyte GeForce GTX 970 mini Crucial 8GB 
Hard DriveHard DriveOptical DriveOS
Samsung SSD 840 EVO 250GB Western Digital Blue 1TB LG DVD Burner Windows 8.1 Pro 
KeyboardPowerCaseMouse
Logitech K800 Seasonic 550W Corsair Carbide SPEC-02 Logitech G700s 
  hide details  
Reply
post #165 of 399
Thread Starter 
Quote:
Originally Posted by agawthrop View Post

Okay, so it will let you know if hiding an update failed, but if no updates failed it doesn't print that out (because it's not relevant). Essentially, if no updates failed to uninstall/hide and non were detected to have been uninstalled/hidden previously, then those lines will not print out. The only one that always prints regardless of failures/success is the actually successful runs.

I looked at the code, the "x/yy updates have been hidden" line should definitely be printing last, just like the "have been uninstalled" line does. Not sure what is going on there?

We could print the searching pending updates for: and then go with what you're shown in your log above. Typically the ellipses is used to show the user that the program is doing something. If you look at a lot of loading screens, you'll see the trailing ..., it's also a way to show several steps taking place on one line as in our code (searching for x update...hiding...failed, etc). We can change it though, just what I'm used to.

Now back to the pending updates question. The way the search works, technically those updates are pending they've just been hidden. The updates that show as not found, are actually not found by the update search function for whatever reason (not related to being hidden). I guess what we could do is just search for updates that haven't been installed and aren't hidden already.
Oh I see. Since I have some updates baked in by /resetbase I always see the failed notification. It never occurred to me that it would hide were the number 0...

On second thought, I think we should stick with ellipses for the reason stated. I'm used to it as well for the same reason. Otherwise outputting "Searching pending updates for: " as pictured would work well.

The position change in "x/yy updates have been hidden" was part of the mockup. I was thinking we should move both that and "x/yy updates have been uninstalled" directly below any failure output since that would be the most relevant/important information. (I forgot to move the x/yy uninstalled output on top to match though).
Quote:
The way the search works, technically those updates are pending they've just been hidden. (Got that) The updates that show as not found, are actually not found by the update search function for whatever reason (not related to being hidden). (OK, understood) I guess what we could do is just search for updates that haven't been installed and aren't hidden already. (Huh?)
For some reason I keep reading this over and over but don't get it. redface.gif (Must be a bug haha)
So you're saying ditch the current method and do this instead as a sort of workaround to get more reliable output...? confused.gif Sorry, I'm confused.
Edited by cookieboyeli - 11/2/15 at 9:23pm
post #166 of 399
So, I had already made most of the changes regarding the ellipses. I think you'll like the output now. I've also made some other rather large changes, hope you like it!

As for the confusion about the search, when hiding updates I'm searching Windows Updates for all uninstalled updates. I've now modified that search to only find those updates that are uninstalled and not hidden (this gets rid of the previously hidden status). So if an update is uninstalled and hidden, it'll now show as not pending. Hope that helps.

BatchUpdateUninstallerv5.0.0.zip 159k .zip file --Superceded


Edit: As for the note in the you log above regarding pending updates. That is all updates that Windows says is pending (essentially not installed on your PC, that windows update thinks you need), not a reference to what is in kblist.txt. It's basically showing you that hey windows says there is x number of updates pending, now we are going to see if any of those updates match the ones listed in kblist.txt.

Edit: Made some additional formatting changes:
BatchUpdateUninstallerv5.0.1.zip 160k .zip file
Edited by agawthrop - 11/2/15 at 11:09pm
First Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4690K Asus Z97-A Gigabyte GeForce GTX 970 mini Crucial 8GB 
Hard DriveHard DriveOptical DriveOS
Samsung SSD 840 EVO 250GB Western Digital Blue 1TB LG DVD Burner Windows 8.1 Pro 
KeyboardPowerCaseMouse
Logitech K800 Seasonic 550W Corsair Carbide SPEC-02 Logitech G700s 
  hide details  
Reply
First Build
(12 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4690K Asus Z97-A Gigabyte GeForce GTX 970 mini Crucial 8GB 
Hard DriveHard DriveOptical DriveOS
Samsung SSD 840 EVO 250GB Western Digital Blue 1TB LG DVD Burner Windows 8.1 Pro 
KeyboardPowerCaseMouse
Logitech K800 Seasonic 550W Corsair Carbide SPEC-02 Logitech G700s 
  hide details  
Reply
post #167 of 399
Thread Starter 
Quote:
Originally Posted by agawthrop View Post

So, I had already made most of the changes regarding the ellipses. I think you'll like the output now. I've also made some other rather large changes, hope you like it!

As for the confusion about the search, when hiding updates I'm searching Windows Updates for all uninstalled updates. I've now modified that search to only find those updates that are uninstalled and not hidden (this gets rid of the previously hidden status). So if an update is uninstalled and hidden, it'll now show as not pending. Hope that helps.

BatchUpdateUninstallerv5.0.0.zip 159k .zip file --Superceded


Edit: As for the note in the you log above regarding pending updates. That is all updates that Windows says is pending (essentially not installed on your PC, that windows update thinks you need), not a reference to what is in kblist.txt. It's basically showing you that hey windows says there is x number of updates pending, now we are going to see if any of those updates match the ones listed in kblist.txt.

Edit: Made some additional formatting changes:
BatchUpdateUninstallerv5.0.1.zip 160k .zip file
wheee.gif You've outdone yourself again agawthrop!

I understand what you mean now. Thanks. smile.gif

I'm adding two updates to the kblist, but with these new version changes I don't trust myself not to screw it up while trying to change the version number. I'd also like to reduce the kbList.txt info line down to one line. Here's my kbList for you to integrate/commit.
kbList.txt 5k .txt file
We've added two new updates to the list!
https://support.microsoft.com/en-us/kb/2999226
https://support.microsoft.com/en-us/kb/3058168
They don't look it, but they're pure evil. devil.gif Haha not quite, 3058168 is though. Can't believe I missed it. Good thing it can't do much on it's own (...I think).

Oh and don't forget to clear the log. smile.gif

First post version and list updates will come some time tomorrow, just post back a zip with the new kbList added.
Edited by cookieboyeli - 11/3/15 at 4:50am
post #168 of 399
I'll say it once again. AWESOME work! thumbsupsmiley.png
The Womanizer
(19 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4690K Asus Z97-A Sapphire Radeon R9 290 Tri-X Corsair Vengance LP 8GB 
Hard DriveHard DriveHard DriveCooling
Samsung 840 EVO Basic 120GB Western Digital Blue 1TB Western Digital Green 4TB Noctua NH-D15 
OSMonitorKeyboardPower
Windows 8.1 Pro 64-bit Dell UltraSharp U2311H Corsair Gaming K70 RGB MX Red EVGA SuperNOVA G2 750W 
CaseMouseMouse PadAudio
Fractal Design Define R4 QPAD 5K Steelseries QcK+ Logitech Z623 
AudioOtherOther
QPAD QH-90 3x Noctua NF-P14s redux-1500 PWM Sony DualShock 4 Wireless Controller 
  hide details  
Reply
The Womanizer
(19 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5 4690K Asus Z97-A Sapphire Radeon R9 290 Tri-X Corsair Vengance LP 8GB 
Hard DriveHard DriveHard DriveCooling
Samsung 840 EVO Basic 120GB Western Digital Blue 1TB Western Digital Green 4TB Noctua NH-D15 
OSMonitorKeyboardPower
Windows 8.1 Pro 64-bit Dell UltraSharp U2311H Corsair Gaming K70 RGB MX Red EVGA SuperNOVA G2 750W 
CaseMouseMouse PadAudio
Fractal Design Define R4 QPAD 5K Steelseries QcK+ Logitech Z623 
AudioOtherOther
QPAD QH-90 3x Noctua NF-P14s redux-1500 PWM Sony DualShock 4 Wireless Controller 
  hide details  
Reply
post #169 of 399
That resetbase thing seems like it could be used maliciously to keep a user from undoing an update without reinstalling Windows. Is there any way to block its usage or at least require a UAC elevation if it's used?
4690K System
(12 items)
 
HTPC
(9 items)
 
HP dv6 laptop
(13 items)
 
CPUMotherboardGraphicsRAM
Core i5 4690K ASRock Z97 Extreme4 XFX Radeon 7950 32 GB DDR3-2133 
Hard DriveOptical DriveCoolingOS
Samsung 850 EVO SSD Samsung DVD/CD-writer Corsair Hydro H60 Windows 7 
MonitorMonitorPowerCase
ASUS PA248Q Dell U2412M XFX 850W Black Edition XXX Fractal Design Arc Midi 2 
CPUMotherboardGraphicsRAM
Pentium Dual Core E6700 MSI G41M-P33 Combo ATI HD4350 Kingston ValueRAM DDR3-1333 
RAMHard DriveOSMonitor
Kingston ValueRAM DDR3-1333 WD Caviar Blue Windows 7 64-bit Sony 32" TV set 
Case
Apex TX-381 
CPUGraphicsRAMHard Drive
Core i5 430M GT230M (1 Gb dedicated) 8 GB DDR3-1066 640 GB 
OSMonitor
Windows 7 Home Premium (64-bit) 15.6" 
  hide details  
Reply
4690K System
(12 items)
 
HTPC
(9 items)
 
HP dv6 laptop
(13 items)
 
CPUMotherboardGraphicsRAM
Core i5 4690K ASRock Z97 Extreme4 XFX Radeon 7950 32 GB DDR3-2133 
Hard DriveOptical DriveCoolingOS
Samsung 850 EVO SSD Samsung DVD/CD-writer Corsair Hydro H60 Windows 7 
MonitorMonitorPowerCase
ASUS PA248Q Dell U2412M XFX 850W Black Edition XXX Fractal Design Arc Midi 2 
CPUMotherboardGraphicsRAM
Pentium Dual Core E6700 MSI G41M-P33 Combo ATI HD4350 Kingston ValueRAM DDR3-1333 
RAMHard DriveOSMonitor
Kingston ValueRAM DDR3-1333 WD Caviar Blue Windows 7 64-bit Sony 32" TV set 
Case
Apex TX-381 
CPUGraphicsRAMHard Drive
Core i5 430M GT230M (1 Gb dedicated) 8 GB DDR3-1066 640 GB 
OSMonitor
Windows 7 Home Premium (64-bit) 15.6" 
  hide details  
Reply
post #170 of 399
Thread Starter 
Quote:
Originally Posted by Quantum Reality View Post

That resetbase thing seems like it could be used maliciously to keep a user from undoing an update without reinstalling Windows. Is there any way to block its usage or at least require a UAC elevation if it's used?
Unfortunately no, but aside from the updates in this list getting backed in, there really isn't anything malicious that could happen. This updates are pushed to everyone anyway. It's highly unlikely that a 3rd party would seek to bake them in for those who already have them installed, as it really doesn't change anything for users who are unaware of the issues. Those who are aware have already uninstalled.

It's actually a pretty handy command, and I would recommend running it if you are low on disk space and already have everything uninstalled. (Wait until I post the next update though). Still, you can safely use:
Code:
Dism /Online /Cleanup-Image /StartComponentCleanup
instead without the /Resetbase switch. It's nearly as effective for trimming down WinSxS without removing the ability to uninstall. /Resetbase saves a few 100MB more by removing all superseded versions of components (which makes it impossible to uninstall updates), but that's not much at all compared to the several GB you save without it. There are also scripts for compacting WinSxS with NTFS compression as well which saves a decent amount.
/Resetbase is really much better applied when you make your own image with pre integrated updates and want to make it as slim as possible before rolling out. thumb.gif
Edited by cookieboyeli - 11/3/15 at 7:22pm
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Batch Update Uninstaller - Uninstall Forced Win10 & Telemetry