Я проверяю, есть ли в моем приложении обновление, отправляя эхо-запрос по определенному URL-адресу, pinging по этому URL-адресу возвращает мне обновление или нет.
Теперь у меня есть файл powershell, который фактически обрабатывает обновление, поэтомуЯ пытаюсь запустить этот файл powershell изнутри моего приложения.
У меня это работает, я могу порождать мой файл обновления, и он будет работать, и все хорошо.Тем не менее, мое приложение остается открытым все время, а это означает, что после завершения обновления у меня будет запущено 2 экземпляра.
Очевидное решение, на мой взгляд, - закрыть приложение, если обновлениенайдено (после создания средства обновления).
Вот мой код:
child = spawn("powershell.exe",['-ExecutionPolicy', 'ByPass', '-File', require("path").resolve(__dirname, '../../../../updater.ps1')]);
child.unref();
self.close();
Однако, когда я пытаюсь закрыть приложение, создается впечатление, что средство обновления никогда не запускается.Или, скорее, я считаю, что он запускается, но закрывается, когда закрывается основное приложение.
У меня есть строка child.unref()
, которая, как я думал, должна была создать порожденное окно, не привязанное к основному приложению, ноUpdater не будет оставаться открытым.
Я также пытался добавить {detached: true}
в качестве 3-го параметра моей команды spawn()
, но это не имело никакого значения в том, как оно выполнялось.
Как я могу создать программу обновления отдельно от моего приложения?