COMO ATUALIZAR SEU SCRIPT EM OUTROS PC AUTOMATICAMENTE.

Artigos, manuais, conselhos e dicas sobre programação em AutoHotkey

Moderator: Gio

Post Reply
claudiosxj
Posts: 11
Joined: 08 Dec 2020, 12:41

COMO ATUALIZAR SEU SCRIPT EM OUTROS PC AUTOMATICAMENTE.

Post by claudiosxj » 04 Apr 2024, 13:33

Olá amigos!

Eu nem sei por onde começar, mas o seguinte, acho que todos nós ja tivemos a seguinte dúvida, como eu atualizo o script que esta em outro pc?, um script que vendi ou varias pessoas do meu trabalho usa?

Eu criei uma solução e vou tentar passar para vocês da melhor forma possível, então se ficarem confusos pode me chamar no discord (claudinhorush)

Eu fiz dessa forma onde eu trabalho e atualizo em mais de 20 maquinas de uma vez. e o bom que é tudo pelo Google drive, e não preciso ficar mandando uma exe novo toda vez que mudo 1 linha no meu código.

Logicamente que isso tem inúmeras aplicabilidades só vai depender da imaginação, além de atualizar o meu script com essa forma eu faço controle de usuário, permissão, restrição de funções, download de outros arquivos para fazer meu script funcionar, mas nesse tutorial vai ficar só a atualização do script.

Primeiro vai ser preciso que você criar um arquivo no Google drive chamado version.txt, cria ele no seu pc e arrasta la pro Google drive, importante esse arquivo ele nunca pode ser deletado pq ele vai ser a base de todo o processo.

Neste arquivo você vai colocar as seguintes linhas.

Code: Select all

PROGRAMA 0.0.1.exe
http://drive.google.com/uc?export=download&id=19v26bDufPQUgnZF1ICkIGBggTPnMl37-
HABILITADO
ATUALIZACAO_HABILITADA
As posições da linha devem ser respeitadas a linha 1 tem que ser PROGRAMA 0.0.1.exe e assim por diante.
A palavra PROGRAMA é o nome do seu script, mas se ela for alterada tem que ser alterada em todas as partes.

Em seu Scrip você vai colocar o seguinte código

Code: Select all

SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.


SetTimer,VERIFICAÇÃO_DE_ATUALIZACAO,300000 ; <-- ISSO VAI CHAMAR SUA FUNÇÃO DE VERIFICAR ATUALIZAÇÃO A CADA 5 MIN, OU SEJA SEMPRE QUE VC FAZER UM NOVO EXE ELE VAI VALIDAR E BAIXAR A NOVA VERSÃO.


global versaoAtual="PROGRAMA 0.0.1.exe"
global versaoAntiga="PROGRAMA 0.0.0.exe"

Programa_ATT()


;=========================
;CORPO DO SEU PROGRAMA
;=========================
MsgBox Oi este é meu programa!
Sleep, 380000
return


;=========================
;CORPO DO SEU PROGRAMA
;=========================



