Включить файл DLL в Electron Builder - PullRequest
0 голосов
/ 05 июня 2019

У меня есть 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 в папку ресурсов (или в другое место) вместо приложения.Асар?

Спасибо!

1 Ответ

0 голосов
/ 06 июня 2019

Если вы сохраните файл DLL в папке Dist , инструмент Electron-builder включит этот файл в файл app.asar.

Это ограничение того, что, если вы пытаетесь загрузить файл dll с помощью модуля ffi или вашего собственного написанного модуля нативного узла, он не будет загружать файл из файла app.asar . таким образом, вы должны сохранить файл dll вне файла app.asar вручную или сделать эту настройку копии частью вашей системы сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...