首页 > 解决方案 > 在 Electron Builder 中包含 dll 文件

问题描述

我有一个 dll 文件,我需要将其用于由我的 Electron 项目中的主进程启动的单独进程。

所以我想在我的电子项目中包含这个 dll,我正在使用电子生成器来构建项目。问题是我不知道如何在没有将其添加到 asar 包中的情况下包含该文件,这无法直接从单独的进程中访问。当我app.getPath()用来获取正在运行的实例的路径时,它看起来像这样:

C:\installPath\myProject\resources\app.asar\my.dll

我的 electron-builder.json 目前看起来像这样:

{
  "productName": "myApp",
  "directories": {
    "output": "release/"
  },
    "files": [
        "**/*",
        "my.dll"
    ],
  "win": {
    "icon": "dist",
    "artifactName": "myApp.${ext}",
    "target": [
      "portable"
    ]
  }
}

有没有办法让 my.dll 包含在资源文件夹(或其他地方)而不是 app.asar 中?

谢谢!

标签: electronelectron-builder

解决方案


解决方案1:您应该可以使用“extraResources”参数来完成,将您的 .dll 放在资源文件夹下,然后在目标 dist 下创建名为“extraResources”的配置参数。

安装过程应将文件复制到应用程序的资源目录

https://www.electron.build/configuration/contents#extraresources

解决方案2:您可以从 Web 服务器下载 .dll 文件,然后使用 fs 将其移动到所需的位置。


推荐阅读