;======================================
;FUNÇÃO QUE FAZ A ATUALIZAÇÃO
;======================================
Programa_ATT(){
	
	
	
		;----------------Progres --------------------
		;CRIA BARRA DE CARREGAMENTO E MOSTRA ETAPAS DO PROCESSO NÃO É ALGO OBRIGATORIO, MAS DEIXA COM VISUAL BACANA.
	
	Progress,y200 h100 2,Iniciando verificação de arquivos,CARREGANDO - %versaoAtual%, %versaoAtual%
	Progress,5,Iniciando verificação de arquivos,CARREGANDO - %versaoAtual%, %versaoAtual%
	Sleep,62
	Progress,8,Arquivos verificados!,CARREGANDO - %versaoAtual%, %versaoAtual%
	Sleep,62
	Progress,10, Iniciando Download de arquivo essencial,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
	Progress,20, Download arquivo Version.txt iniciado,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
		;--------------------------------------------
	
	;download do arquivo version do google drive para a pasta temporaria do windowns
	URLDownloadToFile, https://drive.google.com/uc?export=download&id=  "COLOCA SEU LINK DO VERSION DO DRIVE" ,%A_Temp%/version_new.txt
	
	
	
		;----------------Progres --------------------
		; APENAS ATUALIZAÇÃO DO PROGRESS
	Progress,23,Download arquivo Version.txt finalizado,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
		;--------------------------------------------
	
	
	if ErrorLevel{
			;----------------Progres --------------------
			;VALIDA SE TEVE ERRO NO DOWNLOAD DO ARQUIVO VERSION
		Progress,23,Download arquivo Version.txt ERROR ,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
		     ;--------------------------------------------
		MsgBox, 48, Download ERROR!! (version_new.txt), Erro ao baixar Arquivo essencial.
		Progress, OFF
		return
	}else{
			;----------------Progres --------------------
		Progress,23,Substituindo arquivo version.txt,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;--------------------------------------------
		;DELETANDO ARQUIVO ANTIGO DE VERSÃO PARA EVITAR PROBLEMAS
		FileDelete,%A_Temp%/version.txt
		
			;----------------Progres --------------------
		Progress,30,Nomeando novo Version.txt,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;--------------------------------------------
		;RENOMEANDO O ARQUIVO BAIXADO DE version_new.txt PARA version.txt
		FileMove, %A_Temp%/version_new.txt, %A_Temp%/version.txt
		
		
		
	}
	
	
	;----------------Progres --------------------
	Progress,70,Verificando nova versão do PROGRAMA,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
		;-------------------------------------------
	;LENDO A PRIMEIRA DO ARQUIVO BAIXADO PARA VALIDAR SE ESTA CERTO A VERSÃO RODANDO.
	FileReadLine, version, %A_Temp%/version.txt, 1
	;LENDO A 2 LINHA DO ARQUIVO PARA PEGAR O LINK DO DOWNLOAD CASO NESCESSARIO.
	FileReadLine, link_novoPROGAMA, %A_Temp%/version.txt, 2
	
	
	
	
	
	
	; Aqui Compara a variavel do onicio do programa, com a primeira linha do arquivo que baixou.
	if (version = versaoAtual || version = "<HTML>" ) { 
		;Se a versão que estiver rodando for igual a que esta no arquivo, não faz nada só deleta o arquivo version.
		FileDelete, version.txt
		FileDelete, %versaoAntiga%.exe
		
	} else {
			;----------------Progres --------------------
		Progress,75,Baixando novo PROGRAMA,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;-------------------------------------------
		
		URLDownloadToFile,%link_novoPROGAMA%,%version%
		Sleep,62
		if ErrorLevel{
				;----------------Progres --------------------
			Progress,83,Devido a algum problema não foi possível baixar o programa!,CARREGANDO - %versaoAtual%,%versaoAtual%
			Sleep,62
				;-------------------------------------------
			msgbox, Devido a algum problema não foi possível baixar o programa!
			
		}
		
		
		;----------------Progres --------------------
		Progress,90,Executando novo %version%,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;-------------------------------------------
		msgbox,Existe uma nova versão! `n`nversão Nova: %version%
		msgbox, Abrindo a nova versão %version%!!!
		Run,%version%
		ExitApp
		return
	}
	
	
		;========VERIFICAÇÃO DO STATUS DO PROGRAMA ==========
		; VERIFICA SE O PROGRAMA ESTA HABILITADO OU NÃO.
	FileReadLine, status, %A_Temp%/version.txt, 3 ;<-- LE A 3 LINHA DO ARQUIVO VERSION SE ESTIVER ESCRITO DESATIADO O PROGRAMA NÃO ABRE,
	if(status = "DESABILITADO"){
		MsgBox, 8256, %versaoAtual% SERVIÇO SUSPENSO!!, SERVIÇO SUSPENSO!!`n	SERVIÇO SUSPENSO!!`n		SERVIÇO SUSPENSO!!, 5
		ExitApp 	
	}
	
		;=============================================
	Progress, 100
	Sleep,900 
	Progress, OFF
	FileDelete,%versaoAntiga%
}
;======================================
;FUNÇÃO QUE VERIFICA ATUALIZAÇÃO A CADA 5 MIN
;======================================
VERIFICAÇÃO_DE_ATUALIZACAO:


