Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ehs171

[Resolvido] Inno Setup - Avançado

Recommended Posts

Boa tarde pessoal, estou montando um script para instalao de meu sistema com o inno setup mas estou enfrentando alguns problemas, e os tutorias, que acho por ai só são simples, e os exemplos no site do inno setup sao meio confusos, por isso peco a ajuda de voces:, vou relatar meu problema.

Voua fazer o instalador para meu sistema, e junto com meu sistema, vai instalar o postgreslq, pgadmin, postgres odbc, e criar o banco de dados, tudo separado, o problema esta em fazer o isntalador com akeles checkbox, paar que a pessoa tike na hora de instalar o que ker e depois o sistema instale somente os marcados. Bom a parte do checkbox eu consegui colocar são os component do inno, mas depois conseguir fazer uma verificacao do que esta ticado ou nao para executar nao consigo, alguem poderia me dar uma ajuda?

 

Abaixo o código do inno:

 

[Setup]
AppName=MeuSistema
AppVerName=MeuSistemaversão xx.xx
DefaultDirName={sd}\sistemas\sistema
DefaultGroupName=sistemas\sistema
;UninstallDisplayIcon={app}\MyProg.exe
;OutputDir=userdocs:Inno Setup Examples Output

[Types]
Name: full; Description: Instalação Completa
;Name: "compact"; Description: "Instalação Típica"
Name: custom; Description: Instalação Personalisada; Flags: iscustom

[Components]
;Name: "program"; Description: "Program Files"; Types: full compact custom; Flags: fixed
Name: program; Description: Uniponto; Types: full custom; Flags: fixed
Name: postgresql; Description: Banco de Dados PostgreSQL; Types: full custom
Name: odbc; Description: ODBC PostgreSQL; Types: full custom
Name: pgadmin; Description: PGAdmin; Types: full custom
Name: unigl; Description: UniGL - Gerenciador de Lincenças; Types: full custom
Name: banco; Description: Criar Banco de Dados Inicial; Types: full custom
Name: manual; Description: Manual de Instruções; Types: full custom

[Files]
Source: MyProg.exe; DestDir: {app}; Components: program
;Source: postgresql-8.1-int.msi; DestDir: {app}; Components: postgresql
;Source: postgre.bat; DestDir: {app}
Source: postgresql-8.1-int.msi; DestDir: {tmp}; Components: postgresql
Source: postgre.bat; DestDir: {tmp}
Source: psqlodbc.msi; DestDir: {tmp}; Components: odbc
Source: odbc.bat; DestDir: {tmp}
Source: pgadmin3.msi; DestDir: {tmp}; Components: pgadmin
Source: pgadmin.bat; DestDir: {tmp}
Source: sql.sql; DestDir: {tmp}; Components: banco
Source: criaBanco.bat; DestDir: {tmp}

[Icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe

[Run]
Filename: {tmp}\postgre.bat; Flags: runhidden; Components: postgresql
Filename: {tmp}\pgadmin3.msi; Components: pgadmin; Parameters: /i /qr
;Filename: {tmp}\odbc.bat Flags: nowait
;Filename: {tmp}\pgadmin.bat; Components: pgadmin
;Filename: {tmp}\criaBanco.bat+

valew pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia pessoal, descobri a solução é só utilizar a tag TASKS do inno setup.

Vou disponibilzar um exemplo para aqueles que tiverem duvidas tentarem:

 

[Setup]
AppName=Uniponto
AppVerName=Uniponto versão xx.xx
DefaultDirName={sd}\Unimake\Uniponto
DefaultGroupName=Unimake\Uniponto
;UninstallDisplayIcon={app}\MyProg.exe
;OutputDir=userdocs:Inno Setup Examples Output

[Languages]
Name: brazilianportuguese; MessagesFile: compiler:Languages\BrazilianPortuguese.isl

[Files]
Source: MyProg.exe; DestDir: {app}
Source: postgresql-8.1-int.msi; DestDir: {tmp}; Tasks: postgre
Source: postgre.bat; DestDir: {tmp}; Tasks: postgre
Source: psqlodbc.msi; DestDir: {tmp}; Tasks: odbc
Source: odbc.bat; DestDir: {tmp}; Tasks: odbc
Source: pgadmin3.msi; DestDir: {tmp}; Tasks: pgadmin
Source: pgadmin.bat; DestDir: {tmp}; Tasks: pgadmin
Source: sql.sql; DestDir: {tmp}; Tasks: banco
Source: criaBanco.bat; DestDir: {tmp}; Tasks: banco

[Icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe

[Tasks]
Name: pgadmin; Description: PGAdmin
Name: postgre; Description: Banco de Dados PostgreSQL
Name: odbc; Description: Potgre ODBC
Name: banco; Description: Criar banco de dados inicial

[Run]
Filename: {tmp}\postgre.bat; Flags: runhidden; Tasks: postgre
Filename: {tmp}\pgadmin.bat; Flags: runhidden; Tasks: pgadmin
Filename: {tmp}\odbc.bat; Flags: runhidden; Tasks: odbc
Filename: {tmp}\criaBanco.bat; Flags: runhidden; Tasks: banco

Obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

[Run]
Filename: {tmp}\postgre.bat; Flags: runhidden; Tasks: postgre
Filename: {tmp}\pgadmin.bat; Flags: runhidden; Tasks: pgadmin
Filename: {tmp}\odbc.bat; Flags: runhidden; Tasks: odbc
Filename: {tmp}\criaBanco.bat; Flags: runhidden; Tasks: banco

 

Teria como me passa esses scripts criabanco.bat, postgre.bat, para ter uma ideia de como vou fazer um semelhante aqui?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

[Run]
Filename: {tmp}\postgre.bat; Flags: runhidden; Tasks: postgre
Filename: {tmp}\pgadmin.bat; Flags: runhidden; Tasks: pgadmin
Filename: {tmp}\odbc.bat; Flags: runhidden; Tasks: odbc
Filename: {tmp}\criaBanco.bat; Flags: runhidden; Tasks: banco

 

Teria como me passa esses scripts criabanco.bat, postgre.bat, para ter uma ideia de como vou fazer um semelhante aqui?

 

Bom dia Fernando, atendendo ao seu pedido aqui estão os códigos que utilizei, espero que lhe sejam uteis.

 

Postgre.Bat

msiexec /i postgresql-8.1-int.msi /qr INTERNALLAUNCH=1 ADDLOCAL="server,nls,psql" PERMITREMOTE=1 CREATESERVICEUSER=1 DOSERVICE=1 DOINITDB=1 SERVICEDOMAIN="%COMPUTERNAME%" SERVICEACCOUNT="postgres" SERVICEPASSWORD="postgres" SUPERUSER="login" SUPERPASSWORD="senha" ENCODING="LATIN1" TRANSFORMS=:lang_pt_br LISTENPORT=5432 BASEDIR="c:\unimake_bd" DATADIR="c:\unimake_bd\data"

PgAdmin.bat

msiexec /i pgadmin3.msi /qr

criaBanco.bat

@Echo off
set PGPASSWORD=senha
c:\unimake_bd\bin\psql -h localhost -p 5432 -U login -q -d postgres -f "sql.sql"

Odbc.bat

msiexec /i psqlodbc.msi /qr

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde pessoal, estou montando um script para instalao de meu sistema com o inno setup mas estou enfrentando alguns problemas, e os tutorias, que acho por ai só são simples, e os exemplos no site do inno setup sao meio confusos, por isso peco a ajuda de voces:, vou relatar meu problema.

Voua fazer o instalador para meu sistema, e junto com meu sistema, vai instalar o postgreslq, pgadmin, postgres odbc, e criar o banco de dados, tudo separado, o problema esta em fazer o isntalador com akeles checkbox, paar que a pessoa tike na hora de instalar o que ker e depois o sistema instale somente os marcados. Bom a parte do checkbox eu consegui colocar são os component do inno, mas depois conseguir fazer uma verificacao do que esta ticado ou nao para executar nao consigo, alguem poderia me dar uma ajuda?

 

Abaixo o código do inno:

 

[setup]
AppName=MeuSistema
AppVerName=MeuSistemaversão xx.xx
DefaultDirName={sd}\sistemas\sistema
DefaultGroupName=sistemas\sistema
;UninstallDisplayIcon={app}\MyProg.exe
;OutputDir=userdocs:Inno Setup Examples Output

[Types]
Name: full; Description: Instalação Completa
;Name: "compact"; Description: "Instalação Típica"
Name: custom; Description: Instalação Personalisada; Flags: iscustom

[Components]
;Name: "program"; Description: "Program Files"; Types: full compact custom; Flags: fixed
Name: program; Description: Uniponto; Types: full custom; Flags: fixed
Name: postgresql; Description: Banco de Dados PostgreSQL; Types: full custom
Name: odbc; Description: ODBC PostgreSQL; Types: full custom
Name: pgadmin; Description: PGAdmin; Types: full custom
Name: unigl; Description: UniGL - Gerenciador de Lincenças; Types: full custom
Name: banco; Description: Criar Banco de Dados Inicial; Types: full custom
Name: manual; Description: Manual de Instruções; Types: full custom

[Files]
Source: MyProg.exe; DestDir: {app}; Components: program
;Source: postgresql-8.1-int.msi; DestDir: {app}; Components: postgresql
;Source: postgre.bat; DestDir: {app}
Source: postgresql-8.1-int.msi; DestDir: {tmp}; Components: postgresql
Source: postgre.bat; DestDir: {tmp}
Source: psqlodbc.msi; DestDir: {tmp}; Components: odbc
Source: odbc.bat; DestDir: {tmp}
Source: pgadmin3.msi; DestDir: {tmp}; Components: pgadmin
Source: pgadmin.bat; DestDir: {tmp}
Source: sql.sql; DestDir: {tmp}; Components: banco
Source: criaBanco.bat; DestDir: {tmp}

[icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe

[Run]
Filename: {tmp}\postgre.bat; Flags: runhidden; Components: postgresql
Filename: {tmp}\pgadmin3.msi; Components: pgadmin; Parameters: /i /qr
;Filename: {tmp}\odbc.bat Flags: nowait
;Filename: {tmp}\pgadmin.bat; Components: pgadmin
;Filename: {tmp}\criaBanco.bat+

 

valew pessoal

 

Fala ae galera !,

 

Sei que o topico é um pouco antigo mais soh pra da um help pra quem ta batendo cabeça nisso como eu tava.

 

Eu consegui dessa forma:

 

[setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={sd}\Empresa\{#MyAppName}
DefaultGroupName=Empresa\Programa
InfoBeforeFile=C:\antes da instalação.txt
OutputDir=C:\instalador
OutputBaseFilename=setup
SetupIconFile=D:\Logos\icone.ico
Compression=lzma
SolidCompression=yes


[Types]
Name: "si"; Description: "Instalação Servidor Implantação"
Name: "sd"; Description: "Instalação Servidor Demonstração"
Name: "cl"; Description: "Instalação Cliente" 
Name: "pe"; Description: "Instalação Personalizada";Flags: iscustom 

[Components]
Name: "program"; Description: "Programa Files"; Types: si sd cl pe; Flags: fixed
Name: "sql"; Description: "Microsoft Sql Server 2005 Express"; Types: si sd 
Name: "sqli";Description: "Microsoft Management Studio Express";Types:si sd 
Name: "rest"; Description: "Restaurar Banco"; Types: si sd
Name: "rest\p"; Description: "Restaurar Banco Preenchido"; Flags: exclusive; Types:sd
Name: "rest\b"; Description: "Restaurar Banco Vazio"; Flags:exclusive; Types: si
Name: "odbc"; Description: "Conexao ODBC";Types:cl
Name: "bde"; Description:"BDE";Types:cl

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; 
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: "C:\Fontes\executavel.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Fontes\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components:program
Source: "C:\Adicionais\sql.EXE"; DestDir: "{tmp}"; Flags: deleteafterinstall; Components:sql 
Source: "C:\Adicionais\sqli.msi"; DestDir: "{tmp}"; Flags: deleteafterinstall; Components:sqli
Source: "C:\Adicionais\msiexec.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall;Components:sqli 
Source: "C:\Fonte\Banco\*"; DestDir: "{app}\Banco"; Flags: ignoreversion recursesubdirs createallsubdirs;Components:rest
Source: "C:\Adicionais\MiniReg.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall;Components:bde
Source: "C:\Adicionais\BdeInst.dll"; DestDir: "{tmp}"; Flags: deleteafterinstall;Components:bde

[icons]
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

[Run]

Filename: "{tmp}\sql.EXE"; Parameters: "/qn ADDLOCAL=SQL_Data_Files Instance_Name=MSSQLSERVER SECURITYMODE=SQL SAPWD=senha AGTACCOUNT=SA AGTPASSWORD=senha TCPENABLED=1 NPENABLED=1 DisableNetworkProtocols=0"; StatusMsg: Instalando o Microsoft Sql Server 2005 Express...Aguarde;Components:sql

Filename: "{tmp}\msiexec.exe"; Parameters:"/i ""{tmp}\sqli.msi"" /qn"; StatusMsg: Instalando o Management Studio Express...Aguarde;Components:sqli

Filename:  "cacls.exe"; Parameters: """{app}\Banco"" /e /g ""Todos"":f";Components:rest

Filename: "{pf}\Microsoft SQL Server\90\Tools\Binn\osql.exe"; Parameters: " -Usa -senha -S.\SQLEXPRESS -Q ""restore database ishotel from DISK = '{app}\Banco\ishotel.bak' with move 'banco' to '{app}\Banco\dbbanco.MDF', move 'ISHOTEL_Log' to '{app}\Banco\DBbanco_Log.LDF'"""; StatusMsg: Restaurando o Banco de dados...Aguarde;Components:rest\p

Filename: "{pf}\Microsoft SQL Server\90\Tools\Binn\osql.exe"; Parameters: " -Usa -senha -S.\SQLEXPRESS -Q ""restore database ishotel from DISK = '{app}\Banco\ishotellimpo.bak' with move 'banco' to '{app}\Banco\DBbanco.MDF', move 'banco_Log' to '{app}\Banco\DBbanco_Log.LDF'"""; StatusMsg: Restaurando o Banco de dados...Aguarde;Components:rest\b

Filename: "odbcconf.exe"; Parameters: "/a {{CONFIGDSN ""SQL Server"" ""DSN=banco|Description=|SERVER=.\sqlexpress|Database=banco""}";StatusMsg: Configurando ODBC...Aguarde;Components:odbc

Filename: "odbcconf.exe"; Parameters: "/a {{CONFIGDSN ""SQL Server"" ""DSN=ODBC MASTER|Description=|SERVER=.\sqlexpress|Database=master""}";StatusMsg: Configurando ODBC...Aguarde;Components:odbc

Filename: "{tmp}\MiniReg.exe"; Parameters: """{tmp}\BdeInst.dll""";StatusMsg: Instalando o BDE...Aguarde;Components:bde

Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent

 

Fica a dica...Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu problema com o Inno Setup é sério, pelo menos porque não encontrei nenhuma solução.

 

Eu desenvolvo diversos softwares, portanto preciso instalar um em cada pasta, pois tenho clientes que usam até mesmo quatro sistemas diferentes.

 

Só que a instalação do segundo na mesma máquina ele é instalado na pasta onde foi instalado o primeiro sistema, e isto é mau, pois tenho arquivos com mesmos nomes em todos os aplicativos, como por exemplo arquivos de layouts dos bancos de dados, que são ARQUIVOS.TXT, CAMPOS.TXT, INDICES.TXT, OPCOES.TXT, etc.

 

Todos têm os parâmetros corretos, como por exemplo:

 

DefaultDirName=C:\Ideia Informatica\idecaixa\

 

Source: "C:\Ideia Informatica\idecaixa\idecaixa.exe"; DestDir: "{app}"; Flags: ignoreversion

 

E daí por diante.

 

 

Alguém sabe como devo agir para resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.