ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Keil5彻底卸载与残留清理全指南:注册表、Pack包、环境变量一步不落

Keil5彻底卸载与残留清理全指南:注册表、Pack包、环境变量一步不落 卸载Keil5这件事说难不难说简单也绝不简单。我见过太多人删到一半卡住或者删完之后C盘空间一点没释放更常见的是重装时各种报错——“No Valid License”“Pack Installer打不开”“UV4.exe找不到”十有八九都是上一次没删干净埋下的雷。这篇东西就是来讲清楚Keil5到底把东西装在了哪些角落正规卸载走什么流程残留文件怎么清遇到删不掉的进程怎么办以及重装前哪些细节必须处理妥当。无论你是单片机入门玩家、嵌入式从业者还是单纯被占满的C盘逼疯的普通用户下面这套流程都适用。1. 先说清楚为什么Keil5这么难删干净1.1 Keil5的组件分散在哪些地方一个很反直觉的事实是Keil5“安装”这个动作远不只是往C盘里丢几个文件夹那么简单。它是典型的IDE加工具链加生态体系安装时会同时写入注册表、环境变量、系统服务、驱动、Pack包缓存甚至开始菜单和文件关联。如果你装了MDK-ARM那么默认情况下至少有这些落点程序主目录通常为C:\Keil_v5里面包含UV4、ARM、ARMCC、CMSIS等子目录。器件支持包Pack默认下载到C:\Users\你的用户名\AppData\Local\Arm\Packs新版本MDK尤其如此旧版则可能在C:\Keil_v5\ARM\PACK。配置文件C:\Keil_v5\TOOLS.INI记录了已安装的工具链、许可证信息、Pack路径等。注册表HKEY_LOCAL_MACHINE\SOFTWARE\Keil、HKEY_CURRENT_USER\Software\Keil还有64位系统上的HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Keil。环境变量常见的有ARMCC、ARM_ROOT以及PATH里追加的C:\Keil_v5\ARM\BIN等。调试器驱动ULINK、CMSIS-DAP、ST-Link等驱动程序会注册到设备管理器。这还没算你手动把工程文件丢在了安装目录里这种情况。所以你看普通卸载工具只能触发uninstall.exe把这个明面上的主目录和部分注册表移除其他散落各处的东西根本没动。这就是很多人删完之后在“应用和功能”里看不到了但搜索Keil还能搜出一堆文件的根本原因。1.2 直接删文件夹会导致什么问题有人图省事直接ShiftDelete删除C:\Keil_v5觉得“文件夹都没了还能有啥”。这个操作短期内看起来有效实际上后患无穷。注册表里残留了大量键值Windows仍然认为Keil已经安装之后的重新安装往往会被判定为“已有更高版本”或者License写入时报错。TOOLS.INI没删的话uv4.exe仍然尝试按旧路径找工具链找不到就报“Tool not found”。Pack目录不清理的话C盘的几十GB空间继续被占用——实际上Keil卸载后最占空间的往往就是Pack而不是程序本身。更麻烦的是如果你直接删了文件夹再卸载卸载程序自己都会因为找不到文件而报错、中途退出留下更混乱的注册表状态。我不建议跳过卸载程序直接删这在所有Windows软件里都算是最不推荐的做法。正规顺序应该是卸载程序先走一遍然后手动清残留最后重启。2. 删除前的准备工作2.1 备份你的工程和源码这是我在处理类似问题时反复强调的第一项优先级高到没朋友。你得先理清楚你的工程到底放在哪里如果是默认工程目录、或者桌面、或者D盘那还好但确实有很多人把工程直接建在C:\Keil_v5\xxx\下面有些教学视频也习惯把工程存到Keil安装目录里。如果你要彻底删除Keil5这些工程将随安装目录一起被清掉再也找不回来了。所以第一步请打开Keil的Project菜单确认最近打开过的工程列表把所有正在进行的项目复制到安全的地方比如D盘或者网盘里。另外还有一类容易被忽略的文件你在“魔术棒Options for Target”里修改过的分散加载文件.sct、启动文件、自定义链接脚本尤其是你花时间调过的配置别一并丢了。正确做法是把整个工程文件夹复制走而不是只复制.uvprojx主文件。2.2 记录License信息很多人删完Keil5要重装结果卡在激活这一步。这多半不是新装的Keil有问题而是旧License信息没有正确清除或者你根本没记录原来那台机器上的CID。Keil的License机制是绑定计算机的每台机器的CID不同License文件也是按CID生成的。卸载前打开Keil-License Management把当前显示的License号和CID截图保存。这样万一你之后想在同一台机器上重装并重新激活可以依靠这段记录向渠道商或者厂商客服申请省去“License无效”的扯皮时间。如果你用的是注册机生成的授权那这一步更加有必要——注册机生成的License往往和当时的CID严格对应重装后CID如果变化比如换了网卡照样无效。不记录的话你就是重新跑一遍破解流程也得输入正确的CID。2.3 退出相关进程和服务卸载之前如果不退出Keil相关进程卸载程序会告诉你“文件正在使用无法删除”或者删到一半卡住。比较典型的进程是UV4.exe也就是Keil的IDE主程序。有时候你明明关了窗口它还在后台驻留可以通过任务管理器确认并结束。另外还有一个容易忽略的某些J-Link、ST-Link驱动的后台服务例如JLink.exe、ST-LINK_SERVER.exe它们会占用动态库文件导致卸载后残留。我遇到过几次UV4.exe退干净了结果JLink进程占用ARM/JLinkARM.dll卸载的时候一直提示文件被占用最后只能重启后在安全模式下清理。所以卸载前把这些调试器相关的后台进程也一并检查、结束掉能省掉很多麻烦。3. 标准卸载流程先走正规路径3.1 从控制面板或系统设置里卸载正确做法是在Windows的“设置”-“应用”-“已安装的应用”里搜索“Keil”或“MDK”找到对应条目并点击卸载。Win10和Win11的入口略有区别但基本逻辑一致。控制面板里的“程序和功能”同样可以甚至更直观能看到完整的软件名称和版本号。这里要提醒一句Keil5并不是只有一个名字。如果你装过C51和MDK两个版本它们分别显示为“Keil C51”和“Keil MDK-ARM”之类两部分都要卸载。如果只装了其中一个名字可能是“MDK-ARM Version 5.x.x”之类的格式注意别认错。卸载时安装包偶尔会弹出“是否保留配置文件”之类的询问需要具体情况具体对待这部分放到3.2里细讲。3.2 卸载时“是否保留配置”怎么选卸载程序在执行过程中可能会弹出类似“Do you want to keep the configuration and Pack files?”的选项。很多人卡在这不知道选是还是否。如果你只是临时卸载重装想保留之前下载的Pack包省得重新下载几十GB的器件包那么可以选择保留。这样Pack缓存和配置文件会原样留着重装之后Pack Installer直接识别已有缓存不用重新联网下载。注意是“临时重装”的前提下。如果你是为了彻底清空、解决顽固问题、释放磁盘空间那就别犹豫选“不保留”。这个不保留会同时清理Pack包和TOOLS.INI等配置文件。但要注意它并不会清理注册表里的所有键值也不会清理环境变量——这些仍然需要手动处理所以卸载完还要继续按下面的步骤操作。3.3 卸载完成后检查遗留文件夹卸载程序跑完并不代表万事大吉。先别急着重装检查一下这些常见路径是否还存在C:\Keil_v5安装目录C:\Users\你的用户名\AppData\Local\Arm新版MDK的Arm缓存C:\Users\你的用户名\AppData\Roaming\Keil部分配置和许可证信息C:\Users\Public\Documents\Keil_v5旧版公共文档路径如果以上目录依然存在说明卸载程序确实留下了大量残留。不需要在这个时候慌接下来的深度清理就是专门解决这个的。4. 深度清理把残留文件一个个揪出来4.1 清理安装目录和配置残留卸载结束后C:\Keil_v5很可能还在。这个目录里除了程序文件还可能有你自己放的工程文件但前面已经备份过了所以现在可以放心删除。如果删除时报“文件被占用”回到任务管理器结束UV4.exe、JLink等进程还不行就重启再删。另外一个我很推荐的小技巧是在删除之前先把“隐藏的项目”显示开关打开——文件资源管理器-查看-勾选“隐藏的项目”否则一些受保护的系统文件可能看不见你以为删干净了实际上还在。删除C:\Keil_v5之后继续检查C:\Keil_v5目录下是不是自己建过其他子目录如果整个文件夹都没了就无需再处理。重点检查TOOLS.INI广为人知的残留——它虽然写在安装目录下但很多人手动删除卸载程序时会漏掉这个文件导致重装后软件仍然按旧配置去找工具链。4.2 清理AppData中的Pack包和缓存Pack包也就是你通过Pack Installer下载的器件支持包占据的空间往往最壮观。默认情况下如果你没改过路径它们位于C:\Users\你的用户名\AppData\Local\Arm\Packs如果你不太确定可以打开命令行输入echo %LOCALAPPDATA%\Arm\Packs回车后系统会显示当前用户的Pack实际路径。如果Pack目录已经不存在了说明卸载时删掉了那就不用管。如果还在可以整个删除。这里我得说一句Pack包体积很大一块开发板的系列支持包动辄几百MB如果你下载了STM32F4、STM32H7等多个系列的Pack几GB是常有的事。你真的想彻底清理Keil5这个目录必须删。另外还有一个AppData\Roaming\Keil目录它存放的是用户级配置文件、许可证信息。这个目录很多卸载程序根本不去碰。建议一并删除别留。有时候你还会发现AppData\Local\Temp里有一些Keil的临时文件比如编译器生成的临时obj、依赖缓存什么的。这些一般在系统自动清理的范畴如果强迫症发作想彻底清理可以顺手清空但不强求。4.3 清理注册表核心中的核心接下来是整篇里的重点注册表。很多人卸载软件后失灵都是因为注册表里残留的键值没有清除。Keil5相关的注册表项分布在几个固定位置需要分别检查。先打开注册表编辑器WinR输入regedit回车。打开后依次检查以下路径注册表路径说明HKEY_LOCAL_MACHINE\SOFTWARE\Keil32位系统上安装信息主键HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Keil64位系统上32位程序的相关信息HKEY_CURRENT_USER\Software\Keil当前用户的设置和License信息HKEY_CLASSES_ROOT\Keil.UVprojx 等工程文件关联扩展名ProgIDHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall卸载列表所在位置残留条目在这在操作前我的建议是先右击对应注册表项选择“导出”把备份保存到一个txt文件。这样万一误删可以再双击导入恢复。实际操作中你可以直接搜索“Keil”然后把搜出来的和Keil相关的项全部删除。不过要注意搜索出来的结果可能包含其他软件的残留别乱删凡是名字里明确带Keil或Arm的再删。需要注意64位系统上一条关键路径很多Keil信息其实存在WOW6432Node下只删了SOFTWARE\Keil不完整两个位置都要检查。如果你用的是注册表清理工具比如Geek Uninstaller自带的残留清理或CCleaner的注册表清理它们往往能一次找到多处残留比手动翻快很多。但工具只删它认识的最后的兜底还是集中在手动确认上面。4.4 清理环境变量环境变量是另一个隐蔽角落。Keil安装时会在系统环境变量里写入一些路径以便命令行工具直接调用armcc、fromelf等。最常见的是PATH里追加了类似C:\Keil_v5\ARM\BIN、C:\Keil_v5\ARM\BIN\ARMCLANG这样的项。另外还可能创建了ARMCC、ARM_ROOT等自定义变量。清理方法右键“此电脑”-“属性”-“高级系统设置”-“环境变量”在系统变量和用户变量里分别查找。如果确认存在Keil相关变量点击编辑把相关条目删除。如果整个变量只有Keil这一个值可以直接删除该变量。这一步做完后最好重新打开一个终端窗口输入set确认没有和Keil有关的变量输出。有人会问环境变量不清理会怎样最典型的后果是重装Keil后两个版本的工具链路径冲突命令行下编译时调用了旧路径下的armcc报“找不到文件”。另外清理干净后如果你打算以后换用arm-gcc或者别的IDE也可以避免工具链命令被截胡。4.5 清理调试器驱动如果你用过ULINK、ST-Link、J-Link等调试器那么设备管理器里大概率还保留着对应的驱动。严格来说这些驱动不算Keil主程序的残留但如果你问的是“彻底删除Keil5”那驱动也应该处理。打开设备管理器WinX选择设备管理器展开“通用串行总线设备”“调试器设备”或“端口”等分类找到名称带ULINK、CMSIS-DAP、ST-Link、J-Link等字样的设备。右键点击选择“卸载设备”然后在弹出的对话框中勾选“删除此设备的驱动程序软件”。注意J-Link驱动通常是由SEGGER独立安装的如果你用的是J-Link可能还应该在“程序和功能”里卸载“SEGGER J-Link”软件。不卸载驱动能不能用能用但会多个隐患旧驱动和重装后的新驱动可能冲突导致调试器识别不稳定。经历过这种事的应该都知道连接不上的时候还以为板子坏了其实只是驱动残留作怪。5. 特殊情况C51与MDK并存怎么处理5.1 并存安装的卸载顺序很多学51单片机的人毕业后又开始玩STM32于是电脑上同时装了Keil C51和Keil MDK-ARM两个版本。这种情况下卸载顺序很有讲究。两个版本共用同一个安装目录通常是C:\Keil_v5共用一个TOOLS.INI。如果你只卸其中一个卸载程序往往会删掉共享的配置信息导致另一个也“半残废”。比如你卸载MDK发现C51编译器的配置、头文件路径全部混乱了或者反过来卸C51导致MDK的Device列表消失。我的建议是如果两个都不需要了那就先卸载MDK-ARM再卸载Keil C51两个都走正规卸载流程然后统一清理。如果只想留一个就先把要留的那个版本涉及的所有自定义工程和Pack备份好卸载另一个时尽量不选择删除共享配置如果弹出询问卸载完马上打开留下来的那个检查Device列表是否正常必要时重装包里的对应器件包。5.2 只卸载其中一个的注意事项只想装回一个版本的话手动清理注册表时要格外小心。注册表里既有C51的信息也有MDK的信息全部删除会导致留下来的那个也失去License记录。操作上找到注册表里的Keil主键后不要整个删而是展开子项看清楚哪个子项对应C51哪个对应MDK。比如ARM子项对MWDC51子项对C51。不过说实话这种精确到子项的清理操作比较复杂如果你不是特别熟悉注册表结构我建议干脆把两个版本全部卸载彻底清理后再重装你要的那个反倒省心总比重装后跑来跑去追着报错要强得多。6. 常见问题与排查技巧实录6.1 卸载时提示“文件正在使用”怎么破这个百分之百是后台进程占用了动态库或驱动文件。处理顺序是打开任务管理器在“进程”里找到UV4.exe右键结束任务。查找JLink.exe、ST-LINK_SERVER.exe、armcc.exe等相关进程全部结束。还不行就重启一次重启后立刻删不要再打开Keil。如果再删不了建议进入安全模式安全模式下大部分服务和dll都不会加载删除会顺利很多。多说一句安全模式下注册表编辑器也可以用如果你需要在安全模式下清理注册表流程和常规状态下完全一致。6.2 重装后License一直报错这个问题十有八九跟注册表残留有关。旧License的CID信息还在注册表里新装的Keil读取到后会误以为你已经激活过而它自己又校验不过于是弹“No Valid License”。处理方法是重装Keil之前把HKEY_LOCAL_MACHINE\SOFTWARE\Keil、HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Keil、HKEY_CURRENT_USER\Software\Keil全部删除同时删除C:\Keil_v5\TOOLS.INI。然后重新打开Keil进入License Management重新输入新License问题基本就解决了。还有一种情况是你曾经手动把License放在安装目录下的LICENSE.TXT中卸载时没删干净重装时它会自动加载。这种文件通常在C:\Keil_v5\LICENSE.TXT需要你手动删除。6.3 清理后C盘空间没有变小这是一个非常普遍的认知误区。很多人以为卸载Keil就等于释放了C盘结果一看空间还是那样就觉得“删了个寂寞”。实际上Keil最占空间的并不一定是程序本体而是Pack包。如果你卸载的时候选了“保留配置”Pack就原封不动躺在AppData\Local\Arm\Packs里一个STM32F4系列的支持包就可能达到几百MB多个加在一起几GB一点不夸张。所以删完检查一下这个目录如果还在就大胆删。另外还有Windows的WinSxS组件存储卸载程序不一定立即释放文件重启一次后才会真正归还空间这是一个正常现象不用过度担心。6.4 卸载失败、卸载到一半退出了怎么办卸载程序退出后软件条目还“在”已安装列表里这种情况比彻底删不掉更恶心。碰到这种情况先别慌两步走第一步先用Geek Uninstaller这个工具扫描已安装程序找到Keil条目选择“强制卸载”。它会自动调用卸载程序并清理注册表残留。很多普通卸载工具能搞定这种事。第二步如果它也无能为力那就进入注册表找到HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall下的对应条目手动删除。这里删除后软件才会从“已安装应用”列表里消失。然后继续按前文的清理流程处理其他残留。6.5 残留的快捷方式和右键菜单偶尔你会注意到开始菜单里的“Keil”程序组还在右键单击.uvprojx文件时还会出现Keil打开选项。这些都是文件关联和开始菜单残留处理起来很简单开始菜单目录直接删掉C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Keil v5之类的文件夹文件关联则在注册表里搜索.HKEY_CLASSES_ROOT\Keil.UVprojx找到后删除。删除后右键菜单里就不会再出现Keil相关项了。7. 我的卸载经验总结写了这么多最后想说说我在实际清理过程中养成的一个习惯——绝对不在“还能凑合”的时候去卸载Keil。这种开发工具一旦装出了问题概率上多半比你想的复杂。我很多次帮人排查Keil问题最后的原因都往同一个方向收束上一次卸载没有清干净。如果你是遇到了顽固问题想重装别一上来就删先备份工程、记下License然后完完整整走一遍卸载流程。卸载程序跑完再按上文顺序清理安装目录、AppData、注册表、环境变量、驱动。最后一招——重启。重启能让残留文件释放占用也让注册表真正“静下来”回头再重装你会发现自己少走了无数弯路。这套流程我前后实践了不下十次从Win7到Win11都适用C51和MDK并存也试过只要按顺序走极少再出现重装后的诡异毛病。如果你正在经历Keil5卸载又卸不掉的痛苦不妨照着文中的清单一项项操作应该能把这个“顽固分子”真正清理出去。
返回列表