URLDownloadToFile, https://drive.google.com/uc?export=download&id=16fx_ymscbSRMqE7STQQDnN9C9hs2dLSB,%A_Temp%/version_new.txt ;baixou o version


if ErrorLevel{	
	return
}else{
	
	FileDelete,%A_Temp%/version.txt
	FileMove, %A_Temp%/version_new.txt, %A_Temp%/version.txt 
	
	;VERIFICA SE É PARA FAZER ATUALIZAÇÃO.
	FileReadLine, atualizacao_Status, %A_Temp%/version.txt, 4
	if(atualizacao_Status = "ATUALIZACAO_HABILITADA"){
		return
	}
	


	
	;VALIDA SE VAI FAZER ATUALIZAÇÃO.
	FileReadLine, version, %A_Temp%/version.txt, 1
	if (version = "<HTML>" ) { 
		
	} else {
		if(version != versaoAtual){
			MsgBox, 64,%versaoAtual% ATUALIZAÇÂO DETECTADA!!, Foi detectado uma atualização para %version%`nO programa será reiniciado!
			Reload		
		}
	}
	
	FileReadLine, status, %A_Temp%/version.txt, 3
	if(status = "DESABILITADO"){
		
		MsgBox, 8256, %versaoAtual% SERVIÇO SUSPENSO!!, SERVIÇO SUSPENSO!!`n	SERVIÇO SUSPENSO!!`n		SERVIÇO SUSPENSO!!, 5
		
		ExitApp 	
	}
	
	FileDelete, %A_Temp%/version.txt
	
	
	
}
Return
Nessa parte, você tem que pegar o link do seu arquivo que criou no Drive converter para download direto e substituir.

Code: Select all

;download do arquivo version do google drive para a pasta temporaria do windowns
	URLDownloadToFile, https://drive.google.com/uc?export=download&id=16fx_ymscbSRMqE7STQQDnN9C9hs2dLSB,%A_Temp%/version_new.txt
Só que tem um macete, vai entrar nesse site para gerar um link de download direto. (https://sites.google.com/site/gdocs2direct/)
image.png
Como compartilhar aquivo no Drive
image.png (40.32 KiB) Viewed 64 times
image.png
Como compartilhar aquivo no Drive 2
image.png (56.4 KiB) Viewed 64 times


Depois de copiar esse link vai no site que gera o link de download automatico do Google Drive e substitui nessa parte do código.

Code: Select all

;download do arquivo version do google drive para a pasta temporaria do windowns
	URLDownloadToFile, https://drive.google.com/uc?export=download&id=16fx_ymscbSRMqE7STQQDnN9C9hs2dLSB,%A_Temp%/version_new.txt
Quase tudo pronto, agora quando vc fizer uma alteração em seu Script principal, basta trocar o valor dessa variável

Code: Select all

global versaoAtual="PROGRAMA 0.0.1.exe"
global versaoAntiga="PROGRAMA 0.0.0.exe"

mudando a versão atual para qual esta indo. por exemplo esta nar versão 0.0.1 altera 0.0.2 em seu script e em seu arquivo version do drive.
image.png
Como compartilhar aquivo no Drive 3
image.png (52.46 KiB) Viewed 64 times
Tem que ser pelo Text editor, pq vc edita o arquivo sem mudar o link compartilhado.
ai para finalizar vc vai fazer seu novo executável clicando com o botão direito compile Script, e upar no Google Drive sem .exe
https://prnt.sc/bGDJHyrjnRJ6
https://prnt.sc/G7a2UOtH30iE
Feito isso vc vai pegar o link compartilhado do Google drive, sem precisar converter igual vc fez anteriormente e substituir na segunda linha do arquivo version.txt que vc colocou no Drive
https://prnt.sc/RvngorZkGtE9
Só colar aqui e salvar.
https://prnt.sc/AI0uCLW4XtW4

Agora quando alguém abrir a versão antiga vai automaticamente baixar a nova versão!
Vou deixar aqui os Script como exemplo para vocês seguirem, e qualquer dúvida estou a disposição.

programa versão 0.0.1, versão antiga eu executar esse programa ele vai baixar a versão atual que é 0.0.2

programa 0.0.1

Code: Select all

SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.


SetTimer,VERIFICAÇÃO_DE_ATUALIZACAO,300000 ; <-- ISSO VAI CHAMAR SUA FUNÇÃO DE VERIFICAR ATUALIZAÇÃO A CADA 5 MIN, OU SEJA SEMPRE QUE VC FAZER UM NOVO EXE ELE VAI VALIDAR E BAIXAR A NOVA VERSÃO.


global versaoAtual="PROGRAMA 0.0.1.exe"
global versaoAntiga="PROGRAMA 0.0.0.exe"

Programa_ATT()


;=========================
;CORPO DO SEU PROGRAMA
;=========================
MsgBox Oi este é meu programa!
Sleep, 380000
return


;=========================
;CORPO DO SEU PROGRAMA
;=========================



;======================================
;FUNÇÃO QUE FAZ A ATUALIZAÇÃO
;======================================
Programa_ATT(){
	
	
	
		;----------------Progres --------------------
		;CRIA BARRA DE CARREGAMENTO E MOSTRA ETAPAS DO PROCESSO NÃO É ALGO OBRIGATORIO, MAS DEIXA COM VISUAL BACANA.
	
	Progress,y200 h100 2,Iniciando verificação de arquivos,CARREGANDO - %versaoAtual%, %versaoAtual%
	Progress,5,Iniciando verificação de arquivos,CARREGANDO - %versaoAtual%, %versaoAtual%
	Sleep,62
	Progress,8,Arquivos verificados!,CARREGANDO - %versaoAtual%, %versaoAtual%
	Sleep,62
	Progress,10, Iniciando Download de arquivo essencial,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
	Progress,20, Download arquivo Version.txt iniciado,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
		;--------------------------------------------
	
	;download do arquivo version do google drive para a pasta temporaria do windowns
	URLDownloadToFile, https://drive.google.com/uc?export=download&id=16fx_ymscbSRMqE7STQQDnN9C9hs2dLSB,%A_Temp%/version_new.txt
	
		;----------------Progres --------------------
		; APENAS ATUALIZAÇÃO DO PROGRESS
	Progress,23,Download arquivo Version.txt finalizado,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
		;--------------------------------------------
	
	
	if ErrorLevel{
			;----------------Progres --------------------
			;VALIDA SE TEVE ERRO NO DOWNLOAD DO ARQUIVO VERSION
		Progress,23,Download arquivo Version.txt ERROR ,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
		     ;--------------------------------------------
		MsgBox, 48, Download ERROR!! (version_new.txt), Erro ao baixar Arquivo essencial.
		Progress, OFF
		return
	}else{
			;----------------Progres --------------------
		Progress,23,Substituindo arquivo version.txt,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;--------------------------------------------
		;DELETANDO ARQUIVO ANTIGO DE VERSÃO PARA EVITAR PROBLEMAS
		FileDelete,%A_Temp%/version.txt
		
			;----------------Progres --------------------
		Progress,30,Nomeando novo Version.txt,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;--------------------------------------------
		;RENOMEANDO O ARQUIVO BAIXADO DE version_new.txt PARA version.txt
		FileMove, %A_Temp%/version_new.txt, %A_Temp%/version.txt
		
		
		
	}
	
	
	;----------------Progres --------------------
	Progress,70,Verificando nova versão do PROGRAMA,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
		;-------------------------------------------
	;LENDO A PRIMEIRA DO ARQUIVO BAIXADO PARA VALIDAR SE ESTA CERTO A VERSÃO RODANDO.
	FileReadLine, version, %A_Temp%/version.txt, 1
	;LENDO A 2 LINHA DO ARQUIVO PARA PEGAR O LINK DO DOWNLOAD CASO NESCESSARIO.
	FileReadLine, link_novoPROGAMA, %A_Temp%/version.txt, 2
	
	
	
	
	
	
	; Aqui Compara a variavel do onicio do programa, com a primeira linha do arquivo que baixou.
	if (version = versaoAtual || version = "<HTML>" ) { 
		;Se a versão que estiver rodando for igual a que esta no arquivo, não faz nada só deleta o arquivo version.
		FileDelete, version.txt
		FileDelete, %versaoAntiga%.exe
		
	} else {
			;----------------Progres --------------------
		Progress,75,Baixando novo PROGRAMA,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;-------------------------------------------
		
		URLDownloadToFile,%link_novoPROGAMA%,%version%
		Sleep,62
		if ErrorLevel{
				;----------------Progres --------------------
			Progress,83,Devido a algum problema não foi possível baixar o programa!,CARREGANDO - %versaoAtual%,%versaoAtual%
			Sleep,62
				;-------------------------------------------
			msgbox, Devido a algum problema não foi possível baixar o programa!
			
		}
		
		
		;----------------Progres --------------------
		Progress,90,Executando novo %version%,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;-------------------------------------------
		msgbox,Existe uma nova versão! `n`nversão Nova: %version%
		msgbox, Abrindo a nova versão %version%!!!
		Run,%version%
		ExitApp
		return
	}
	
	
		;========VERIFICAÇÃO DO STATUS DO PROGRAMA ==========
		; VERIFICA SE O PROGRAMA ESTA HABILITADO OU NÃO.
	FileReadLine, status, %A_Temp%/version.txt, 3 ;<-- LE A 3 LINHA DO ARQUIVO VERSION SE ESTIVER ESCRITO DESATIADO O PROGRAMA NÃO ABRE,
	if(status = "DESABILITADO"){
		MsgBox, 8256, %versaoAtual% SERVIÇO SUSPENSO!!, SERVIÇO SUSPENSO!!`n	SERVIÇO SUSPENSO!!`n		SERVIÇO SUSPENSO!!, 5
		ExitApp 	
	}
	
		;=============================================
	Progress, 100
	Sleep,900 
	Progress, OFF
	FileDelete,%versaoAntiga%
}
;======================================
;FUNÇÃO QUE VERIFICA ATUALIZAÇÃO A CADA 5 MIN
;======================================
VERIFICAÇÃO_DE_ATUALIZACAO:


URLDownloadToFile, https://drive.google.com/uc?export=download&id=16fx_ymscbSRMqE7STQQDnN9C9hs2dLSB,%A_Temp%/version_new.txt ;baixou o version


if ErrorLevel{	
	return
}else{
	
	FileDelete,%A_Temp%/version.txt
	FileMove, %A_Temp%/version_new.txt, %A_Temp%/version.txt 
	
	;VERIFICA SE É PARA FAZER ATUALIZAÇÃO.
	FileReadLine, atualizacao_Status, %A_Temp%/version.txt, 4
	if(atualizacao_Status = "ATUALIZACAO_HABILITADA"){
		return
	}
	


	
	;VALIDA SE VAI FAZER ATUALIZAÇÃO.
	FileReadLine, version, %A_Temp%/version.txt, 1
	if (version = "<HTML>" ) { 
		
	} else {
		if(version != versaoAtual){
			MsgBox, 64,%versaoAtual% ATUALIZAÇÂO DETECTADA!!, Foi detectado uma atualização para %version%`nO programa será reiniciado!
			Reload		
		}
	}
	
	FileReadLine, status, %A_Temp%/version.txt, 3
	if(status = "DESABILITADO"){
		
		MsgBox, 8256, %versaoAtual% SERVIÇO SUSPENSO!!, SERVIÇO SUSPENSO!!`n	SERVIÇO SUSPENSO!!`n		SERVIÇO SUSPENSO!!, 5
		
		ExitApp 	
	}
	
	FileDelete, %A_Temp%/version.txt
	
	
	
}
Return
PROGRAMA 0.0.2 JÁ ATUALIZADO.

