Giter Site home page Giter Site logo

klocman / bulk-crap-uninstaller Goto Github PK

View Code? Open in Web Editor NEW
9.5K 94.0 498.0 9.69 MB

Remove large amounts of unwanted applications quickly.

Home Page: https://www.bcuninstaller.com/

License: Apache License 2.0

C# 97.06% Inno Setup 2.72% Batchfile 0.08% C++ 0.13% C 0.01%
uninstall uninstaller cleaner bulk-actions bulk-uninstall unattended-uninstall application-uninstaller application-manager nsis inno-setup

bulk-crap-uninstaller's People

Contributors

102464 avatar 8lwxpg avatar atfmxyl avatar bluscream avatar bovirus avatar c6p avatar ccrcmcpe avatar ckielstra avatar davidxuang avatar dependabot[bot] avatar elaborendum avatar gabrielnagy avatar ignamarte avatar klocman avatar ms-pc2 avatar nekojonez avatar peppemonster avatar philipploewen avatar renatocfrancisco avatar szw0407 avatar vedantmgoyal9 avatar wallby avatar zbalkan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bulk-crap-uninstaller's Issues

Check HKEY_CLASSES_ROOT\CLSID for junk

Leftovers from OneDrive:

"HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" 
"HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}"

Handle executables without extensions

System.ArgumentException
Failed to extract program path from supplied information:
C:\windows\system32\thpsrv /logon
at UninstallTools.Startup.Normal.StartupEntry..ctor(StartupPointData
dataPoint, String fileName, String targetString)
at
UninstallTools.Startup.Normal.StartupEntryFactory.GetRegStartupItems(StartupPointData
point)

Option to show leftovers with low confidence

Currently, if I uninstall app and only bad confidence leftovers are detected, leftovers cleanup window doesn't show up.
Would be nice to have an option to force leftovers window even in case when only bad confidence leftovers are found.

Leftover scan skips empty keys at the HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node

Hey, I've uninstalled latest version of the Mozilla Thunderbird and looks like it has some undetected empty key leftovers at HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node key.

I can see the
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mozilla\Thunderbird key with one nested empty key
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mozilla\Thunderbird\TaskBarIDs

Same for
HKEY_USERS\S-1-5-21-1278579218-726299998-186589410-1001\SOFTWARE\Mozilla\Thunderbird key.

It's really minor thing but it still would be nice to clean such keys too.

Leftovers scan skips some unique items for specific software

Some software creates different files and keys without appropriate name, to hide them from users, e.g. for the sensitive licensing data storage.

Would be nice to be able to add such items to some kind of the unique junk file database.
E.g. Wise Program Uninstaller creates two folders at the C:\ProgramData:
Isolated Storage (with 7ED43AF4\59FD041E file inside) and ProductData (with StatCache.db and un6Stat.ini files inside).

Those look like licensing-specific stuff, and would be nice to somehow detect and remove them with uninstalled program.

Maybe only hand-crafted database of such specific cases can help here, not sure it's possible to automate this somehow.

Add option to increase size of application list items

Great software, I love it. The only "issue" I have is that the text and icons of the populated software list are too small. Please give us the option to increase view. Also the listed icons look crappy, maybe because of this "shrink" process.

French translation improvements

In French, we can say [Remplissage de la liste de désinstalleurs], but this is not correct.
I propose [Lecture des programmes installés] that matches this initialization phase.
Or, but longer [Création de la liste des programmes installés].
When you say a [liste de désinstalleurs=(uninstaller)], this is not correct. The list which you show is programs and your software is a uninstaller. You see the difference...

Leftover scan skips items at the HKEY_LOCAL_MACHINE\SOFTWARE\Classes

Hey, I've uninstalled latest version of the Mozilla Thunderbird and looks like it has some undetected leftovers at HKEY_LOCAL_MACHINE\SOFTWARE\Classes key.

Here what I found:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MozillaMapi
and
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MozillaMapi.1

With corresponding CLSID:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{29F458BE-8866-11D5-A3DD-00B0D0F3BAA7}
LocalServer32\default value data inside:
"C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" /MAPIStartup

