Portabilizar uma aplicação em Batch

Novembro 2016



Este é um tutorial com o passo a passo para a criação de um lançador de uma aplicação que não é nativamente portátil, aquela que inscreve seus parâmetros no banco do registro. Para este tutorial, tomei como exemplo a portabilidade do Angry IP Scanner com as seguintes ferramentas:

A linguagem de programação Batch (incluída no Windows)

RegFromApp

Observação: se o programa integrar um driver, ele não poderá tornar-se portátil dessa maneira; se o programa tiver arquivos no diretório Windows ou outros diretórios de sistema: ele não pode se tornar portátil, e se precisar registrar uma dll/ocx: não tente.

Backup dos parâmetros

Para conhecer a ou as chaves modificadas ou criadas no banco do registro do sistema pelo usuário do Angry IP Scanner, nós faremos um tracing da utilização do registro com Angry IP Scanner.

Lançe o RegFromApp. Desdobre o menu Arquivo > Iniciar novamente processus > Navegador > marque o seu executável > e selecione Start Tracing immediately depois valide:


Agora, faça o backup das opções do Angry IP Scanner na pasta Data:


Depois, copie o aplicativo completamente (o pequeno executável) no diretório chamado App:

Portabilidade (Criação Batch)

Codifique o lançador em Batch na raiz da pasta (por exemplo Start.bat), é preciso abrir este arquivo com o Notepad, por exemplo, e coloque aquilo que encontrou como parâmetro do registro e que está normalmente na pasta Settings (Configurações):

E agora? Bem vamos poder criar o arquivo batch! Lance seu editor de texto favorito e coloque este código dentro:


@Echo Off
Title Angry Ip Scanner Portable
Echo Lancement de Angry IP Scanner...
Set USERPROFILE=%CD%Data
Appipscan.exe
Echo.
Echo Nettoyage...
Reg Delete /f /va HKEY_CURRENT_USERSoftwareAngryziber"


@Eco Off
Title Angry Ip Scanner Portable
Echo Lançamento de Angry IP Scanner...
Set USERPROFILE=%CD%Data
Appipscan.exe
Eco.
Eco Limpeza...
Reg Delete /f /va HKEY_CURRENT_USERSoftwareAngryziber"
</code>


De acordo com a versão do seu software, é preciso trocar a regpath

Uma janela se abrirá durante a utilização do programa, mas você pode acessar este site e colocar ali o seu script, sem esquecer, no entanto, de marcar Invisible Application (Aplicativo invisível! Você poderá, em seguida, trocar o ícone com o Resource Hacker.

Atenção: os arquivos criados com a ajuda deste conversor online são susceptíveis de provocar a reação espontânea dos antivirus.

Note que o Angry IP Scanner não deixa nenhum documento recalcitrante no disco rígido mas na chave, desta forma, admitindo que %datapath% é o endereço dos documentos deixados no fechamento de Angry IP Scanner, o código será assim:

@Echo Off
Set regpath=HKEY_CURRENT_USER\Software\Angryziber
Set datapath=%SystemDrive%\Dossier à supprimer
Title Angry Ip Scanner Portable
Echo Lancement de Angry IP Scanner...
If Exist "Data\Backup" Copy /Y "Data\Backup" "%datapath%
Reg Import "Data\Settings.reg"
Start /wait "Appipscan.exe "
Echo Nettoyage...
Copy /Y "%datapath%" "Data\Backup"
Reg Export /Y "%regpath%" "Data\Settings.reg"
Reg Delete /F /VA "%regpath%"


Pode-se analisar se o software cria documentos no disco rígido com File Monitor de Sysinternals. Se você necessitar outras variáveis de ambiente para a limpeza de arquivos, elas estão http://fr.wikipedia.org/wiki/Variable_aqui (em francês).
Variável


Note neste pequeno pedaço de código certas coisas:

@Echo Off serve para tirar o eco dos comandos, quer dizer que os comandos não serão exibidos.
Echo Mas eu pensava portanto ter desativado o eco mais acima? Oh...mas em Batch, is in Batch, "Echo JeParle" não é a mesma coisa que: serve para dizer alguma coisa.
Set USERPROFILE=%CD%Data Serve para mudar o lugar do backup dos dados pessoais registrados pelo programa
Appipscan.exe serve para lançar o programa e continuar o script no seu fechamento.
Pausa Serve para colocar uma pausa e ">nulo" serve para não mostrar nada na tela.
Reg Delete /f/va Serve para suprimir a chave após a utilização do software, note que não é colocado sob chave e que é colocado somente a chave dita "raiz"

Outros Links

Portabilizar um aplicativo com RegRapper
Portabilizar um aplicativo com AutoIt
Portabilizar um aplicativo com NSIS
Portabilizar um aplicativo com ThinApp



fr\http://www.commentcamarche.net/faq/17707-portabiliser-une-application-avec-le-batch

Veja também :
Este documento, intitulado « Portabilizar uma aplicação em Batch »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.