autoUpdater
Este módulo oferece uma interface para o framework de atualização automática Squirrel.
Avisos sobre Plataformas
Embora o autoUpdater ofereça uma API uniforme para diferentes plataformas, existem diferenças sutis em cada plataforma.
macOS
No macOS, o módulo autoUpdater é construído sobre o Squirrel.Mac, o que significa que você não precisa de nenhuma configuração especial para fazê-lo funcionar. Para requerimentos de servidor, você pode ler Server Support.
Windows
No Windows, você deve instalar seu aplicativo na máquina de um usuário antes que possa usar o auto-updater, então é recomendado utilizar o módulo grunt-electron-installer para gerar um instalador do Windows.
O instalador gerado com Squirrel irá criar um ícone de atalho com um Application User Model ID.aspx) no formato com.squirrel.PACKAGE_ID.YOUR_EXE_WITHOUT_DOT_EXE, por exemplo: com.squirrel.slack.Slack e com.squirrel.code.Code. Você precisa usar o mesmo ID para seu aplicativo a API app.setAppUserModelId, senão o Windows não conseguirá fixar seu aplicativo corretamente na barra de tarefas.
A configuração do servidor também é diferente do macOS. Você pode ler a documentação do Squirrel.Windows para mais detalhes.
Linux
Não há suporte nativo do auto-updater para Linux, então é recomendado utilizar o gerenciador de pacotes da distribuição para atualizar seu aplicativo.
Eventos
O objeto autoUpdater emite os seguintes eventos:
Evento: 'error'
Retorna:
- errorError
Emitido quando há um erro durante a atualização.
Evento: 'checking-for-update'
Emitido quando está verificando se uma atualização foi inicializada.
Evento: 'update-available'
Emitido quando há uma atualização disponível. A atualização é baixada automaticamente.
Evento: 'update-not-available'
Emitido quando não há uma atualização disponível.
Evento: 'update-downloaded'
Retorna:
- eventEvent
- releaseNotesString
- releaseNameString
- releaseDateDate
- updateURLString
Emitido quando uma atualização foi baixada.
No Windows apenas releaseName está disponível.
Métodos
O objeto autoUpdater possui os seguintes métodos:
autoUpdater.setFeedURL(url)
- urlString
Define a url e inicializa o auto-updater. A url não pode ser alterada uma vez que foi definida.
autoUpdater.checkForUpdates()
Pergunta ao servidor se há uma atualização. Você deve chamar setFeedURL antes de usar esta API.
autoUpdater.quitAndInstall()
Reinicia o aplicativo e instala a atualização após esta ter sido baixada. Só deve ser chamado após o update-downloaded ter sido emitido.