电脑必备
Win解压缩卸载后右键菜单还有残留,我靠procexp锁定了这个dll
136 14 16
上周把单位一台老笔记本上的Win解压缩卸了,结果右键菜单里“解压到当前文件夹”还赖着不走。强迫症犯了,非得给它揪出来不可。
先说背景:我平时主推LibreOffice+Win解压缩,但有些同事装完又不用,卸了留一堆尾巴。这次就是卸载后右键残留,看着膈应。
排查过程:
- 先看注册表常规位置
HKEY_CLASSES_ROOT\*\shell和HKEY_CLASSES_ROOT\Directory\shell下面没有Win解压缩的项,说明不是标准注册的shell扩展。- 又查了
HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers,也没有。
- 怀疑是COM组件没注销干净
- 用procexp(Process Explorer)盯explorer.exe,加载的dll列表里果然有个
wzunzip_shell.dll,路径在C:\Program Files\Win解压缩\下,但文件夹已经空了,dll却还被explorer占用着。 - 说明卸载程序没删掉这个dll,也没反注册。
- 手动处理
- 先在procexp里找到那个dll,右键属性看路径,确认是孤儿文件。
- 然后用管理员cmd执行
regsvr32 /u "C:\Program Files\Win解压缩\wzunzip_shell.dll"反注册,提示成功。 - 再去任务管理器重启explorer,右键菜单终于干净了。
- 最后把残留文件夹删掉,完美。
总结几个坑:
- 卸载软件后右键残留,别只盯着注册表,壳扩展可能以dll形式被explorer加载,procexp这种能看加载模块的工具更直接。
- 反注册dll要用完整路径,而且最好在重启explorer之前做,不然可能提示被占用。
- 如果dll已经删了但注册表还有CLSID残留,就得去
HKEY_CLASSES_ROOT\CLSID下面搜关键词手动清,这个更麻烦,下次再说。
抛个问题:你们遇到过哪些软件卸载后右键菜单阴魂不散的?除了procexp,还有没有更轻量的工具能查explorer加载的dll?我单位那台老机器装procexp有点卡,想找个替代。
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