Also I found another CLSID:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{6EDCD38E-8861-11D5-A3DD-00B0D0F3BAA7}
with InProcServer32\default value:
C:\Program Files (x86)\Mozilla Thunderbird\MapiProxy_InUse.dll

and corresponding Interface:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{6EDCD38E-8861-11D5-A3DD-00B0D0F3BAA7}
with default value data: nsIMapi and ProxyStubClsid32\default value data: {6EDCD38E-8861-11D5-A3DD-00B0D0F3BAA7}

Remake the feedback box

Add links to report issues on this issue page.
Make it more obvious what it does, maybe a custom form.
Make closing it the default.

Doesn't look for leftovers at HKEY_USERS\*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist

Hey, I've tried to uninstall a latest trial version of the Revo Uninstaller.
After uninstallation process, it doesn't find Revo Uninstaller's leftovers at the
HKEY_USERS\*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist key.

In my case, leftovers were at:
HKEY_USERS\S-1-5-21-1278579218-726299998-186589410-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count key

Value name:
{6Q809377-6NS0-444O-8957-N3773S02200R}\IF Erib Tebhc\Erib Havafgnyyre Ceb\EribHavaCeb.rkr
(with some binary value data)

and
HKEY_USERS\S-1-5-21-1278579218-726299998-186589410-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\Count key

Value name:
P:\Hfref\Choyvp\Qrfxgbc\Erib Havafgnyyre Ceb.yax

The thing is, as you might noticed, it has paths, encrypted with ROT13.
I found a tiny old tool which may decrypt them and show in a list: http://www.nirsoft.net/utils/userassist_view.html

That's how I found there are the Revo leftovers:
image

image

Looks like it's not hard to implement decryption of those keys, as google lets easily find lots of the information on those keys:
https://autohotkey.com/board/topic/8362-decrypt-userassist-registry-entries/
https://www.aldeid.com/wiki/Windows-userassist-keys
etc.

Path is too short/invalid when processing OldStartupDisable items

