Объединение установщиков MSI с помощью Electron Build

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

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


person Sebastian Garrido    schedule 21.09.2019    source источник


Ответы (2)


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

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();

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

person Kiran Maniya    schedule 22.09.2019
comment
Это создает приложение, но не связывает упомянутые мной зависимости. - person Sebastian Garrido; 22.09.2019

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

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

person Sebastian Garrido    schedule 29.09.2019