Как заставить Electron включать / упаковывать ваши .dll? - PullRequest
0 голосов
/ 15 мая 2019

Я использую electron-packager и electron-winstaller.

Моя цель: упаковать установщик, чтобы пользователь мог установить и запустить созданную мной программу.

Проблема, с которой я столкнулся: У меня есть некоторые внешние .dll (а именно те, что используются ffmpeg), где, если я не включу их в корневой каталог исполняемого файла, модуль узла не сможетбыть загружен и, следовательно, программа не запускается.(Будет сказано «файл testaddon.node не может быть загружен»)

Я замечаю, что установщик packager + не включает мои .dll, даже если я включаю их в корневой каталог, они игнорируются.Я упаковываю, используя следующую команду:

electron-packager . appname --platform=win32 --arch=x64 --prune=true --out=build-releases --overwrite

Я запускаю установщик через: node installers/win32/createinstaller.js

createinstaller.js:

var electronInstaller = require('electron-winstaller');

resultPromise = electronInstaller.createWindowsInstaller({
  appDirectory: 'build-releases/app-win32-x64',
  outputDirectory: 'build-releases/installer64',
  authors: 'Name',
  exe: 'app.exe',
});

resultPromise.then(
  () => console.log('It worked!'),
  e => console.log(`No dice: ${e.message}`)
);

Все хорошо, если я вручную помещаю .dll в каталог после запуска установщика.

Одно из решений: Я могу написать немного кода, чтобы сбросить эти .dll после запуска программы установки.

Было бы неплохо, чтобы все это было автономным, чтобы избежать вышеуказанного альтернативного решения.

Кто-нибудь знает о лучшем решении?

...