当前位置: 首页 > article >正文

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


http://www.kler.cn/news/316988.html

相关文章:

  • Java企业面试题5
  • 【网站架构部署与优化】源码编译安装LAMP
  • 博客摘录「 SpringBoot大文件(百M以上)的上传下载实现技术」2024年8月2日
  • 2024年躺平,花大半年的时间,就弄了这一件事儿:《C++面试真题宝典》
  • Python: networkx绘图
  • zabbix入门单机部署
  • tomcat服务搭建部署ujcms网站
  • Flink系列知识之:Checkpoint原理
  • mysql学习教程,从入门到精通,SQL 更新数据(UPDATE 语句)(17)
  • 【赵渝强老师】K8s的DaemonSets控制器
  • Conda虚拟环境配置常见问题记录
  • 提高数据集成稳定性:EMQX Platform 端到端规则调试指南
  • 动态SQL中的foreach标签【后端 21】
  • makefile学习笔记(一)(make架构详解、gcc -o 详解、make构建流程、clean使用、隐式规则和模式规则、自动变量、立即展开和延时展开)
  • Oracle密码过期问题,设置永不过期
  • PCIe进阶之TL:Completion Rules TLP Prefix Rules
  • Tomcat端口号被占用
  • Android使用OpenCV 4.5.0实现扑克牌识别(源码分享)
  • kismet和war driving具体准备(仅供无线安全学习)
  • 【SpringBoot】97、SpringBoot中使用EasyExcel导出/导入数据
  • JAVA并发编程系列之Semaphore信号量剖析
  • Go 1.19.4 路径和目录-Day 15
  • JDK7u21 HashMap版
  • ccfcsp-202112-1、序列查询
  • Python知识点:详细讲解在Python编程中,GIL(全局解释器锁)的影响与规避方法
  • 2024寻找那些能精准修改PDF内容的工具
  • 工控一体机在高精度玻璃检测机中的应用
  • C++11中的可变长模板参数
  • Linux 线程控制
  • 委托的注册及注销+观察者模式