Tuesday, August 7, 2018

NSIS

NSIS


Atendendo a diversos pedidos foi criado um tutorial em ingles no site portableappz que nos deu um script pr�-formulado e desde ent�o temos desenvolvido um script apartir deste seguimento.

Este tutorial tamb�m tem como base um script, onde vou tentar explicar de uma forma simples e com imagens para facilitar o entendimento. Se voc� quer aprender a criar portables com este m�todo, deve estudar este tutorial por varias vezes e fazer testes primeiro com programas pequenos para depois partir para os mais dificultosos, apesar que devo dizer que alguns programas n�o podem ser portabilizados, por causa da sua complexidade nas chaves ou os muitos drivers e servi�os que s�o instalados e exigidos por ele.

Baixar: NSIS - Total Uninstall - script

Ora! nem � preciso dizer que voc� ter� que instalar o NSIS no seu computador assim como os plugins que o script exigir�.
Para facilitar as coisas eu tenho a pasta do NSIS j� com todos os plugins instalados, bastando substitur pela do NSIS que estar� em C:Arquivos de programas.

1- Ent�o fa�a j� isso. Baixe o NSIS e baixe a pasta NSIS.
E depois que fizer a substitui��o voc� deve ir at� a pasta C:|Arquivos de programasNSIS e clique em InstallContextMenu.exe para instalar tamb�m um Menu de contexto.

2- Baixe o Total Uninstall

3- Baixe o Script MeuProgramaPortable

4- Baixe NSIS_Constants ou Aqui descompacte e execute NSIS_Constants.exe para conhecer os caminhos ou as vari�veis NSIS do seu computador.

Quero deixar aqui dispon�vel um script simples com possibilidade de abrir um Splash para executar na pasta atual, e que pode perfeitamente ser utilizado no ThinApp, Spoom ou WinRar. Para baixa-lo clique aqui .

Agora que voc� j� tem na m�o todas as ferramentas necess�rias, j� pode fazer tamb�m o seu, e n�o se esque�a de nos fazer uma visita. Este tutorial fala sobre emula��o chaves, pastas e arquivos

Parte 1 - Capturar uma instala��o com Total Uninstall

1- Abrir o Totall Uninstall Clicar em Instalar




2- Clique no bot�o Navegar para indicar o caminho do instalador. Em cima, o nome da fotografia vai aparecer um sugerido, mas pode ser qualquer nome. Depois clique em Seguinte>>. (Neste exemplo eu estou utilizando o Clone DVD 5 ).




3- Aqui ele est� scaneando o sistema e vai fotografar o estado antes da instala��o. Aguarde



4- Depois da fotografia tirada vai aparecer a pr�xima tela e voc� clique em Seguinte para Instalar o programa no computador.




5- Agora vai abrir o instalador. Voc� instala o programa e no final, se for poss�vel, n�o execute ele, apenas feche no final da instala��o. Chave, serial, etc.. fica pra depois. N�s queremos saber apenas o que ele instala antes de executar ele certo ?




6- Depois disso volte � t�la do Total Uninstall e clique em Seguinte>> para fazer a captura.



7- Nesta t�la ele vai escanear e fazer a captura. Quando terminar voc� clica em Fechar para irmos para as pastas.



8- No Totall uninstall Clique em Mudan�as e da jan�la dele mesmo voc� pode copiar as pastas. Vamos copiar primeiro a pasta principal de C:Arquivos de programas. Clique com o direito do mouse sobre a pasta e selecione Copiar




9- Crie uma pasta com o nome principal + Portable. Tipo assim CloneDVDPortable. Aguns scripts s� compilam assim. mas o nosso script n�o tem problema. Pode ser qualquer nome e pode ter espa�o, sem problema. A minha pasta ficou como CloneDVD Portable. Dentro, crie mais uma chamada App e dentro da App crie mais uma renomeado como DefaultData. Na pasta App cole a pasta principal. No meu caso �la se chama Clonedvd5




10 - Na pasta DefaultData voc� vai colocar as pastas e arquivos que devem ser emulados pelo seu programa certo ? Ent�o voltamos para a jan�la do Total Uninstall e copiamos a pasta que ele criou em AllUserDados de aplicativoschamada DVDXStudio . Tem uma outra que ele criou em UserDados de aplicativos chamada Vso, mas �ssa � de um driver simples que ele instala, mas n�o � necess�rio emular esta pasta pois o programa n�o precisa deste driver. Ent�o vamos l�, copiamos a pasta certa e colamos em DefaultData.




