从Electron ASAR包中执行外部应用程序

时间:2017-10-09 21:16:32

标签: electron

我已经构建了一个电子应用程序,其中包含电子包中的可执行文件。

当我处于开发模式时,我只是通过/ assets / executable访问该文件,但是,当我使用ASAR构建软件包时,这似乎不起作用。

如何解压缩并在我的电子包中找到我的资源路径?

1 个答案:

答案 0 :(得分:0)

我确信有一种更优雅的方式,但这一直对我有用:

在项目的基本目录中创建自己的resources文件夹,创建一个名为extras的子目录,并将可执行文件放入其中。例如:

- myApp
  - main
    -mainprocess.js
  - node_modules
  - renderer
    - renderer.html
    - renderer.js
  - resources
    - extras
      - ffmpeg.exe
  - package.json

打包应用程序后,运行一个额外步骤,将额外资源复制到打包应用程序的资源文件夹中:在Windows上,此命令将执行此操作,并且可以放在批处理文件中:

xcopy "resources/extras" "release-builds/myApp-win32-x64/resources/extras" /i

这样,当您在代码中引用可执行文件的路径时,打包应用程序的路径与开发版本的路径相同。