Skip to content

Instantly share code, notes, and snippets.

@eduardosan
Last active February 20, 2019 19:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save eduardosan/6c108f3cce33cdee3784 to your computer and use it in GitHub Desktop.
Save eduardosan/6c108f3cce33cdee3784 to your computer and use it in GitHub Desktop.
Script .BAT para instalação do Cacic
cls
@echo off
set __COMPAT_LAYER=RunAsInvoker
REM COMANDO ABAIXO USADO PARA EXECUTAR O INSTALLCACIC SEM QUESTIONAMENTOS.
REM ###########################################################################
REM # INSERIR DADOS NECESSÁRIOS PARA A INSTALAÇÃO #
REM ## Usuário do ftp está como padrão. ##
REM ###########################################################################
REM ##ATENÇÃO: verificar em qual diretório do ftp está localizado os agentes.##
REM ##Geralmente ficam na pasta agentes, porém há casos em que não ficam ##
REM ##dentro de diretório. Nesses casos, basta colocar um . (ponto). ##
REM ###########################################################################
set usuarioFtp=
set senhaFtp=
set serverFtp=
set serverInstall=
set diretorioFtp=
ECHO ###############################################
ECHO ### INSTALL CACIC ###
ECHO ###############################################
c:
md c:\cacic
cd c:\cacic
md c:\temp
move c:\Cacic\Logs\SCRIPT_CACIC.log c:\temp\
echo -----------------------------UPDATE CACIC----------------------------->>c:\temp\SCRIPT_CACIC.log
echo %date% - Criando arquivo txt com os comandos de conexão ftp...>>c:\temp\SCRIPT_CACIC.log
echo %usuarioFtp%>c:\temp\ftpcacic.txt
echo %senhaFtp%>>c:\temp\ftpcacic.txt
echo cd %diretorioFtp%>>c:\temp\ftpcacic.txt
echo get versions_and_hashes.ini>>c:\temp\ftpcacic.txt
echo bye>>c:\temp\ftpcacic.txt
attrib +h +s c:\temp\ftpcacic.txt
ECHO %date% - Verificando se versions_and_hashes.ini já existe...>>c:\temp\SCRIPT_CACIC.log
IF EXIST versions_and_hashes.ini (
ECHO %date% - Arquivo versions_and_hashes.ini alterado para versions_and_hashes_old.ini>>c:\temp\SCRIPT_CACIC.log
attrib -h -s versions_and_hashes.ini
ren versions_and_hashes.ini versions_and_hashes_old.ini
attrib +h +s versions_and_hashes_old.ini
)
ECHO %date% - Conectando com ftp...>>c:\temp\SCRIPT_CACIC.log
ftp -s:c:\temp\ftpcacic.txt %serverFtp%
attrib +h +s versions_and_hashes.ini
ECHO %date% - Comparando versões...>>c:\temp\SCRIPT_CACIC.log
for /f %%a in ('find "installcacic.exe_HASH=" versions_and_hashes.ini') do set hashgerente=%%a
for /f %%a in ('find "installcacic.exe_HASH=" versions_and_hashes_old.ini') do set hashlocal=%%a
IF NOT "%hashgerente%"=="%hashlocal%" (
ECHO %date% - Versões diferentes..>>c:\temp\SCRIPT_CACIC.log.
ECHO.
cd ..
ECHO ###############################################
ECHO ### REMOVENDO CACIC ANTIGO.. ###
ECHO ###############################################
echo %date% - Removendo cacic antigo...>>c:\temp\SCRIPT_CACIC.log
TASKKILL /F /IM CACIC*
TASKKILL /F /IM MAPACACIC.EXE
TASKKILL /F /IM GERCOLS.EXE
TASKKILL /F /IM SRVANY.EXE
RMDIR /S /Q C:\CACIC\
DEL /F /Q C:\WINDOWS\CHKSIS.EXE
DEL /F /Q C:\WINDOWS\CACICSVC.EXE
DEL /F /Q C:\WINDOWS\CACICSERVICE.EXE
DEL /F /Q C:\WINDOWS\CHKSIS.INI
SC DELETE CacicSustentainService
SC DELETE CACIC
ECHO ###############################################
ECHO ### ATUALIZANDO CACIC ###
ECHO ###############################################
MD c:\Cacic
MD c:\Cacic\Logs
cd c:\temp
echo %date% - Atualizando o cacic...>>c:\temp\SCRIPT_CACIC.log
echo %usuarioFtp%>ftpinstallcacic.txt
echo %senhaFtp%>>ftpinstallcacic.txt
echo cd %diretorioFtp%>>ftpinstallcacic.txt
echo get installcacic.exe>>ftpinstallcacic.txt
echo bye>>ftpinstallcacic.txt
attrib +h +s ftpinstallcacic.txt
ftp -s:ftpinstallcacic.txt %serverFtp%
start /wait installcacic.exe /serv=%serverInstall% /silent
cd c:\Cacic
if EXIST *.exe (
ECHO %date% - Copiando versions_and_hashes.ini do ftp...>>c:\temp\SCRIPT_CACIC.log
ftp -s:c:\temp\ftpcacic.txt %serverFtp%
ECHO %date% - Ocultando versions_and_hashes.ini...>>c:\temp\SCRIPT_CACIC.log
attrib +h +s versions_and_hashes.ini
) ELSE (
ECHO ------------------------------------------------------------------------->>c:\temp\SCRIPT_CACIC.log
ECHO %date% - ERROR! - Instalação inconsistente, verifique as configurações...>>c:\temp\SCRIPT_CACIC.log
ECHO %date% - ERROR! - Tentativa de instalação em: %serverInstall% >> c:\temp\SCRIPT_CACIC.log
ECHO ------------------------------------------------------------------------->>c:\temp\SCRIPT_CACIC.log
GOTO fim
)
) ELSE (
ECHO %date% - Versões iguais...>>c:\temp\SCRIPT_CACIC.log
)
echo %date% - Verificando existencia do servico de sustentacao...>>c:\temp\SCRIPT_CACIC.log
SC QUERY CacicSustainService |find "CacicSustainService" >nul
if errorlevel 1 (
cd c:\windows
IF EXIST cacicservice.exe (
ECHO %date% - Criando servico de sustentacao...>>c:\temp\SCRIPT_CACIC.log
start /wait cacicservice.exe -install -silent
)
)
ECHO %date% - Verificando inicializacao do servico Cacic...>>c:\temp\SCRIPT_CACIC.log
for /F "tokens=3 delims=: " %%H in ('sc query "CacicSustainService" ^| findstr " STATE"') do (
if /I "%%H" NEQ "RUNNING" (
ECHO %date% - Iniciando servico cacic...>>c:\temp\SCRIPT_CACIC.log
SC START CacicSustainService
)
)
:fim
ECHO %date% - Deletando verstigios de atualizacao...>>c:\temp\SCRIPT_CACIC.log
DEL /F /Q /AHS c:\cacic\versions_and_hashes_old.ini
ECHO %date% - Deletando pasta temporaria...>>c:\temp\SCRIPT_CACIC.log
move c:\temp\SCRIPT_CACIC.log c:\Cacic\Logs
rmdir /S /Q c:\temp
pause
@lucasmfdotcom
Copy link

lucasmfdotcom commented Feb 20, 2019

Tenho bastante dificuldades para remover desinstalar o Cacic de varias máquinas na rede, tudo por causa deste comando da linha 80.
O correto é CacicSustainService, não se em versões anteriores o nome do servico era sustentain, porém essa simples diferença me fazia desinstalar tudo e ficar o servico do windows rodando...

SC DELETE CacicSustentainService

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment