【electron】nsis重编译,自定义nsis校验弹窗警告的文案
nsis默认的弹窗警告:
可以修改NSIS目录下stubs/zlib_solid文件修改文案,该文件为c++项目编译产出后的文件,故需要修改文件需要重新编译nsis
1.下载nsis源码:
- 从 NSIS 官方网站 NSIS: Nullsoft Scriptable Install System - Browse Files at SourceForge.net 下载 源代码 zip 包,切记是-src的包,这里下载的是最新的Download NSIS: Nullsoft Scriptable Install System from SourceForge.net
2.安装python:
- 已安装的可以忽略,从 Python 官方网站 Download Python | Python.org 下载 ,这里下载的最新的3.10的版本,环境变量会默认配置,如果没有的话就主动添加
3.安装SCons:
- 从 SCons - Browse Files at SourceForge.net下载,这里下载的下载数量比较多的4.2的版本:Download SCons from SourceForge.net
- 解压后进入目录执行 python setup.py install 会自动安装到python目录下。
4.下载wxWidges:
- 从官网下载Downloads - wxWidgets ,这里下载的是最新版本3-1.6:https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.6/wxWidgets-3.1.6.zip
- 解压文件到合适的保存目录,新建环境变量WXWIN,值为解压后的目录
5.保证本地有vc++6.0的编译环境:
- 由于本地系统限制,安不了vs2022,故安装了vs2019的版本:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads
- 安装要保证选择了windown 10 SDK
6.编译menu文件:
- 进入nsis-3.08-src\Contrib\NSIS Menu\wx,vs打开对应的wxWidges项目,通过工具打开命令行(管理员方式打开)下启动 wxbuild.bat,先编译 Menu 程序
7.编译nsis:
- scons ZLIB_W32="D:\Program Files (x86)\Zlib-1.2.7-win32-x86" NSIS_CONFIG_LOG=yes NSIS_MAX_STRLEN=8192 dist-zip
重新编译后会生成一个nsis-(日期).cvs.zip文件,解压后找到stubs/zlib_solid_ansi文件覆盖原来的zlib_solid文件即可。
重编译中遇到的问题:
fatal error C1083: 无法打开包括文件: “stdio.h”: No such file or directory
网上方案都尝试过以后还是不行,从vs2019中直接调出命令行,然后再运行就ok了
编译中提示:
Please specify folder of zlib for Win32 via ZLIB_W32
在Zlib - NSIS下载对应的zib文件并配置对应的环境变量
如果还不行可以参考nsis官方文档,将zib配置路径在命令行中使用:scons ZLIB_W32="D:\Program Files (x86)\Zlib-1.2.7-win32-x86" NSIS_CONFIG_LOG=yes NSIS_MAX_STRLEN=8192 dist-zip 编译
中文乱码:
直接在编辑器中写入中文文案后弹窗展示为乱码
原因:
编辑器自动使用了utf-8编码,但是源文件使用的是ansi编码,在notepate++中调整编码格式即可
注:
如果是替换原文件,需要清楚原先的nsis的版本,我们之前用的是unicode版本的,所以后续又重新编译了一边unicode的src文件才ok,下载地址:https://code.google.com/archive/p/unsis/downloads
如果需要编译低版本的nsis,需要安装对应版本环境,如python使用2.7,vs使用vs2010
参考:
NSIS 3.0a1 - NSIS Forums
【electron】nsis重编译,自定义nsis校验弹窗警告的文案相关推荐
- 【Electron Playground 系列】自定义协议篇
作者: OBKoro1 1. 协议: 从网页端唤起Electron应用 elelctron提供了一个方式来自动唤起electron应用(如下图),这一次就让我们来学学如何通过连接来唤起electron ...
- gcc编译自定义头文件
2019独角兽企业重金招聘Python工程师标准>>> C中外部函数实例 内部函数:static声明,只对本文件域生效,外部不可引用 外部函数,使用extern声明,默认可以去掉,在 ...
- 存储过程中引用的常规表,临时表以及表变量是否会导致存储过程的重编译
在存储过程中,经常要引用一些表来存储一些中间数据,用完即删.对于这个中间表,用常规表,临时表或者表变量有什么区别呢? 下面我们看一下这三种中间表是否会造成执行计划的重编译. 首先打开sql serve ...
- 探秘重编译(Recompilations)(1/2)
什么是重编译? 在我谈SQL Server里重编译细节前,首先来看看下面一个很简单存储过程. 1 CREATE PROCEDURE DemonstrateTempTableRecompiles 2 A ...
- Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV
原文:http://www.cnblogs.com/freedomshe/archive/2013/01/11/win7_vs2012_opencv_rebuild.html 还可以参考:http:/ ...
- SpringBoot - 优雅的实现【自定义参数校验】高级进阶
文章目录 Pre 概述 三部曲 Step1 搞自定义注解 Step2 搞校验逻辑 Step3 使用 Step4 验证 附 int 类型的判断 源码 Pre SpringBoot - 优雅的实现[参数校 ...
- Unity3D对apk反编译、重编译、重签名
本文源链接:http://blog.csdn.net/qq393830887/article/details/56025923 工具 Java环境 Apktool(这玩意有些坑爹,不是官网最新的就好, ...
- 在Oracle中重编译所有无效的存储过程
SQL_PLUS中 spool ExecCompProc.sql select 'alter procedure '||object_name||' compile;' From all_object ...
- 推翻自己和过往,重学自定义View
http://blog.csdn.net/lfdfhl/article/details/51671038 深入探讨Android异步精髓Handler 站在源码的肩膀上全解Scroller工作机制 A ...
- opencv在vs2012下重编译详细教程——解决按f11进入不了源代码
最近用到opencv人脸识别的代码,想进源码看看实现过程,大家都知道opencv的源码在opencv/modules下,但是光看那么长的源代码实在麻烦,要是能在调试的时候按f11直接就能跟进内部代码就 ...
最新文章
- 6. 简单又复杂的“运算符”,建议你看一哈
- 2011年使用天正建筑8.0注册版(附注册机)
- 对人工智能问题的提问
- 为什么添加Web引用后,客户端就能远程调用WebService了?
- 选择加冒泡排序法与找鞍马之总结与感受
- mysql数据库改成支持中文_修改Mysql编码支持中文
- java中的抽象方法_Java中的抽象类和抽象方法
- 第六次作业之图形界面
- Netty实战项目:Spring boot 程序的聊天程序
- 剑指offer面试题15. 二进制中1的个数(位运算)
- linux live运行 光盘弹出复,通过liveCD进行ubuntu启动修复
- uniapp 公众号微信支付提示 调用支付jsapi缺少参数appid
- java-net-php-python-23jspm在线学习设计计算机毕业设计程序
- Google Cloud + Firebase 讲解
- EagleEye的特性分析
- chainWebpack配置WebWorkers
- RTCP Receiver Report(RR)相关
- 西安研究所 计算机专业,智能计算研究所
- 新年快乐,Blog开张了!
- JVM学习第三天(JVM的执行子系统)之开篇Class类文件结构