Code: Select all

SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.


SetTimer,VERIFICAÇÃO_DE_ATUALIZACAO,300000 ; <-- ISSO VAI CHAMAR SUA FUNÇÃO DE VERIFICAR ATUALIZAÇÃO A CADA 5 MIN, OU SEJA SEMPRE QUE VC FAZER UM NOVO EXE ELE VAI VALIDAR E BAIXAR A NOVA VERSÃO.


global versaoAtual="PROGRAMA 0.0.2.exe"
global versaoAntiga="PROGRAMA 0.0.1.exe"

Programa_ATT()


;=========================
;CORPO DO SEU PROGRAMA
;=========================
MsgBox Oi este é meu programa! 2.0

return


;=========================
;CORPO DO SEU PROGRAMA
;=========================



;======================================
;FUNÇÃO QUE FAZ A ATUALIZAÇÃO
;======================================
Programa_ATT(){
	
	
	
		;----------------Progres --------------------
		;CRIA BARRA DE CARREGAMENTO E MOSTRA ETAPAS DO PROCESSO NÃO É ALGO OBRIGATORIO, MAS DEIXA COM VISUAL BACANA.
	
	Progress,y200 h100 2,Iniciando verificação de arquivos,CARREGANDO - %versaoAtual%, %versaoAtual%
	Progress,5,Iniciando verificação de arquivos,CARREGANDO - %versaoAtual%, %versaoAtual%
	Sleep,62
	Progress,8,Arquivos verificados!,CARREGANDO - %versaoAtual%, %versaoAtual%
	Sleep,62
	Progress,10, Iniciando Download de arquivo essencial,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
	Progress,20, Download arquivo Version.txt iniciado,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
		;--------------------------------------------
	
	;download do arquivo version do google drive para a pasta temporaria do windowns
	URLDownloadToFile, https://drive.google.com/uc?export=download&id=16fx_ymscbSRMqE7STQQDnN9C9hs2dLSB,%A_Temp%/version_new.txt
	
	
	
		;----------------Progres --------------------
		; APENAS ATUALIZAÇÃO DO PROGRESS
	Progress,23,Download arquivo Version.txt finalizado,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
		;--------------------------------------------
	
	
	if ErrorLevel{
			;----------------Progres --------------------
			;VALIDA SE TEVE ERRO NO DOWNLOAD DO ARQUIVO VERSION
		Progress,23,Download arquivo Version.txt ERROR ,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
		     ;--------------------------------------------
		MsgBox, 48, Download ERROR!! (version_new.txt), Erro ao baixar Arquivo essencial.
		Progress, OFF
		return
	}else{
			;----------------Progres --------------------
		Progress,23,Substituindo arquivo version.txt,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;--------------------------------------------
		;DELETANDO ARQUIVO ANTIGO DE VERSÃO PARA EVITAR PROBLEMAS
		FileDelete,%A_Temp%/version.txt
		
			;----------------Progres --------------------
		Progress,30,Nomeando novo Version.txt,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;--------------------------------------------
		;RENOMEANDO O ARQUIVO BAIXADO DE version_new.txt PARA version.txt
		FileMove, %A_Temp%/version_new.txt, %A_Temp%/version.txt
		
		
		
	}
	
	
	;----------------Progres --------------------
	Progress,70,Verificando nova versão do PROGRAMA,CARREGANDO - %versaoAtual%,%versaoAtual%
	Sleep,62
		;-------------------------------------------
	;LENDO A PRIMEIRA DO ARQUIVO BAIXADO PARA VALIDAR SE ESTA CERTO A VERSÃO RODANDO.
	FileReadLine, version, %A_Temp%/version.txt, 1
	;LENDO A 2 LINHA DO ARQUIVO PARA PEGAR O LINK DO DOWNLOAD CASO NESCESSARIO.
	FileReadLine, link_novoPROGAMA, %A_Temp%/version.txt, 2
	
	
	
	
	
	
	; Aqui Compara a variavel do onicio do programa, com a primeira linha do arquivo que baixou.
	if (version = versaoAtual || version = "<HTML>" ) { 
		;Se a versão que estiver rodando for igual a que esta no arquivo, não faz nada só deleta o arquivo version.
		FileDelete, version.txt
		FileDelete, %versaoAntiga%.exe
		
	} else {
			;----------------Progres --------------------
		Progress,75,Baixando novo PROGRAMA,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;-------------------------------------------
		
		URLDownloadToFile,%link_novoPROGAMA%,%version%
		Sleep,62
		if ErrorLevel{
				;----------------Progres --------------------
			Progress,83,Devido a algum problema não foi possível baixar o programa!,CARREGANDO - %versaoAtual%,%versaoAtual%
			Sleep,62
				;-------------------------------------------
			msgbox, Devido a algum problema não foi possível baixar o programa!
			
		}
		
		
		;----------------Progres --------------------
		Progress,90,Executando novo %version%,CARREGANDO - %versaoAtual%,%versaoAtual%
		Sleep,62
			;-------------------------------------------
		msgbox,Existe uma nova versão! `n`nversão Nova: %version%
		msgbox, Abrindo a nova versão %version%!!!
		Run,%version%
		ExitApp
		
		return
	}
	
	
		;========VERIFICAÇÃO DO STATUS DO PROGRAMA ==========
		; VERIFICA SE O PROGRAMA ESTA HABILITADO OU NÃO.
	FileReadLine, status, %A_Temp%/version.txt, 3 ;<-- LE A 3 LINHA DO ARQUIVO VERSION SE ESTIVER ESCRITO DESATIADO O PROGRAMA NÃO ABRE,
	if(status = "DESABILITADO"){
		MsgBox, 8256, %versaoAtual% SERVIÇO SUSPENSO!!, SERVIÇO SUSPENSO!!`n	SERVIÇO SUSPENSO!!`n		SERVIÇO SUSPENSO!!, 5
		ExitApp 	
	}
	
		;=============================================
	Progress, 100
	Sleep,900 
	Progress, OFF
	FileDelete,%versaoAntiga%
}
;======================================
;FUNÇÃO QUE VERIFICA ATUALIZAÇÃO A CADA 5 MIN
;======================================
VERIFICAÇÃO_DE_ATUALIZACAO:


