十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

SolidWorks卸载失败怎么办?从原理到实操的强制卸载完全指南

SolidWorks卸载失败怎么办?从原理到实操的强制卸载完全指南 你有没有经历过这种时刻SolidWorks卸载到一半弹了个1722错误再点一次卸载直接提示This action is only valid for products that are currently installed——翻译过来就是这软件已经进入半死不活状态你想卸也卸不掉想重装也装不回去。更麻烦的是你在控制面板里还能看到一堆SolidWorks相关条目点哪个都报错好像整个套件在你电脑里赖着不走了。这种问题在机械设计、非标自动化、模具行业的工程师电脑上太常见了。SolidWorks不是单一软件而是由几十个Windows Installer组件包组成的套件加上独立的许可服务、后台调度进程、Toolbox数据库卸载时只要一个环节卡住就会留下大量残留。这篇文章就专门讲SolidWorks强制卸载这事从为什么会卸不干净的原理讲起再把我从轻到重的四套强制卸载打法、被企业终端安全软件拦截时的合规处理方式、以及重装前的验证清单全部列出来。不管你是普通设计人员还是帮同事收拾电脑的IT这套流程都能直接照着操作。1. 为什么SolidWorks总是卸不干净——先从丢人的现场说起1.1 半卸载状态的真正成因要理解SolidWorks为什么容易卸载失败得先看一眼它的安装架构。你在安装SolidWorks时实际上不是往系统里放了一个大软件而是通过安装管理程序拆了几十个MSI包进去。比如主程序SLDWORKS是一个包eDrawings是一个包SolidWorks Composer、SolidWorks Explorer、Toolbox、PDM客户端、Visual Studio Tools for Applications运行库各自又是一个独立包。每个MSI包在Windows Installer里都有自己独立的注册记录卸载时安装程序要按顺序一个个调用来删除。问题就出在这个按顺序上。只要中间任何一个MSI包对应的缓存文件丢失、损坏或者被安全软件拦了一下卸载链就断了。Windows Installer发现自己引用的原始安装文件不在了就会直接抛错而不是跳过继续。结果就是一部分组件已经删了一部分还留在系统里注册表里残留项一大片但控制面板里那个卸载按钮已经点不动了。这就是半卸载状态——比完全没卸还麻烦。另一个常见成因是安装源路径失效。有很多公司部署SolidWorks时用的是网络共享路径或者映射盘安装卸载信息里记录着当时安装文件在哪。等到卸载时那个共享路径早就不存在了Windows Installer去访问发现路径不可达于是报1606错误。这种问题跟软件本身没啥关系纯粹是安装来源找不到了。1.2 多组件、多版本共存的卸载陷阱SolidWorks还有个让人头疼的特点它支持在同一台电脑上装多个版本。我见过不少人的电脑里同时存在2018和2020两个版本或者卸载了2020但2021早装好了。这时候卸载任何一个版本都要特别小心别把共享的组件一起干掉。更隐蔽的是SolidWorks很多组件是跨版本共享的。比如Common Files\SOLIDWORKS Shared目录下的文件可能被多个版本同时引用注册表里HKLM\SOFTWARE\SolidWorks下的某些键也是多版本共用的。如果你卸载2018时手一抖把共享文件删了2020马上跟着出问题。这也是为什么我不建议一上来就手动删目录——你必须先搞清楚哪些是某个版本独有的哪些是共用的。1.3 许可服务不停删除文件永远被拒还有一大类卸载失败根源在许可服务上。SolidWorks的授权体系分两代2015及更早的版本用FLEXnet框架服务名叫FLEXnet Content Service主程序是lmgrd.exe2016及以后的版本改用SolidNetWork License Manager服务名叫SolidWorks Licensing Service主程序是SolidWorks.Licensing.Service.exe。这两个服务在系统后台是常驻的。你从控制面板点卸载时安装程序会尝试删除主程序文件但许可服务进程还占用着那些文件呢——尤其LICENSE.lic、lmgrd.exe这类文件结果就是删除被拒绝。更烦人的是卸载过程中如果许可服务没停Windows Installer可能认为还有程序在运行直接判定卸载失败并回滚。所以每次强制卸载前第一件事永远是去服务管理器把这两个服务停掉而不是急着去控制面板点卸载。2. 动手之前备份、停服、排优先级一个不能少2.1 备份模板与自定义设置重装后才不会后悔很多人卸载SolidWorks是抱着我要重装的目的但真到了重装完打开新软件才发现自己攒了几年的模板没了宏文件没了自定义的图纸格式也没了。这时候再回头找备份就来不及了。所以我先把备份的事情放在最前面说。需要备份的内容主要有这几块模板文件默认在%AppData%\SolidWorks\SOLIDWORKS\版本号\templates里面是.prtdot零件模板、.asmdot装配体模板、.drwdot工程图模板。如果你自己写过模板库一定记得拷走。自定义属性卡路径在%AppData%\SolidWorks\SOLIDWORKS\版本号\custom property files后缀是.sldpropcat。宏文件默认位置%AppData%\SolidWorks\SOLIDWORKS\版本号\macros.swp和.swb文件。Toolbox配置如果你给标准件库做过自定义配置先记一下配置内容。Toolbox的数据库文件在C:\ProgramData\SOLIDWORKS\SOLIDWORKS 版本号\toolbox但这个目录比较大建议只备份你确实改动过的部分。材料库、焊件轮廓、注释模板这些散落在不同的自定义目录里最稳妥的办法是把整个%AppData%\SolidWorks目录都压缩一份虽然里面有些缓存文件比较大但比漏掉东西强。如果主程序还能正常打开优先用SolidWorks自带的SolidWorks设置向导开始菜单里找SolidWorks Tools导出设置。这个工具能把快捷键、鼠标手势、系统选项、界面自定义全部打包成一个.sldreg文件。但如果主程序已经打不开或者卸载到一半出错了就老老实实走上面的手动复制路线。2.2 停掉全套后台进程与许可服务卸载前清理运行环境这一步很多人会忽略但恰恰是不报错的关键。按这个顺序来退出SolidWorks相关进程打开任务管理器把所有带SolidWorks字样的进程结束掉包括sldworks.exe主程序、swScheduler.exe任务调度、sldworks_fs.exe后台搜索、sldShellFe.exeShell扩展、swspManager.exe更新管理器。如果进程列表里没有跳过就行。停许可服务按WinR输入services.msc在服务列表里找到SolidWorks Licensing Service和FLEXnet Content Service右键停止。顺手把启动类型改成禁用免得卸载过程中它自己又拉起来。命令行的方式也可以管理员身份打开CMD执行net stop SolidWorks Licensing Service。退杀毒软件如果你用的是个人版杀毒/安全卫士比如360安全卫士、火绒的个人版卸载前建议右键托盘图标退出。因为SolidWorks卸载过程要写大量注册表和系统目录实时防护容易误拦截导致卸载静默失败。企业管控环境下能否退出看第4章的说明不要自己硬来。拔掉所有外接设备加密狗、移动硬盘、U盘都先拔掉。我遇到过因为一个U盘占用了盘符导致SolidWorks卸载程序在写安装源路径时产生冲突的情况。虽然概率不高但顺手拔掉没坏处。2.3 先走一遍正规卸载给系统一个改过自新的机会我见过一些急性子的同事上来就直接删文件夹、清注册表结果把系统搞得更乱。强制卸载的前提是正规路径走不通不是正规路径太麻烦。所以第一步永远是先尝试正规卸载。正规卸载有两种入口控制面板/设置 → 应用在已安装应用列表里找到SolidWorks相关条目逐个卸载。顺序上先卸主程序再卸组件最后卸载许可服务和Toolbox。不要一次性全选批量卸Windows Installer对并发卸载的支持很差。SolidWorks安装管理程序开始菜单里找到SolidWorks安装管理程序SW Install Manager选择修改安装然后选卸载。这个方式比控制面板更靠谱因为安装管理程序知道组件间的依赖关系会按正确顺序卸载。如果这两种方式能顺利走到最后那就不需要看后面强制卸载的内容了。但如果你跟大部分人一样走到一半就报错或者卸载完成后发现残留一堆那就进入正题——下面四套打法从温和到激进按顺序试。3. 四套强制卸载打法从温和到激进按序尝试3.1 微软官方疑难解答工具适合解决半残状态微软官方有一个程序安装和卸载疑难解答程序Microsoft Program Install and Uninstall Troubleshooter专门用来修复那些卸载列表里能看到、但点了没反应的程序。这个工具微软官网就能下载界面是全中文的操作很无脑运行后选择卸载然后从列表里选SolidWorks相关条目它会自动修复安装记录并尝试卸载。它的原理其实是通过重置Windows Installer的注册信息、清除损坏的安装缓存标记让系统重新认识这个已安装程序然后完成卸载。所以它特别适合处理前面说的半卸载状态——系统里明明有很多SolidWorks残留但卸载入口已经失效的情况。需要说明的是这个工具不一定能一次解决问题。我遇到过一个案例SolidWorks 2020卸载到一半报1722重启后控制面板里还能看到条目但点卸载直接弹This action is only valid for products that are currently installed。我用这个工具跑了三轮每一轮都能清掉一部分条目最后才把所有SolidWorks相关记录清干净。所以别指望一次成功多跑几轮不丢人。3.2 第三方卸载工具扫描残留Revo/Geek的正确用法如果微软官方工具搞不定第二个推荐是第三方卸载工具我用得比较多的是Revo Uninstaller和Geek Uninstaller。这两个都是正规软件原理是在执行卸载前先创建系统还原点然后调用程序自带的卸载器卸载结束后再扫描注册表和文件系统里的残留项逐个帮你清理。这里要提醒一个关键点Revo的高级扫描会扫出来大量注册表项里面除了SolidWorks自己的还有SolidWorks安装时带进来的Visual C运行库、.NET组件、MSXML这类系统级组件。很多人看到扫描结果里一堆SolidWorks字样就全选删除结果把其他软件共用的运行库也删了重装完这个软件报错、那个软件打不开。我自己的习惯是只勾选注册表路径里明确带SolidWorks/SOLIDWORKS/FlexNet/FLEXnet关键词的项其他不确定的一律跳过。宁可留一点残留也不能误伤系统组件。Geek Uninstaller比Revo轻量得多它的特点是能强制删除卸载列表里的残留条目——比如软件明明卸干净了但应用和功能里还留着一条卸载记录用它右键选择强制卸载就能清掉。如果你只是遇到列表残留这种小问题用Geek就够了如果是大规模的卸载失败才需要Revo的完整方案。3.3 命令行msiexec定向卸载清晰地告诉系统删掉这个包当你明确知道SolidWorks某个组件对应的Windows Installer产品代码ProductCode时可以直接用msiexec命令定向卸载。这个方法适合在控制面板卸载失败、但你想精确控制卸载目标时使用。怎么找到产品代码用PowerShell跑一段命令就行Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName -like *SOLIDWORKS* } | Select-Object DisplayName, PSChildName, UninstallString输出结果里PSChildName那一列就是{GUID}形式的产品代码UninstallString是系统记录的卸载命令。拿到产品代码后用管理员CMD执行msiexec /x {你的产品代码} /qn /norestart /l*v C:\sw_uninstall.log参数说明/x表示卸载/qn表示静默模式不弹界面/norestart是卸载完不自动重启/l*v会把详细日志写到指定文件。日志文件很重要如果卸载失败打开日志搜Return value 3或error关键字能定位到具体是哪个文件删不掉、哪个注册表写不了。我建议你先把所有SolidWorks相关条目都列出来然后逐个执行msiexec卸载。有些条目可能已经损坏——日志里会提示Product {GUID} not registered——那就跳过直接进入下一步的手动清理。需要注意的是msiexec卸载是同步操作一个命令没跑完别开第二个。3.4 终极手动清理注册表、服务、文件三项全清到了这一步说明前面所有自动化手段都用尽了。手动清理是整个强制卸载流程里最见功力的一步也是最容易出事的一步。核心原则只有一条先备份再删除。先说服务。管理员CMD执行以下命令把SolidWorks相关的Windows服务从系统里彻底移除sc delete SolidWorks Licensing Service sc delete FLEXnet Content Service如果提示服务不存在说明前面已经卸干净了忽略即可。这里要注意手动删除服务之前最好先确认服务已经停止不然删完之后可能残留一个停止失败的僵尸项。然后是注册表。用regedit打开注册表编辑器重点检查以下分支HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks主配置分支HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SolidWorks64位系统下32位组件的配置HKEY_CURRENT_USER\Software\SolidWorks当前用户的个人设置多用户电脑上每个账户都要查一遍HKEY_CLASSES_ROOT\Installer\ProductsWindows Installer的产品注册列表这里不会直接显示SolidWorks字样需要在编辑→查找里搜SOLIDWORKS找到对应条目后删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SolidWorks如果有残留的服务注册项也删掉在动手删任何一个键之前右键选择导出保存一份.reg备份文件。宁可备份文件占了几个MB也不要冒着删错无法恢复的风险。查找操作建议以SOLIDWORKS全大写为关键词因为注册表里SolidWorks的注册项经常是全大写形式只搜SolidWorks会漏掉一多半。文件清理方面依次检查并删除这些目录C:\Program Files\SOLIDWORKS Corp默认安装目录含FlexNet子目录C:\Program Files\Common Files\SOLIDWORKS SharedC:\Program Files\Common Files\SolidWorks Shared旧版路径C:\ProgramData\SOLIDWORKS包含Toolbox数据库、许可配置C:\ProgramData\FLEXnetFLEXnet许可缓存注意这里可能还有别的软件的许可文件删除前看下内容%USERPROFILE%\AppData\Roaming\SolidWorks%USERPROFILE%\AppData\Local\SolidWorksC:\Windows\Temp下带SolidWorks后缀的临时文件删除前同样建议先统一打包到一个备份目录确认重装一切正常后再删除备份。文件删除如果提示被占用用任务管理器关掉相关进程或者重启后再删。有朋友可能会问C:\Windows\Installer缓存里的MSI文件要不要动。我的建议是不要直接碰。这个目录是Windows Installer的全局缓存里面混着系统里所有软件安装包的缓存你没法轻易分辨哪个.msi对应SolidWorks。乱删这个目录可能导致系统里其他软件都无法卸载或修复。真要处理的话用前面的msiexec命令让系统自己清比手工删安全得多。3.5 卸载顺序的优先级问题最后说一个手动清理时的顺序问题先清服务再清注册表最后清文件还是反过来我的习惯是先服务再注册表最后文件。原因很简单服务注册在系统里如果先删文件服务还指着那些文件路径可能自动重建或者产生大量错误日志注册表也是类似的道理。把服务和注册表清干净之后文件就变成了孤儿文件删起来没有阻碍。还有一点如果你在卸载过程中创建过系统还原点手动清理完成后可以尝试用还原点把系统恢复到某个组件已经卸载、其他组件还在的中间状态再重新走一遍正规卸载。这个操作听起来绕但在某些极端情况下比纯手动清理更省事。4. 企业管控电脑上的特殊情形被终端安全软件拦截怎么破4.1 拦截弹窗的真相不是SolidWorks不想走是安全策略不让走现在很多公司给员工电脑统一装了终端安全管控软件比如奇安信天擎、360企业版、腾讯电脑管家企业版、飞连终端管理等。在这些电脑上卸载SolidWorks时你可能会遇到一个和前面完全不同的现象卸载程序刚启动弹窗提示操作被管理员禁止或者明明在控制面板里点了卸载过了几秒钟又被自动恢复了——好像有只无形的手把你的操作按了撤回键。这不是SolidWorks卸载程序出了问题而是企业终端安全策略在起作用。大多数企业的默认安全基线里有一条禁止终端用户自行卸载软件。原因很实际如果允许用户随便卸载安全软件那安全软件本身就成了摆设同时企业也不希望用户随意卸载统一部署的设计软件这会打乱软件资产台账。所以管控终端上凡是涉及卸载软件的操作都会被EDR行为监控拦截。4.2 正确做法申请管理员权限而不是想办法绕过有些同事会去网上搜终端防护中心怎么强制卸载奇安信天擎强制卸载工具之类的内容试图绕过管控把安全软件干掉。我的建议非常明确这条路不要走。先不说技术上能不能成这种行为在企业安全审计里属于高风险事件一旦被记录轻则通报批评重则影响你的IT权限。更现实的问题是即便你强行把终端防护关了SolidWorks卸载程序在写系统目录和注册表时仍然可能因为权限不足报错——企业的域策略不会因为你关了客户端就消失。正确的路径是这样在终端防护客户端里找权限申请或工单入口。大部分企业版终端管理软件都有这个功能你可以提交一条申请临时卸载/重装SolidWorks的工单说明用途和预计耗时。联系IT管理员说明情况。管理员在管控后台可以对你的终端做临时放行或者直接远程帮你操作。很多公司的IT部门手头有标准的SolidWorks重装流程你申请一次人家可能比你更熟。如果是个人电脑装了企业版终端、没有管理员后台可找那就联系软件供应商的技术支持他们通常有和终端管控兼容的处理方案。我这些年处理过不少被拦截的卸载请求最终100%都是通过申请管理员权限解决的。走正规流程一般几小时就能批下来而自己折腾绕过方案往往一两天都搞不定还容易把系统搞坏。4.3 卸载完成后让管理员复查一下终端状态有一点容易被忽略在管控终端上完成SolidWorks卸载后最好主动告知IT管理员让管理员确认终端安全客户端状态正常、没有因为卸载过程触发策略告警。我自己就遇到过这样的情况用户卸载SolidWorks时终端防护拦截了部分操作卸载完成后安全软件自检一直提示检测到异常系统状态最后IT远程还原才解决。如果你在卸载过程中确实把终端防病毒软件退出了仅限个人版软件且企业允许的情况卸载完成后务必第一时间重新打开并做一次全盘查杀。别嫌麻烦这是对自己电脑安全负责。5. 重装前的验证与翻车补救5.1 五个检查点确认真的卸干净了不管你用了哪套卸载方案重装之前都要先做一轮验证。不然你辛辛苦苦卸载完装的时候又提示检测到现有安装心态直接崩。我总结了五个检查点检查点检查方法通过标准应用列表设置→应用检查已安装列表没有SolidWorks相关条目服务状态运行services.msc搜索SolidWorks/Flex不存在相关服务文件目录检查第3.4节列出的目录全部不存在或为空注册表regedit搜索SOLIDWORKS搜不到相关项除系统还原点外安装管理器运行SolidWorks安装管理程序不再提示检测到现有安装请先卸载这五个检查点全部通过才能进入重装环节。个别人会问注册表里搜SOLIDWORKS还有几条但路径指向的是Visual C运行库里的引用要不要删我的建议是不要动。那些不是SolidWorks自身的注册项删了反而可能影响其他软件。5.2 重装时常见的三张旧面孔报错即使检查点都过了重装时仍可能遇到几个老熟人报错我挨个说下应急处理。第一是Error 1606。这个报错出现时安装程序会提示无法访问网络位置。原因通常是卸载信息里记录了原来的安装源路径比如公司共享盘而那个路径已经失效。处理办法在注册表HKEY_CURRENT_USER\Software\Microsoft\Installer\Products下找到对应的安装源记录把InstallSource值改成当前可用的本地路径或者直接删掉这个键下的Sources子项让安装程序重新获取。改注册表前别忘了导出备份。第二是Error 1603。这个报错信息很笼统就是安装过程中发生致命错误。处理思路是先看安装日志——安装程序一般会在C:\Users\用户名\AppData\Local\Temp生成\*.log文件按时间排序找到最新的一个打开搜error往往能定位到具体是权限不足还是某个文件被占用。权限问题就右键以管理员身份运行安装程序文件占用就重启后再试。大部分1603都是因为安装时没退出杀毒软件重启进入干净系统环境后就没问题了。第三是Another installation is already in progress另一个安装正在进行。这个报错说明Windows Installer的全局锁还在。卸载程序崩溃退出后msiexec.exe进程可能还挂在后台。处理办法任务管理器里强制结束所有msiexec.exe进程然后重启电脑。如果重启后还报这个错可能是Windows Installer的注册表状态损坏了需要用微软官方工具或命令重置Windows Installer状态。还有一个Error 2755: Server returned unexpected error也偶尔遇到它通常和安装程序所在路径的权限有关。把整个安装包复制到本地磁盘比如D:\SW2024再以管理员身份运行往往就解决了。这个报错在从网络共享路径安装时尤其常见。6. 我从多次强制卸载里总结的几条经验手动清理注册表那次我因为忘了导出备份把一个键删错导致重装SolidWorks后插件注册表路径错乱工具箱始终加载不出来最后只能靠系统还原把整个系统退回重来。那次之后我养成了几个习惯顺便分享给看到这里的你。第一任何卸载操作之前先建系统还原点。控制面板里搜创建还原点一键搞定。虽然还原点不是万能的但在你手动删注册表手抖时它是唯一的后悔药。第二干净不是指注册表零残留。很多人强迫症发作非要把注册表里所有和SolidWorks沾边的键都删光。实际上一些无害的日志键、MRU最近使用记录键留着完全不影响使用。为了删干净而误删共享组件才是真正的灾难。我见过最惨的一个案例同事为了清理SolidWorks残留把SOLIDWORKS Inspection和SOLIDWORKS PDM相关注册表全删了结果实际影响到了Visual Studio组件最后整个Visual Studio都打不开了。第三重新安装后优先验证许可服务。SolidWorks重装完最容易出问题的地方不是主程序而是许可服务。如果卸载时有残留新装版本会跟旧许可服务冲突打开软件时提示无法获得许可。所以重装完成后第一步去服务管理器确认SolidWorks Licensing Service正在运行然后打开SolidWorks主程序测试新建零件、打开装配、出工程图三个基础功能全部正常才算真正完事。强制卸载SolidWorks的流程看起来繁琐但真正走一遍也就一个多小时。核心思路不复杂先备份再正规卸载正规路走不通就从轻到重用强制手段最后验证。只要每一步都别偷懒绝大多数卸不掉的问题都能干净利落地解决。
返回列表