当前位置: 首页 > article >正文

解决 electron 打包后部分电脑报错 Error: Dynamic Symbol Retrieval Error: Win32 error 126

electron 开发使用了 ffi-napi 来调用了 C 函数的 dll 文件,在打包上线后,发现某些电脑上运行之后一直报错 Error: Dynamic Symbol Retrieval Error: Win32 error 126
如图所示:
在这里插入图片描述

排查了很多原因,有说是路径问题,有说是环境变量问题,但是这个问题只是小批量用户偶发的现象,按照教程修复之后一直没有效果,最终排查出来是因为有些用户的电脑没有 vc 的运行时,而调用的 dll 文件是在 vc 运行环境编译的,导致报错,所以将 vc 运行时的 exe 文件放到安装目录中,在安装过程中写一个自定义 nsh 脚本安装上这个exe,这些用户就可以正常使用了。
exe 下载链接:https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170
在这里插入图片描述
根据编译环境下在相应的运行时文件,一般使用 x64 就可以

然后在 nsh 脚本中写自定义脚本,nsh 自定义脚本可以自行网上搜索如何添加

!macro customInstall
ExecWait ‘$INSTDIR\resources\vcrunning\VC_redist.x64.exe /install /quiet /norestart’
!macroend

我是将这个exe放到 vcrunning 目录中了,可以根据自己的安装目录修改一些安装的路径, /install /quiet /norestart 参数指静默安装,这样的话在用户安装软件安装包的过程中,会静默帮用户安装一个vc 运行时,就可以正常的调用 C 的 dll 文件了。


http://www.kler.cn/a/402335.html

相关文章:

  • 【设计模式】【行为型模式(Behavioral Patterns)】之状态模式(State Pattern)
  • Windows系统电脑安装TightVNC服务端结合内网穿透实现异地远程桌面
  • JSON路径工具类`JsonPathUtil`的实现与应用
  • 破解天然气巡检挑战,构建智能运维体系
  • [ZJCTF 2019]NiZhuanSiWei
  • 802.11协议
  • CI配置项,IT服务的关键要素
  • Vue3 + Vite 项目引入 Typescript
  • 应聘美容师要注意什么?博弈美业收银系统/管理系统/拓客系统分享建议
  • 【并发模式】Go 常见并发模式实现Runner、Pool、Work
  • 海外媒体软文发稿:打开全球传播的新窗口-大舍传媒
  • Android CCodec Codec2 (二一)InputBuffers
  • 【工控】线扫相机小结 第三篇
  • 项目进度计划表:详细的甘特图的制作步骤
  • Vulnhub靶场案例渗透[11]- Momentum2
  • Linux进阶:压缩、解压
  • 开源控件:Qt/C++自定义异形窗口和颜色选择器 【工程源码联系博主索要】
  • 【游戏开发】【Unity】基本的Unity概念
  • 深入解析 MySQL 数据库:负载均衡
  • unity 打包WebGL打开后Input无法输入中文,在手机端无法调用输入法(使用WebGLInput)
  • 【Keil5教程及技巧】耗时一周精心整理万字全网最全Keil5(MDK-ARM)功能详细介绍【建议收藏-细细品尝】
  • SSHPASS或者rsync远程自动连接服务器并且在docker中跑脚本
  • 【迅为】瑞芯微-RK3568开发板Linux+HAL启动测试
  • CSS回顾-CSS选择器详解
  • 智能电视/盒子的应用管理——通过ADB工具优化体验
  • GIS开发该怎么系统性地学习?