URLDownloadToFile, https://drive.google.com/uc?export=download&id=16fx_ymscbSRMqE7STQQDnN9C9hs2dLSB,%A_Temp%/version_new.txt ;baixou o version


if ErrorLevel{	
	return
}else{
	
	FileDelete,%A_Temp%/version.txt
	FileMove, %A_Temp%/version_new.txt, %A_Temp%/version.txt 
	
	;VERIFICA SE É PARA FAZER ATUALIZAÇÃO.
	FileReadLine, atualizacao_Status, %A_Temp%/version.txt, 4
	if(atualizacao_Status = "ATUALIZACAO_HABILITADA"){
		return
	}
	


	
	;VALIDA SE VAI FAZER ATUALIZAÇÃO.
	FileReadLine, version, %A_Temp%/version.txt, 1
	if (version = "<HTML>" ) { 
		
	} else {
		if(version != versaoAtual){
			MsgBox, 64,%versaoAtual% ATUALIZAÇÂO DETECTADA!!, Foi detectado uma atualização para %version%`nO programa será reiniciado!
			Reload		
		}
	}
	
	FileReadLine, status, %A_Temp%/version.txt, 3
	if(status = "DESABILITADO"){
		
		MsgBox, 8256, %versaoAtual% SERVIÇO SUSPENSO!!, SERVIÇO SUSPENSO!!`n	SERVIÇO SUSPENSO!!`n		SERVIÇO SUSPENSO!!, 5
		
		ExitApp 	
	}
	
	FileDelete, %A_Temp%/version.txt
	
	
	
}
Return

Post Reply

Return to “Tutoriais”