12- Agora vamos aos arquivos, pois n�o tem mais pasta nenhuma. Ele instalou um arquivo em C:WINDOWSsystem32 chamado sycd5.dll . Ent�o vamos l� e copiamos este arquivo.




13- Pronto a pasta DefaultData est� com a pasta e o arquivo que o programa prescisa, mas ainda falta copiar as chaves de registro.



14- Ainda na janela do Total Uninstal selecione Registro na aba Mudan�as e clique em cima no Menu FicheirosExportarAltera��es de registro



15- Na pr�xima t�la Clique Ok





16- Salve em qualquer lugar ou provizoriamente na pasta do portable




17- Bom, agora chegou a hora de abrir o programa, colocar serial, aplicar Path ou crack e analizar as novas mudan�as feitas no registro e no PC. No meu caso aqui, n�o tem serial, mas um Path que faz o programa funcionar normalmente. Ent�o vamos l�, � importante sabermos o que ele cria, j� que a pasta que ele criou na instala��o em AllUserDados de aplicativos est� vazia. Para n�o perdermos nada, temos que fazer isso pelo Total uninstall. Ent�o clique em cima no bot�o Atualizar




18- Desta vez voc� vai indicar o caminho do lan�ador em C:Arquivos de programas para o programa abrir. No meu caso, o lan�ador se chama MainApp.EXE . do jeito que est� l� na pasta do programa. Voc� vai fazer isso e clicar em Seguinte>> para continuar da mesma forma que foi feito no inicio. E o programa vai abrir e se tiver, voc� coloca o serial e etc.. Depois voc� fecha o programa e continua no total Uninstall para a nova captura, igual o j� feito anteriormente.




19- Por seguran�a, eu recomendo criar uma pasta provis�ria. No meu caso eu criei uma chamada Backup e copiei novamente as pastas que ele criou + a nova chave de registro para verificar a diferen�a.



20- Aqui no meu programa ele criou um monte de arquivo na pasta de AllUserDados de aplicativos e o registro tamb�m aumentou o tamanho. Se algum programa tiver que colocar serial, normalmente ele estar� no registro ou na pasta que ele criou, isso depende do programa. No meu caso aqui, como eu usei o Path n�o vai alterar nada. Mas o registro vai ser usado no script que vamos usar no pr�ximo passo.

Parte 2 - Preencher e compilar um script para criar um lan�ador

1- Para esta parte voc� teria que baixar o script MeuProgramaPortable e utilizar a pasta sources, que pra ficar mais perto, pode ser copiada na pasta do portable provis�riamente, mas n�o � obrigat�rio.


2- Na pasta sources voc� tem que ter um �cone formato .ico com o nome do programa (No meu caso CloneDVD.ico) e se desejar um splash na inicializa��o deve colocar tamb�m uma imagem no formato .bmp, tamb�m com o nome do programa seguido da palavra Splash "sem espa�o". No meu caso ficou como CloneDVDSplash.




3- Detalhe da imagem � que ela deve ser envolvida pelo branco, pois o script est� configurado assim, para fazer diferente teria que mudar o script, mas n�o vamos entrar nesta parte agora. Veja o exemplo da imagem aberta para voc� ter uma id�ia da coisa.



4- ===Define constants=== Abra o script MeuProgramaPortable com o bloco de notas mesmo ou notepad++ e no inicio preencha:

!define VER se quizer, pode deixar como est� 0.0.0.0
!define APPNAME pode colocar o nome que quizer ou nada
!define APP Coloque o nome do portable, (mesmo nome do �cone e do splash) 
!define APPEXE Nome do lan�ador deve igual o da pasta principal do programa
!define APPDIR Coloque o caminho da pasta do programa
!define APPSWITCH n�o faz nada




5- ---Define Local Dirs---
Logo abaixo temos --- Define RegKeys --- mas vamos pular a parte das chaves, porque isso ser� depois.
Vimos que o programa criou apenas uma pasta em AlluserDados de aplicativos,
Para funcionar no XP PT, Ingles e Windows 7, 8, Vista devemos adicionar pelo menos 3 caminhos:

$%ALLUSERSPROFILE%DADOSD~1 ome da pasta
$%ALLUSERSPROFILE%APPLIC~1 ome da pasta
$%HOMEDRIVE%ProgramData ome da pasta
ou $%HOMEDRIVE%PROGRA~1 ome da pasta

