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

server/2024/11/19 9:32:56/

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.ppmy.cn/server/143141.html

相关文章

Lua资料

Lua脚本语言 cheet sheet Lua & c Lua与C API交互全面解析 Lua语言:和C语言的交互 Lua进阶用法之Lua和C的接口设计 Lua C API 简介 C和Lua之间的相互调用 深入Lua:用户数据userdata 基本数据类型 之 UserData calling-lua-from-c/ Embedding Lua i…

OPC UA 服务器

OPC UA(OPC Unified Architecture) 是一种平台无关的通信协议,广泛用于工业自动化领域。它由 OPC 基金会开发,主要设计目标是实现安全、可靠和互操作性的数据交换,适用于各种设备和系统之间的通信。 什么是 OPC UA 服务…

剧本杀门店预约小程序,解锁沉浸式推理体验

一、开发背景 剧本杀作为一种热门娱乐游戏,深受大众的欢迎,但随着市场的快速发展,竞争也在不断加大,对于剧本杀线下商家来说面临着发展创新。 剧本杀线下门店数量目前正在逐渐增加,竞争激烈,而门店的获客…

SpringBoot 中常见的设计模式

在 Spring Boot 中,很多设计模式是通过 Spring 框架本身来实现的,但我们也可以在实际开发过程中看到多种设计模式的应用。以下是几个常见的设计模式及其在 Spring Boot 中的应用实例: 1. 单例模式 (Singleton Pattern) 在 Spring 中&#x…

后端-Result.java工具类和SystemCode.java工具类

一.Result.java工具类 package com.hs.util; /** * 响应格式类 * 作用&#xff1a;统一服务端的响应数据格式 */ public class Result<T> { /** * 响应代码 */ private int status; /** * 响应信息 */ private String message;…

Qt邮箱程序改良版(信号和槽)

上一版代码可以正常使用,但是会报错 上一篇文章 错误信息 "QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread" 指出了一个问题&#xff0c;即在非主线程中尝试启用或禁用套接字通知器&#xff08;QSocketNotifier&#xff09;…

【Diffusion模型】Cold Diffusion: 无噪声反转任意图像变换

Cold Diffusion: Inverting Arbitrary Image Transforms Without Noise 标准的扩散模型涉及图像变换--添加高斯噪声和反转这种退化的图像复原算子。我们观察到,扩散模型的生成行为与图像降级的选择并无密切关系,事实上,通过改变这种选择,可以构建整个生成模型系列。即使使用…

举例矢量路由协议-RIP

前言 基于距离的矢量算法协议,跳数作为度量来衡量到达目的网络的距离. RIP主要应用与规模较小的网络中. 路由信息协议-RIP RIP是一种简单的内部网关协议.基于距离矢量的贝尔曼-福特算法(Bellman-Ford)来计算到达目的网络的最佳路径. RIP协议的开发时间较早,宽带,配置,管理方面…