2015-12-07 26 views
11

Szukam instalacji funkcji automatycznej aktualizacji do instalacji Electron, które mam, jednak mam trudności ze znalezieniem jakichkolwiek zasobów w Internecie.Auto-aktualizacje do Electron

Zbudowałem samodzielną aplikację wykorzystującą Adobe Air wcześniej i wydawało się, że o wiele łatwiej jest pisać kod aktualizacji, który skutecznie sprawdził adres URL i automatycznie pobierał i instalował aktualizację w systemach Windows i MAC OSX.

Obecnie używam electron-boilerplate dla ułatwienia budowy.

mam kilka pytań:

  • Jak debugować z funkcji automatycznej aktualizacji? Czy mogę skonfigurować połączenie lokalne i przetestować je za pomocą lokalnego serwera Node lub czy mogę użyć dowolnego serwera WWW?
  • Pod względem podpisywania aplikacji, chcę tylko uruchamiać aplikacje na MAC OSX, a szczególnie Windows. Czy muszę podpisywać aplikacje, aby uruchamiać automatyczne aktualizacje? (Udało mi się to zrobić za pomocą Adobe Air przy użyciu lokalnego certyfikatu
  • Czy są jakieś dobre zasoby, które szczegółowo opisują, jak zaimplementować funkcję automatycznej aktualizacji? Ponieważ mam trudności ze znalezieniem dobrej dokumentacji, jak to zrobić.

Odpowiedz

4

Jestem również nowy w Electron, ale myślę, że nie ma prostej automatycznej aktualizacji z płyty elektronowej (której również używam) Automatyczny aktualizator elektronów używa instalatora Squirrel.Windows, który również musisz wprowadzić w swoje rozwiązanie . w celu wykorzystania go

jestem obecnie próbują wykorzystać to:

A więcej informacji można znaleźć tutaj:

EDIT: Właśnie otwarty projekt, aby spróbować go na chwilę i to wygląda to działa. To całkiem proste. To są fragmenty z mojego pliku gulp.

W obecnej konfiguracji używam pakowania elektronów do tworzenia paczki.

var packager = require('electron-packager') 
var createPackage = function() { 
    var deferred = Q.defer(); 


    packager({ 
     //OPTIONS 
    }, function done(err, appPath) { 
     if (err) { 
      gulpUtil.log(err); 
     } 

     deferred.resolve(); 
    }); 

    return deferred.promise; 
}; 

Następnie tworzę instalator z oknami elektron-instalator-wiewiórka.

var squirrelBuilder = require('electron-installer-squirrel-windows'); 
var createInstaller = function() { 
    var deferred = Q.defer(); 

squirrelBuilder({ 
// OPTIONS 
}, function (err) { 
     if (err) 
      gulpUtil.log(err); 

     deferred.resolve(); 
    }); 

    return deferred.promise; 
} 

Musisz również dodać kod dla wiewiórki do swojego tła elektronowego/kodu głównego. Użyłem szablonu startu elektron-wiewiórka.

if(require('electron-squirrel-startup')) return; 

Cała sprawa opisana jest w powyższej dokumentacji na temat instalacji elektron-instalator-wiewiórka-okno. Wygląda na to, że wystarczy trochę dokumentacji, żeby zacząć. Teraz pracuję nad markowaniem elektronów przez Squirrel i tworzeniem odpowiednich skryptów gulp dla automatyzacji.

+0

Wiele Dzięki Josef. Pracuję również nad tym, więc dam ci znać, jeśli uda mi się go pomyślnie skonfigurować ... –

+0

Więc mam gdzieś i dodałem trochę informacji do mojej odpowiedzi –

+1

Miło, widziałeś to: https://github.com/ GitbookIO/orzechy Pomaga skonfigurować własny serwer i nasłuchuje wypychania github na hak internetowy w celu aktualizacji automatycznych. Może warto eksplorować, chociaż mam duże filmy w mojej aplikacji, więc nie chcę próbować kontrolować zasobów ... –

0

Śledziłem tę tutorial i dostał pracę w mojej aplikacji elektronów chociaż to musi być podpisana do pracy tak potrzebujesz:

certificateFile: './path/to/cert.pfx' 

W konfiguracji zadania.

oraz:

"build": { 
    "win": { 
    "certificateFile": "./path/to/cert.pfx", 
    "certificatePassword": "password" 
    } 
}, 

W package.json