BCUninstaller, Version=3.5.0.36158, Culture=neutral, PublicKeyToken=null | MSIL | Microsoft Windows NT 6.1.7601 Service Pack 1 | 32bit
System.ArgumentException
Path is too short/invalid
в Klocman.Tools.RegistryTools.GetKeyRoot(String fullPath, Boolean shortStyle)
в UninstallTools.Startup.Normal.OldStartupDisable.d__4.MoveNext()
в System.Linq.Enumerable.d__aa1.MoveNext() в System.Linq.Enumerable.d__711.MoveNext()
в System.Linq.Enumerable.d__711.MoveNext() в System.Collections.Generic.List1..ctor(IEnumerable1 collection) в System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)
в UninstallTools.Startup.StartupManager.AssignStartupEntries(IEnumerable1 uninstallers, IEnumerable1 startupEntries)
в BulkCrapUninstaller.Functions.UninstallerListViewTools.ReassignStartupEntries(Boolean refreshListView, IEnumerable`1 items)
в BulkCrapUninstaller.Functions.UninstallerListViewTools.ListRefreshThread(LoadingDialogInterface dialogInterface)

Leftovers search skips items at the HKEY_LOCAL_MACHINE\SOFTWARE

Hey, after removing latest version of the Mozilla Thunderbird, I've uninstalled Mozilla's MaintenanceService which was installed with Thunderbird before.

And looks like some leftovers kept undetected at the

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\MaintenanceService

key.

Detect MSI getting stuck on the missing package dialog during quiet uninstall

Visual studio installs hundreds of sub packages. I have dozens of versions of visual studio. The packages are saved in Program Data/Package Source. I wrecked the PackageSource on my machine. I need to uninstall everything that says "Visual Studio" and reinstall Visual Studio all versions, flavours and kinds.

Revo Installer works but requires too much clicking. I would like to have this work and work quietly.

When MsiExec can't find the package source it starts a endless loop dialog for the user to enter the path to the package. This breaks your automation. It should be killed. This returns a failure code and does not do any cleanup.

I would like to look at the source code with you and see how you launch the subprocesses and if you can kill interactive processes hanging waiting on user input without failing out.

Leftovers scan skips items at the HKEY_USERS\*\SOFTWARE\Microsoft\Internet Explorer\LowRegistry\Audio\PolicyConfig\PropertyStore

Hey, I've uninstalled latest version of the Mozilla Thunderbird and looks like it has some undetected empty key leftovers at HKEY_USERS\*\SOFTWARE\Microsoft\Internet Explorer\LowRegistry\Audio\PolicyConfig\PropertyStore key.

In my case, it was a key:
HKEY_USERS\S-1-5-21-1278579218-726299998-186589410-1001\SOFTWARE\Microsoft\Internet Explorer\LowRegistry\Audio\PolicyConfig\PropertyStore\acb2556c_0

With default value data:
{2}.\\?\hdaudio#func_01&ven_10ec&dev_0900&subsys_10438691&rev_1000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\singlelineouttopo/00010001|\Device\HarddiskVolume2\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe%b{00000000-0000-0000-0000-000000000000}

Remove empty parent folders when removing junk

Hey, just tried to uninstall a latest trial version of the Revo Uninstaller.
After uninstallation process, it doesn't find Revo Uninstaller's leftovers at the
C:\ProgramData
specifically the
C:\ProgramData\VS Revo Group\Revo Uninstaller Pro\revouninstallerpro.lic
file and
C:\ProgramData\VS Revo Group
folder since it has only this file inside).

Add uninstallers and other single files to junk detection

At the moment only directories and registry keys are detected.

Add detection for:

  • Uninstallers (and files it obviously relies upon)
  • Desktop shortcuts
  • Start menu shortcuts (at the moment only shortcuts inside of a directory are detected)

Failed to extract program path in UninstallTools.Startup.Normal.StartupEntry

BCUninstaller, Version=3.6.3.33504, Culture=neutral, PublicKeyToken=null | MSIL | Microsoft Windows NT 6.2.9200.0 | 64bit
System.ArgumentException
Failed to extract program path from supplied information:
bei UninstallTools.Startup.Normal.StartupEntry..ctor(StartupPointData dataPoint, String fileName, String targetString)
bei UninstallTools.Startup.Normal.StartupEntryFactory.d__2.MoveNext()

System.IO.IOException in FindJunkRecursively

BCUninstaller, Version=3.6.0.42333, Culture=neutral, PublicKeyToken=null | MSIL | Microsoft Windows NT 6.1.7601 Service Pack 1 | 64bit
System.IO.IOException
More data is available.

at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
at Microsoft.Win32.RegistryKey.GetValueNames()
at UninstallTools.Junk.RegistryJunk.FindJunkRecursively(RegistryKey softwareKey, Int32 level)
at UninstallTools.Junk.RegistryJunk.FindJunkRecursively(RegistryKey softwareKey, Int32 level)
at UninstallTools.Junk.RegistryJunk.FindJunkRecursively(RegistryKey softwareKey, Int32 level)
at UninstallTools.Junk.RegistryJunk.FindJunk()
at UninstallTools.Junk.JunkManager.FindJunk(IEnumerable1 uninstallers, IEnumerable1 allUninstallers)
at BulkCrapUninstaller.Functions.Uninstaller.c__DisplayClass12_0.b__0()
at BulkCrapUninstaller.Functions.Uninstaller.c__DisplayClass14_0.b__0(LoadingDialogInterface x)
at Klocman.Forms.LoadingDialog.c__DisplayClass10_0.b__0()

[Question] How restore removed file?

1. Briefly

I removed my files use Bulk Crap Uninstaller. I don't know, how I can restore my files, if it is possible.



2. Detail

I quiet delete use BCU my program The Wonderful Icon. In delete process I see window, that recommend close windows with Firefox and Miranda NG programs like in image:

Firefox Miranda NG

But I not close Firefox and Miranda NG and continued deletion. After delete The Wonderful Icon, I see that delete

  • Firefox bookmarks, history, cookies, settings of addons, log on data;
  • Miranda NG correspondence and settings.

Were removed .sqlite files. I can not restore it.



3. Did not help

1. Recycle bin

I don't find my .sqlite files in my recycle bin.

2. System restore

System restore is enabled in my settings.

System restore

I restore my Windows 10, but neediest files not restore.

3. Third-party soft

I try restore my files use Recuva and PhotoRec programs, but I have not success.



4. Request

If restore files not possible at the moment, I offer option Delete to recycle bin, that files, delete via Bulk Crap Uninstaller delete to recycle bin, not forever.

Environment

Operating system and version:
Windows 32-bit 10.0.14393
Bulk Crap Uninstaller:
3.5.0.36158

Thanks.

Improve start menu cleanup

Detect loose shortcuts as junk. Check shortcut targets to determine if they belong to an application (add it as confidence).

NullReferenceException when scanning for RegistryJunk

BCUninstaller, Version=3.5.0.36158, Culture=neutral, PublicKeyToken=null | MSIL | Microsoft Windows NT 6.1.7601 Service Pack 1 | 64bit
System.NullReferenceException
Object reference not set to an instance of an object.
at UninstallTools.Junk.RegistryJunk.FindJunkRecursively(RegistryKey softwareKey, Int32 level)
at UninstallTools.Junk.RegistryJunk.FindJunkRecursively(RegistryKey softwareKey, Int32 level)
at UninstallTools.Junk.RegistryJunk.FindJunkRecursively(RegistryKey softwareKey, Int32 level)
at UninstallTools.Junk.RegistryJunk.FindJunk()
at UninstallTools.Junk.JunkManager.FindJunk(IEnumerable1 uninstallers, IEnumerable1 allUninstallers)
at BulkCrapUninstaller.Functions.Uninstaller.c__DisplayClass12_0.b__0()
at BulkCrapUninstaller.Functions.Uninstaller.c__DisplayClass14_0.b__0(LoadingDialogInterface x)
at Klocman.Forms.LoadingDialog.c__DisplayClass10_0.b__0()

Doesn't look for leftovers at HKEY_LOCAL_MACHINE\SOFTWARE\Classes

Hey, just tried to uninstall a latest trial version of the Revo Uninstaller.
After uninstallation process, it doesn't find Revo Uninstaller's leftovers at the
HKEY_LOCAL_MACHINE\SOFTWARE\Classes, specifically the HKEY_LOCAL_MACHINE\SOFTWARE\Classes\RevoUninstallerPro.ruel key

System.ArgumentNullException in ServiceEntryFactory.GetServiceEntries

BCUninstaller, Version=3.6.0.50000, Culture=neutral, PublicKeyToken=null | MSIL | Microsoft Windows NT 6.2.9200.0 | 64bit
System.ArgumentNullException
Value cannot be null.
Parameter name: value
at Klocman.Extensions.StringExtensions.Contains(String value, String str, StringComparison comparisonType)
at UninstallTools.Startup.Service.ServiceEntryFactory.GetServiceEntries()
at UninstallTools.Startup.StartupManager.GetAllStartupItems()
at BulkCrapUninstaller.Functions.UninstallerListViewTools.ListRefreshThread(LoadingDialogInterface dialogInterface)

Doesn't look for leftovers at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules

Hey, just tried to uninstall a latest trial version of the Revo Uninstaller.
After uninstallation process, it doesn't find Revo Uninstaller's leftovers at the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules

I use Windows Firewall Control which creates rules at that registry key.
For Revo, there is key

{AADA6103-A4DE-4248-9E44-7C8DCEFA74BF}
v2.26|Action=Allow|Active=TRUE|Dir=Out|App=C:\program files\vs revo group\revo uninstaller pro\revouninpro.exe|Name=Revo Uninstaller Pro (revouninpro.exe)|Desc=Rule valid until next Windows Firewall Control restart.|EmbedCtxt=Temporary Rules|

Add support for Windows services

View them on a list, allow enable/disable/remove.
Assign them to applications.
If not assigned to any application show it on the application list and allow to uninstall it.

IObit Uninstaller junk being detected wrongly

Would be nice to have an option to somehow tune \ adjust the confidence sensitivity.
E.g. when uninstalling IObit Uninstaller, I'd like to assume all items with IObit or IObit*Uninstaller in their names are safe to delete, so here:
image
I'd have "good" confidence level for the C:\Users*\AppData\Roaming\IObit folder.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.