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

相关推荐
fellow992 小时前
DSH Desktop:把 DeepSeek Harness 变成真正的桌面应用
electron·agent·ai编程·deepseek
bbq烤鸡3 小时前
Win11 资源管理器“白条“修复报告
windows
骑着蜗牛撵大象3273 小时前
豆包 Seed 驱动的记账智能体:从拍票抽取到月报生成的全链路落地记录
java·前端·javascript·结构化输出·豆包seed·多模态识别·记账系统
溪语流沙3 小时前
【Web全栈进阶】前端世界观:现代工具链与框架为什么存在
前端·javascript·vue.js
kyriewen3 小时前
我逐个测了 JSON.stringify 的 7 个坑:第 1 个就在丢数据
前端·javascript·程序员
10mAh4 小时前
【Java】ArrayList 遍历删除为什么报错?三种写法与漏删复现
java·开发语言·windows
song5014 小时前
React Native for OpenHarmony 实战:三方库 react-native-ratings 的鸿蒙化适配指南
javascript·react native·react.js·分类·harmonyos
朱包林4 小时前
iTerm2终端配置指南
linux·javascript·python·云原生·容器·kubernetes·云计算
谢亮_vipxieliang5 小时前
JavaScript this 指向完全指南:调用位置决定一切
开发语言·javascript·ecmascript
WeiXin_DZbishe5 小时前
基于Node.js的马拉松赛事管理系统的设计与实现-计算机毕设 附源码【课程设计】90211
java·javascript·vue.js·python·php·课程设计