Recomenda��o= � recomendo primeiramente testar com o comando : $APPDATA ome da pasta
caso n�o funcionar, ent�o deve-se especificar o caminho direto (neste caso voc� pode especificar os 3 caminhos para garantir que ele funcione no XP PT, ENG e Win 7, 8, Vista


EX. (testar com este caminho)

!define LOCALDIR1 "$APPDATADVDXStudio"
!define SUBDIR1 ""Aqui n�o Faz nada
!define PORTABLEDIR1 "$EXEDIRDataDVDXStudio"
!define DEFAULTPORTABLEDIR1 "$EXEDIRAppDefaultDataDVDXStudio"

EX: (Se n�o funcionar, testar com os 3 caminhos)

!define LOCALDIR1 "$%ALLUSERSPROFILE%DADOSD~1DVDXStudio"
!define SUBDIR1 ""Aqui n�o Faz nada
!define PORTABLEDIR1 "$EXEDIRDataDVDXStudio"
!define DEFAULTPORTABLEDIR1 "$EXEDIRAppDefaultDataDVDXStudio"

!define LOCALDIR2 "$%ALLUSERSPROFILE%APPLIC~1DVDXStudio"
!define SUBDIR2 ""Aqui n�o Faz nada
!define PORTABLEDIR2 "$EXEDIRDataDVDXStudio(1)"
!define DEFAULTPORTABLEDIR2 "$EXEDIRAppDefaultDataDVDXStudio"

!define LOCALDIR3 "$%HOMEDRIVE%PROGRA~1DVDXStudio"
!define SUBDIR3 ""
!define PORTABLEDIR3 "$EXEDIRDataDVDXStudio(2)"
!define DEFAULTPORTABLEDIR3 "$EXEDIRAppDefaultDataDVDXStudio"



6- Pastas de DefaultData

A pasta DVDXStudio para W 7, 8, Vista e XP ENG em DefaultData ser� s� uma normal, mas em Data ser�o criadas 3 pastas automaticamente, conforme o script. EX. DVDXStudio, DVDXStudio(1), DVDXStudio(2).

Espero que voc� tenha entendido isso.

7- ---Define Files ---

Voltando ao script, l�go abaixo temos a parte da emula��o de arquivos.E no nosso caso temos apenas um localizado em est� na pasta C:WINDOWSsystem32

!define LOCALFILE1 "$SYSDIRsycd5.dll"
!define PORTABLEFILE1 "$EXEDIRDatasycd5.dll"
!define DEFAULTPORTABLEFILE1 "$EXEDIRAppDefaultDatasycd5.dll"

Observe que no script est�o especificados os caminhos. Se tivesse mais arquivos, teriamos que acrescentar tamb�m no script , tipo: !define LOCALFILE2..., !define LOCALFILE3.. etc..



8- === Other Actions ===

Abaixo de Define Files temos : === Best Compression === | === Includes === e === Set basic information === que n�o se faz nada pois s�o informa��es sobre compress�o, plugins, renome e icone do portable .

Function Init

Aqui voc� tem que colocar as chaves de registro, vamos ent�o preparar a chave e coloca-las aqui.
Abrir a chave: Direito do mouse sobre a primeira chave exportada editar (pode ser com o bloco de notas). Veja na imagem abaixo que eu vou deixar apenas a parte que o programa precisa.




Ent�o voc� salva, e veja na imagem abaixo que todo o resto foi deletado. E ficou s� o b�sico. No caso de programas que utilizam serial no registro, deve-se abrir a outra chave e acrescentar apenas a chave que contem o serial key. Na verdade, este programa tamb�m coloca serial no registro, mas como no meu caso eu usei um Path, isso n�o ser� necess�rio. Esta chave servir� apenas para abrir o programa e tamb�m vai capturar tudo o que aumentar apartir dela, deixando o registro sempre limpo com backup do registro na pasta Data (que ser� criada automaticamente) ao fechar o aplicativo.




Antes de colocar no script voc� ainda tem que converte-la para o formato NSIS.

Bot�o direito do mouse Convert to nsis script. A chave vaificar assim:




Abra a chave j� convertida (pode ser com o bloco de notas mesmo) e voc� deve editar o novo endere�o portable. De $PROGRAMFILES para $EXEDIRApp




Vamos aproveitar e limpar um pouco mais tirando chaves repetidas sem informa��es, copiar e colar no script. Depois disso n�s temos que copiar a primeira parte da chave at� depois de SoftwaresProg.... pra colar l� em cima na parte inicial em --- Define RegKeys ---




9- ---

visit link download