【问题标题】:Bundling MSI installers using Electron Build使用 Electron Build 捆绑 MSI 安装程序
【发布时间】:2020-01-22 09:52:33
【问题描述】:

我目前正在使用 Electron Builder 分发我们在内部使用的桌面应用程序。为了让它工作,我需要在我要安装这个应用程序的 Windows 系统上安装 ImageMagick 和 Ghostscript。我想通过以某种方式在后台安装这些程序来使安装无缝(或者至少我希望他们的 MSI 安装程序在安装过程中弹出)。

目前可行吗?

【问题讨论】:

    标签: javascript node.js electron desktop-application electron-builder


    【解决方案1】:

    运行命令electron-builder -p always --win,它将在dist目录中生成名为AppName Setup version.exe的独立Windows安装程序。作为支持您的问题,您可以创建一个 zip 文件并将其托管在某处。您还可以使用 GitHub 存储库来托管包含所需安装程序的 zip 文件。首次打开应用程序时,下载该 zip 文件,在后台解压,然后您可以在 node.js 中使用process. execFile 执行它。这是怎么做的,

    var exec = require('child_process').execFile;
    
    var fun =function(){
       console.log("fun() start");
       exec('imagic.exe', function(err, data) {  
            console.log(err)
            console.log(data.toString());                       
        });  
    }
    fun();
    

    如果您正在寻找此类文件的运行时安装,您必须将其打包并与电子应用程序一起发布。要使用电子应用程序发送静态资产文件,您可以阅读帖子here,它将帮助您使用应用程序提供静态资产。

    【讨论】:

    • 这会构建应用程序,但不会捆绑我提到的依赖项。
    【解决方案2】:

    在安装期间找不到触发自定义脚本的方法,因此我最终将依赖项的可执行文件捆绑为资产。使用 Asar 时必须小心确保这些依赖项已解包。

    要以可移植格式获取本机依赖项,​​可以使用 MacOS 上的 Unarchiver 来探索 MSI 和 NSIS 安装程序的内容。 7-Zip 15.05 也可以打开这些。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 2018-02-09
      • 2021-07-03
      • 1970-01-01
      • 2019-07-26
      • 2011-12-11
      • 2011-09-18
      相关资源
      最近更新 更多