Я использую 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 после запуска программы установки.
Было бы неплохо, чтобы все это было автономным, чтобы избежать вышеуказанного альтернативного решения.
Кто-нибудь знает о лучшем решении?