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

相关推荐
半个落月7 分钟前
Vue 3 如何接住大模型的流式回答:从 ReadableStream 到可靠的 SSE 解析
前端·javascript·人工智能
晓得迷路了1 小时前
栗子前端技术周刊第 138 期 - NestJS 12、Astro 7.1、npm 12...
前端·javascript·nestjs
霸道流氓气质1 小时前
摄像头视频预览实现教程:从原理到落地(ZLMediaKit+ flv.js+ Spring Boot)
javascript·spring boot·音视频
double_eggm1 小时前
uniapp.3
开发语言·前端·javascript
Thanks_ks3 小时前
从零手写一个 Promise:深入理解 JavaScript 异步编程的本质
javascript·promise·事件循环·异步编程·手写源码·前端进阶·promises/a+
胡萝卜术10 小时前
力扣5. 最长回文子串
前端·javascript·面试
触底反弹12 小时前
🔥 从零搭建 RAG 知识库:爬虫→分词→向量化→检索,一步都不能错
javascript·人工智能·面试
剪刀石头布Cheers13 小时前
NDM浏览器插件无法连接后台的问题
windows·端口冲突·ndm
এ慕ོ冬℘゜14 小时前
JavaScript 数组核心方法实战|新增元素 + 数组转字符串 零基础详解
开发语言·javascript·ecmascript