2024.10.8修改:
增加了一些图片并优化了操作过程;
增加常见问题说明,见文末:
对于手动安装旧版edge webview2 runtime给出一个可用资源(不建议手动安装),详见安装旧版edge webview2 runtime的一些坑(最终安装edge webview2 runtime109.0.1518.78)-CSDN博客
本文的时效性(必看)
笔者遇到的问题是当前(2024.10.6)新版本的edge webview2 runtime与solidworks2024的安装程序“不兼容”。目前发现不兼容的edge webview2 runtime版本号有:129.0.2792.65、129.0.2792.79。solidworks版本是2024SP0.1。后续版本中如果微软/达索修复了该问题,则本贴可能不再适用,当然大家可以先去看本贴的“确定原因”部分,看是否与自己的问题相符。
本文参考:EmbeddedBrowserWebView.dll崩溃 - Microsoft Community
省流:卸载新版本的edge webview2 runtime
前言
笔者在几个月前安装过solidworks2024,并且成功安装了。但这两天重装系统后,使用原来的安装包却发现在双击setup.exe后“无响应”。
其实并不是无响应,我们能看到光标变成圆圈说明在加载了,只是软件最终崩溃了,安装界面没有成功弹出。明明是同样的安装包,重装后的系统也应该更容易安装,几个月前可以,现在出现软件崩溃了,为什么会出现这种情况呢?机智的小伙伴也许猜到了问题可能出在微软推送的系统更新(哎....微软)。
确定原因
下面我们来确定软件崩溃的原因是否和笔者的原因一致,首先打开“事件查看器”
如图,我们可以找到软件崩溃的详细信息。
错误应用程序名称: sldIM.exe,版本: 32.0.1.4,时间戳: 0x6525d2b6
错误模块名称: EmbeddedBrowserWebView.dll,版本: 129.0.2792.79,时间戳: 0x66fde98b
异常代码: 0x80000003
错误偏移量: 0x0021003b
错误进程 ID: 0x0x2104
错误应用程序启动时间: 0x0x1DB173BA5359839
错误应用程序路径: G:\sw\SolidWorks 2024(64bit)\SolidWorks 2024(64bit)\SolidWorks 2024(64bit)\SolidWorks 2024(64bit)\Setup\sldIM\sldIM.exe
错误模块路径: C:\Program Files (x86)\Microsoft\EdgeWebView\Application\129.0.2792.79\EBWebView\x86\EmbeddedBrowserWebView.dll
报告 ID: 72299f59-73f8-4c5c-8c8b-53e9b35717e8
错误程序包全名:
错误程序包相对应用程序 ID:
我们可以发现问题出现在“129.0.2792.79\EBWebView\x86\EmbeddedBrowserWebView.dll”
错误模块路径: C:\Program Files (x86)\Microsoft\EdgeWebView\Application\129.0.2792.79\EBWebView\x86\EmbeddedBrowserWebView.dll
那么“EmbeddedBrowserWebView.dll”属性哪个软件呢,从路径中可以看出是EdgeWebView,也就是我们电脑上的“edge webview2 runtime”。打开“设置”->“应用”->“安装的应用”这个问题有老哥已经发现了,大家也可以直接参考EmbeddedBrowserWebView.dll崩溃 - Microsoft Community
我们发现原因是应该是当前新版本的edge webview2 runtime与solidworks2024的安装程序“不兼容”。目前发现不兼容的edge webview2 runtime版本号有:129.0.2792.65、129.0.2792.79。solidworks版本是2024.0.1。
解决方法
那么解决方法也很显而易见了
1.尝试安装其他版本的solidworks,等待微软/达索在未来修复这个问题。笔者目前还没有看到网上有旧版的solidworks受到该问题影响。
2.降低edge webview2 runtime的版本,但是edge webview2 runtime的安装程序不能直接降低版本,所以我们需要手动卸载新版本后再安装旧版本。因为当solidworks的安装程序没有检测到edge webview2 runtime时,solidworks的安装程序会自动安装兼容的edge webview2 runtime,所以我们只要卸载新版本edge webview2 runtime就可以了。不建议手动安装旧版本,详见文末问题说明。
下来介绍笔者的操作过程,大家系统情况可能各不一样,仅供参考。大家也可以直接搜索如何卸载edge webview2 runtime。
首先我们当然是尝试直接卸载,但是我们可能会发现卸载按钮是灰色的(哎...微软)
当时笔者在这里心急使用第三方删除软件(geek uninstaller、HiBit Uninstaller)直接删除了edge webview2 runtime,大家同样可以直接使用这些卸载软件卸载/强制删除edge webview2 runtime即可。如果我们此时去安装solidworks,运行setup.exe会弹出安装界面,并自动安装edge webview2 runtime。
此时如果能安装成功(虽然笔者并没有),那么下面正常安装solidworks即可。
但是很可能我们删除/卸载不彻底,solidworks安装edge webview2 runtime会显示失败弹窗。
我们可以去验证一下,到微软官网,下载WebView2Runtime并安装,此时会提示“安装失败。已为系统安装 Microsoft Edge WebView2Runtime”,说明我们卸载并不彻底。
我们需要删除注册表,可参考https://www.yoojia.com/ask/17-14782222706581622502.html,笔者当时删除了
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
调出注册表编辑器可直接左下角搜索也可以按下“win+r”组合键->输入“regedit”->确定。
删除注册表后,我们再次运行solidworks的setup.exe会弹出安装界面,并自动安装edge webview2 runtime,成功安装后,就是solidworks的正常安装流程了(熟悉的界面)。
灰字是个人经历,大家可忽略:笔者当时不知为什么(可能是惯性)在删除注册表后再次尝试安装了WebView2Runtime,这次没有报错正常安装了(大家就不用再去尝试WebView2Runtime了,直接去安装solidworks即可),不过能正常安装说明我们之前的卸载已经比较彻底了。
之后笔者再次卸载了WebView2Runtime,这时系统设置里的应用卸载按钮不是灰色,大家如果也像笔者一样,此时直接点击卸载即可。
最后笔者再次运行solidworks的setup.exe会弹出安装界面,并自动安装edge webview2 runtime,edge webview2 runtime成功安装后,就是solidworks的正常安装流程了。
自动安装的edge webview2 runtime版本为113.0.1774.42。
常见问题
根据评论区小伙伴的尝试,edge webview2 runtime的cab文件安装难度很大,不建议大家尝试(我也试了下,并没有成功)。其实当我们卸载edge webview2 runtime后,solidworks的安装程序会自动安装edge webview2 runtime的兼容版本的,如果solidworks的安装程序安装edge webview2 runtime报错
通常是由于我们之前的删除操作不彻底,需要手动删除注册表,详见评论区置顶或者文章中的说明。
经过验证,solidworks自动安装edge webview2 runtime似乎并不需要联网,安装失败,建议大家优先检查注册表是否删除。
如果真的需要手动安装旧版edge webview2 runtime,可跳转至安装旧版edge webview2 runtime的一些坑(最终安装edge webview2 runtime109.0.1518.78)-CSDN博客