electron nsis打包windows应用程序

使用electron开发应用程序之后,经常会单独对windows做32位或者是64位程序打包操作,有时候默认的程序做不了相应的需求,往往需要添加单独的页面或者是修改默认的操作,比如一下添加一个默认的选择页面:

自定义脚本代码如下所示:

!define MUI_LANGUAGE "Chinese"

Unicode true

!include nsDialogs.nsh

!include LogicLib.nsh

#OutFile nsDialogs.exe

#RequestExecutionLevel user

#ShowInstDetails show

Var Dialog

Var Bool_mysql

Var Bool_java

;mysql

Var Ck_mysql

;java

Var Ck_java

Page custom pgPageCreate pgPageLeave

Function pgPageCreate

nsDialogs::Create 1018

Pop $Dialog

{If} Dialog == error

Abort

${EndIf}

${NSD_Createcheckbox} 50u 0u 70u 20u "mysql"

Pop $Ck_mysql

StrCpy 1 Ck_mysql

GetFunctionAddress $3 OnClick_CheckMysql

nsDialogs::onClick 1 3

StrCpy $Bool_mysql 0

${NSD_Createcheckbox} 50u 40u 70u 20u "java"

Pop $Ck_java

StrCpy 1 Ck_java

GetFunctionAddress $3 OnClick_CheckJava

nsDialogs::onClick 1 3

StrCpy $Bool_java 0

nsDialogs::Show

FunctionEnd

Function PgPageLeave

FunctionEnd

Function OnClick_CheckMysql

{IF} Bool_mysql == 1

IntOp Bool_mysql Bool_mysql - 1

StrCpy 1 Ck_mysql

${ELSE}

IntOp Bool_mysql Bool_mysql + 1

StrCpy 1 Ck_mysql

${EndIf}

FunctionEnd

Function OnClick_CheckJava

{IF} Bool_java == 1

IntOp Bool_java Bool_java - 1

StrCpy 1 Ck_java

${ELSE}

IntOp Bool_java Bool_java + 1

StrCpy 1 Ck_java

${EndIf}

FunctionEnd

!macro customInstall

{If} Bool_mysql == 0

${ELSE}

MessageBox MB_OK "001" IDOK

${EndIf}

{If} Bool_java == 0

MessageBox MB_OK "200" IDOK

${ELSE}

MessageBox MB_OK "201" IDOK

${EndIf}

!macroend

Section "MainSection" SEC01

SectionEnd

相关推荐
不总是10 小时前
Windows 系统 Node.js 免安装版(zip)安装与配置教程(2026 最新)
前端·windows·node.js
zhangyao94033011 小时前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
XinZong11 小时前
实测OpenClaw虾淘:全民工具AI时代,冷门非工具类的Skill还能出圈吗?
javascript
烛衔溟11 小时前
TypeScript 类的类型 —— 作为类型使用
javascript·ubuntu·typescript
之歆11 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化
kyriewen12 小时前
我关掉了Copilot:因为我写的代码出现在了别人的建议里
前端·javascript·ai编程
不总是12 小时前
[2026最新] Windows 免安装版 MySQL 8 详细安装配置教程(ZIP 压缩包版)
数据库·windows·mysql
SmartRadio13 小时前
STM32WLE5 LoRa Smart TDMA 完整协议栈实现(工程级可直接编译)-【1】
javascript·stm32·单片机·嵌入式硬件·lora·自组网·smart tdma
竹林81813 小时前
用 wagmi v2 踩坑两天,我终于搞懂了多链钱包切换
前端·javascript
2401_8769641313 小时前
27考研余炳森概率论|喻老李良2027资料网课
windows·git·考研·svn·eclipse·github·概率论