Eu tenho meu próprio servidor onde carreguei o instalador de aplicativos via FTP. Seu nome é quickmargo Setup 1.0.0.exe
e está disponível em
https://quickmargo.pl/dist/download/quickmargo Setup 1.0.0.exe
Também via FTP, enviei latest.yml
para o mesmo diretório e está disponível em
https://quickmargo.pl/dist/download/latest.yml
No meu projeto no index.js eu tenho
import { autoUpdater } from 'electron-updater'
autoUpdater.setFeedURL('https://quickmargo.pl/dist/download');
autoUpdater.on('update-downloaded', () => {
autoUpdater.quitAndInstall()
});
autoUpdater.on('update-available', (ev, info) => {
alert('Update required!');
});
app.on('ready', async () => {
if (process.env.NODE_ENV === 'production') {
await autoUpdater.checkForUpdates()
}
});
No package.json eu tenho "version": "1.0.0",
e por dentro build:{}
tenho:
"win": {
"icon": "build/icons/icon.ico",
"publish": [{
"provider": "generic",
"url": "https://quickmargo.pl/dist/download"
}]
},
(Eu não me importo com outras plataformas)
Agora, digamos que eu fiz algumas alterações no meu aplicativo e quero fazer o upload da versão 1.0.1 e que ele seja atualizado automaticamente se alguém já tiver baixado o instalador e instalado o aplicativo em sua máquina.
Diga-me, por favor, se tudo o que fiz até agora está bom e qual é o próximo passo. Eu considero o seguinte:
- mude
version
para1.0.1
em package.json - execute o comando build no terminal novamente
- carregar manualmente o novo instalador no mesmo local no meu servidor
Editar
Eu fiz acima de três etapas e também fiz o upload do novo latest.yml (com a versão 1.0.1) e o resultado é que, quando agora executo a versão 1.0.0 instalada anteriormente (antes de fazer o upload da nova versão para o servidor) em outro PC, isso não acontece. detectar que eu adicionei 1.0.1 ao servidor e ele não atualiza ou mostra algum pop-up ou qualquer coisa. O que estou fazendo de errado?
Editar 2
Estou tentando resolvê-lo por conta própria e agora carreguei a versão 1.0.2. Agora, o link para baixar o aplicativo é:
https://quickmargo.pl/dist/download/quickmargo Setup 1.0.2.exe
Editar 3
Eu estava tentando resolvê-lo por conta própria. Editei o código em index.js. Eu editei também acima. alert('Update required!');
no update-available
evento nunca ocorre. Deverá me mostrar a janela de mensagem de erro que o alerta não está definido. Mas, aparentemente, o evento disponível para atualização nunca é emitido.
Informação adicional:
- Meu aplicativo foi gerado com clichê vue-electron
v1.0.6
. - Minha versão do atualizador de elétrons é
4.1.2
npm run build
realmente invocar algum código clichê que está em.electron-vue/build.js
. Você pode ver este arquivo no link acima (por exemplo, definir NODE_ENV à produção Script em package.json é:"build": "node .electron-vue/build.js && electron-builder",
.- Eu não quero hospedar versões no github porque meu repositório é privado e vi algumas informações nos documentos electron.build que eu não deveria fazer isso.
- Também vi informações em algumas edições que eu poderia criar um novo repositório apenas para lançamentos, mas considero hospedar tudo no meu próprio servidor como uma abordagem mais limpa.
electron-log
para fornecer ao autoUpdater um logger para usar ( const logger = require("electron-log"); autoUpdater.logger = logger; logger.transports.file.level = "debug";
) - isso deve imprimir informações se o seu servidor foi encontrado e se uma atualização foi encontrada. Se você receber um erro, poderá adicioná-lo à sua pergunta.