背景

在实际的开发过程中,我们最后打包生成的exe。会依赖一些第三方的软件,或者说是一些系统的环境,比如 .net framework vc++ 等,这些环境不能依赖客户的环境,所以最好的做法是在打包的时候,一起打包。

electron如何做到打包多个依赖

electron里面最常用的打包方式就是electron-builder了,其中electron-builder可以对nsis进行整合配置,具体可以参照官网 https://www.electron.build/configuration/nsis

怎么理解几个macro

electron-builder里nsis程序运行的入口就是 https://github.com/electron-userland/electron-builder/blob/c35b3150536be66a9e1c2aae75f7e8f7f610699d/packages/app-builder-lib/templates/nsis/installer.nsi

可以看到

customHeader => 可以配置一些nsis运行的环境,最常用的比如安装时需要的权限。RequestExecutionLevel admin

这里需要注意的是,配置文件在 installer.nsh在添加安装权限(RequestExecutionLevel admin)时,

需要在由管理员权限的cmd下进行打包安装



这里是真正进行安装的环节

打开installSection.nsh, 可以看到,在这里会执行customInstall

所以这里才是我们需要打包依赖包的地方



安装依赖包的代码非常简单,$INSTDIR\bin 是指安装后目录,也就是说,需要把依赖的二进制文件,打包到安装后的目录下,方便后续的安装

electron builder 打包多个第三方依赖的软件的更多相关文章

  1. electron builder 打包错误 cannot unpack electron zip file 解决方案

    npm run buildwin > study01@1.0.0 buildwin F:\Nodejs\electron\Test\study01> electron-builder -- ...

  2. maven 打包含有第三方依赖的 jar 包

    maven 打包含有第三方依赖的 jar 包:mvn assembly:assembly

  3. Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包

    一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...

  4. 【转】Mapreduce部署与第三方依赖包管理

    Mapreduce部署是总会涉及到第三方包依赖问题,这些第三方包配置的方式不同,会对mapreduce的部署便捷性有一些影响,有时候还会导致脚本出错.本文介绍几种常用的配置方式: 1. HADOOP_ ...

  5. eclipse打jar包解决第三方依赖包

    在项目根目录下手动MANIFEST.MF(eclipse无法自动生成) MANIFEST.MF Manifest-Version: 1.0 Class-Path: lib/kafka-clients- ...

  6. Mapreduce部署与第三方依赖包管理

    Mapreduce部署是总会涉及到第三方包依赖问题,这些第三方包配置的方式不同,会对mapreduce的部署便捷性有一些影响,有时候还会导致脚本出错.本文介绍几种常用的配置方式: 1. HADOOP_ ...

  7. [ASP.NET Core 3框架揭秘] 依赖注入[10]:与第三方依赖注入框架的适配

    .NET Core具有一个承载(Hosting)系统,承载需要在后台长时间运行的服务,一个ASP.NET Core应用仅仅是该系统承载的一种服务而已.承载系统总是采用依赖注入的方式来消费它在服务承载过 ...

  8. Electron安装打包指南

    当前环境Debian Linux-Deepin 安装Node 直接下载 命令下载 下载 wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linu ...

  9. ASP.NET Core 共享第三方依赖库部署的正常打开方式

    曾经: 写了一篇: ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署 当第二次想做相同的事,却遇上了Bug,于是有了第二篇: ASP.NET Core 共享第三方依 ...

随机推荐

  1. AppInfoProvider提供应用信息的工具类

    package com.loaderman.demo; import android.content.Context; import android.content.pm.ApplicationInf ...

  2. UDP打洞原理介绍

     NAT穿越模块的设计与实现 Internet的快速发展以及IPv4地址数量的不足使得NAT设备得到了大规模的应用,然而这也给越来越多的端到端通信也带来了不少的麻烦.一般来说,NAT设备允许内网内主机 ...

  3. CentOS7性能监控系统安装

    想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的: 采集数据(collectd)-> 存储数 ...

  4. Azure sql database 监控存储过程的传参情况

    背景 实施开发的同事找到我,反馈说项目中使用Azure sql database 之后,无法使用Profiler来监控自己开发的存储过程的参数传参情况.确实profiler这些实例级别的工具在Azur ...

  5. [转] 运维知识体系 -v3.1 作者:赵舜东(赵班长)转载请注明来自于-新运维社区:https://www.unixhot.com

    [From]https://www.unixhot.com/page/ops [运维知识体系]-v3.1 作者:赵舜东(赵班长) (转载请注明来自于-新运维社区:https://www.unixhot ...

  6. Squirrel GUI+ Phoenix 连接Hbase

    一. 参考 http://blog.csdn.net/maomaosi2009/article/details/45598823 二. 问题解决 >Squirrel Client Connect ...

  7. java:LeakFilling (Linux)

    1.Nosql 列数据库,没有update,非关系型数据库: 为了解决高并发.高可扩展.高可用.大数据存储问题而产生的数据库解决方案,就是NoSql数据库.  NoSQL,泛指非关系型的数据库,NoS ...

  8. H5中调起微信这么实现,如果未安装则提示未安装

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  9. 6-2 shell编程基础

    shell编程基础 编程基础 Linus:Talk is cheap, show me the code 程序和编程风格 程序: 程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结 ...

  10. app测试自动化操作方法之一

    1.在输入框里输入字符 dr.find_element_by_android_uiautomator\ ( 'new UiSelector().text("邮箱或手机号")').s ...