Пакетирование установщиков MSI с использованием Electron Build - PullRequest
1 голос
/ 21 сентября 2019

В настоящее время я использую Electron Builder для распространения настольного приложения, которое мы используем внутри компании.Чтобы это работало, мне нужно установить ImageMagick и Ghostscript в системах Windows, где я собираюсь установить это приложение.Я хотел бы сделать установку без проблем, установив эти программы в фоновом режиме (или, по крайней мере, я хочу, чтобы их установщики MSI появлялись во время установки).

Возможно ли это в настоящее время?

Ответы [ 2 ]

1 голос
/ 29 сентября 2019

Не удалось найти способ запуска пользовательских сценариев во время установки, поэтому я закончил связывать исполняемые файлы зависимостей в качестве ресурсов.При использовании Asar нужно быть осторожным, чтобы убедиться, что эти зависимости распакованы.

Чтобы получить собственные зависимости в переносимом формате, можно использовать Unarchiver на MacOS для изучения содержимого установщиков MSI и NSIS.7-Zip 15.05 также можно открыть.

1 голос
/ 22 сентября 2019

Запустите команду electron-builder -p always --win, и она сгенерирует автономный установщик Windows с именем AppName Setup version.exe в каталоге dist.В качестве поддержки вашей проблемы вы можете создать zip-файл и разместить его где-нибудь.Вы также можете использовать репозиторий GitHub для размещения этого zip-файла, содержащего требуемый установщик.При первом открытии приложения загрузите этот zip-файл, распакуйте его в фоновом режиме, и вы можете выполнить его, используя process. execFile в узле.Вот как это сделать,

var exec = require('child_process').execFile;

var fun =function(){
   console.log("fun() start");
   exec('imagic.exe', function(err, data) {  
        console.log(err)
        console.log(data.toString());                       
    });  
}
fun();

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

...