como criar atalho usando inno setup?

Delphi

05/05/2004

Como posso criar um atalho de uma pasta no meu desktop usando o inno setup...

Muito obrigado a todos

Markinho´s


Markinhos

Markinhos

Curtidas 0

Respostas

Koplin

Koplin

05/05/2004

[Icons]
;cria no menu iniciar
Name: \meuprograma; Filename: \meuprograma.exe
;cria no desktop
Name: \meuprograma; Filename: \meuprograma.exe; Tasks: desktopicon
;cria na barra de tarefas
Name: \Microsoft\Internet Explorer\Quick Launch\meuprograma; Filename: \meuprograma.exe; Tasks: quicklaunchicon


GOSTEI 0
Markinhos

Markinhos

05/05/2004

Valeu... Muito Obrigado

Abraços

Markinhos


GOSTEI 0
Daniel Filho

Daniel Filho

05/05/2004

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: ""; Flags: ignoreversion



E daí por diante.





Alguém sabe como devo agir para resolver?
GOSTEI 0
Marcos Saffran

Marcos Saffran

05/05/2004

olá Daniel,
em
Source: "C:\Ideia Informatica\idecaixa\idecaixa.exe"; DestDir: ""; Flags: ignoreversion
o "" significa o diretório que será instalado o programa, sendo escolhido pelo usuário se você deixou a opção de escolha para ele, ou sendo o diretório que você escolheu ao gerar o script.
Verifique quando gerar o script se você está escolhendo diretórios diferentes.
GOSTEI 0
Daniel Filho

Daniel Filho

05/05/2004

Obrigado, Marcos.

O problema é que se eu instalar apenas um sistema, qualquer deles, ele instala na pasta correta.

Este problema ocorre quando vou instalar o segundo e os demais sistemas depois do primeiro instalado corretamente, eles passam a ser instalados na pasta onde o primeiro foi instalado, em qualquer ordem que eu faça a instalação.

Deus para entender o problema?

Sucesso.
GOSTEI 0
Marcos Saffran

Marcos Saffran

05/05/2004

Olá Daniel,
como você gerou os scripts no inno setup, "na mão" ou através do wizard?
foram gerados scripts separados para cada instalação ou apenas um e depois alterado para as instalações diferentes?
Obrigado.
GOSTEI 0
Daniel Filho

Daniel Filho

05/05/2004

Na verdade eu criei o primeiro e depois copiei para os demais, pois eles têm muitos arquivos.

Mas não vejo problema nisto, pois a instalação individual, ou seja, se eu instalar um sistema, depois desinstalar e instalar os demais um de cada vez e apenas eles, a instalção fica 100%.

O problema que tenho é este, instalar mais de um sistema na mesma máquina.

Veja o script do meu sistema mais importante:

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Folha de Pagamento"
;#define MyAppVersion "9"
#define MyAppPublisher "Ideia Informática Ltda."
#define MyAppURL "http://www.ideiainformatica.com.br/"
#define MyAppExeName "Idepag.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{16260C37-1969-4C25-A304-27EFB9BAC99D}
AppName={#MyAppName}
;AppVersion={#MyAppVersion}
AppVerName={#MyAppName}
; {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\Ideia Informatica\Idepag\
DisableDirPage=yes
DefaultGroupName=\Idéia Informática\{#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=C:\Ideia Informatica\idepag\BemVindo.txt
;InfoAfterFile=C:\Ideia Informatica\idepag\AtuaFim.txt
OutputDir=C:\Cd\sistemas\Idepag
OutputBaseFilename=instala
Compression=lzma
SolidCompression=yes

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

[Tasks]
Name: desktopicon; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkedonce
Name: Servidor; Description: Instalação Completa (Servidor); GroupDescription: "Qual instalação deseja fazer?"; Flags: unchecked
Name: Estacao; Description: Instalação Mínima (Estação); GroupDescription: "Qual instalação deseja fazer?"; Flags: unchecked

[UninstallRun]
Filename: "\Config.EXE"

[Files]
Source: "C:\Delphi7\Instala7\idecopia.exe"; DestDir: ""; Flags: ignoreversion
Source: "C:\Cd\Util\firebird2.exe"; DestDir: ""; Flags: ignoreversion
Source: "C:\Delphi7\Instala7\ordem.exe"; DestDir: ""; Tasks: Servidor
Source: "C:\Delphi7\gerador\config.exe"; DestDir: ""; Tasks: Servidor
Source: "C:\Delphi7\gerador\habilita.exe"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\Idepag\Idepag.exe"; DestDir: ""; Flags: ignoreversion
Source: "C:\Ideia Informatica\idepag\ARQUIVOS.TXT"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\CAMPOS.TXT"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\CBOGER.TXT"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\CNAE.TXT"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\LAYOUT.TXT"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\OPCOES.TXT"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\tabelas.txt"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Acordo de Cooperação e Termos de Compromisso.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Acordo para Compensação de Horas de Trabalho.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Aditivo de Contrato Individual de Trabalho.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Aviso de Suspensão.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Aviso prévio do Empregador.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Aviso prévio do Funcionário.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Aviso Prévio Indenizado.rtf"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Carta de Advertência.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Carta de Suspensão.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Contrato de Experiência II.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Contrato de Experiência.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Contrato Individual de Trabalho.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Convênio de Estágio.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Declaração de Opção para FGTS.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Declaração e Termo de Compromisso de Vale-Transporte.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Encaminhamento a Exame Admissional.rtf"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\IDEPAG.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Opção de Desistência de Vale Transporte.rtf"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Recibo de Entrega da Carteira de Trabalho.rtf"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Término do Contrato Antes do Prazo.RTF"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\IDEPAG.CNT"; DestDir: ""; Flags: ignoreversion
Source: "C:\Ideia Informatica\idepag\IDEPAG.HLP"; DestDir: ""; Flags: ignoreversion
Source: "C:\Ideia Informatica\idepag\IDEPAG.LIC"; DestDir: ""; Tasks: Servidor
Source: "C:\Ideia Informatica\idepag\Bemvindo.txt"; DestDir: ""; Flags: ignoreversion
Source: "C:\Cd\DLL\dbexpint.dll"; DestDir: ""; Flags: ignoreversion
Source: "C:\Cd\DLL\Gds32.dll"; DestDir: ""; Flags: ignoreversion
Source: "C:\Cd\DLL\msvcp71.dll"; DestDir: ""; Flags: ignoreversion
Source: "C:\Cd\DLL\msvcr71.dll"; DestDir: ""; Flags: ignoreversion
Source: "C:\Cd\DLL\Sky32v3c.dll"; DestDir: ""; Flags: ignoreversion
Source: "C:\Cd\DLL\UnzDll.dll"; DestDir: ""; Flags: ignoreversion
Source: "C:\Cd\DLL\ZipDll.dll"; DestDir: ""; Flags: ignoreversion
; NOTE: Dont use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "\{#MyAppName}"; Filename: "\{#MyAppExeName}"
Name: "\Manutenção da Folha de pagamento"; Filename: "\config.exe"; Tasks: Servidor
Name: "\Ordenação da Folha de pagamento"; Filename: "\ordem.exe"; Tasks: Servidor
Name: "\{#MyAppName}"; Filename: "\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: \firebird2.exe; WorkingDir: ; Parameters: "/VERYSILENT /NOICONS /COMPONENTS=""SuperServerComponent, ServerComponent, DevAdminComponent, ClientComponent"" /FORCE /NOGDS32 /COPYFBCLIENT"
Filename: \habilita.exe; WorkingDir: ; Parameters: "idepag"; Tasks: Servidor
Filename: "\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, &, &&)}}"; Flags: nowait postinstall skipifsilent

GOSTEI 0
Marcos Saffran

Marcos Saffran

05/05/2004

Pois então,

acredito que no primeiro script que você criou foi escolhida a opção de diretório de instalação fixo, sem o usuário poder alterá-lo, com isso essa opção ficará automática, por favor crie um novo script para outro sistema, escolhendo o diretório desse outro e faça o teste, acredito que funcionará.

Sei que poderá dar um bocado de trabalho para gerar vários scripts, mas depois de prontos será bem mais fácil.
GOSTEI 0
Daniel Filho

Daniel Filho

05/05/2004

Mas por que se eu instalar só um, seja qual for, vai para a pasta certa?

Não é no parâmetro abaixo que informo onde quero salvar?

DefaultDirName=C:\Ideia Informatica\Idepag\

Não bastaria alterar o parâmetro que faz isto? Veja que a pasta de destino é fixa, mas para cada um é uma pasta.

Sabe qual é este parâmetro?
GOSTEI 0
Marcos Saffran

Marcos Saffran

05/05/2004

Olá Daniel, você está correto em partes, verifiquei no help do inno Setup o seguinte:
[Setup]: UsePreviousAppDir
Valid values:
yes or no
Default value:
yes

Description:
When this directive is yes, the default, at startup Setup will look in the registry to see if the same application is already installed, and if so, it will use the directory of the previous installation as the default directory presented to the user in the wizard.

Note that Setup cannot re-use settings from a previous installation that had Uninstallable set to no, since the registry entries it looks for are not created when Uninstallable is no.


ou seja, se a diretiva UsePreviousAppDir está como "yes" (o padrão), no início o setup irá procurar o registro para checar se a mesma aplicação já está instalada, e se sim, ele irá usar o diretório da instalação anterior como o diretório padrão para o usuário na instalação.

Então sugiro que acrescente a linha abaixo na área de [Setup]:

UsePreviousAppDir=no

também sugiro que altere a AppId para instalações diferentes, para fazer isso vá na aba Tools - Generate GUID.

até mais.
GOSTEI 0
Daniel Filho

Daniel Filho

05/05/2004

Perfeito, Marcos, muito obrigado, fico devendo esta.

Provavelmente o problema era no appId, como copiei os ISS ele era o mesmo para outros.

Como posso retribuir?

Um abraço e muito sucesso para você

Atenciosamente,

Ideia Informática Ltda.
Daniel Tibúrcio
Telefax (31)3291-9799
www.ideiainformatica.com.br
Skype ideia_daniel@hotmail.com

“Provai e vede que o Senhor é bom; bem-aventurado o homem que nele se refugia” Salmo 34:8
GOSTEI 0
Edson Ioscote

Edson Ioscote

05/05/2004

Olá a todos também estou com um problema no inno setup.

Estou tentando fazer o instalador de um jogo. Só que esse jogo tem 3 pastas dentro da pasta raiz, e o atalho que o inno setup cria no desktop não é o .exe do jogo
ele cria um exe dentro da pasta raiz e o exe do jogo fika dentro de uma das pastas da pasta raiz e qdo clico no atalho do desktop, ele diz que estão faltando arquivos para a execução do jogo. Gostaria de saber como resolver isso:

Pasta Raiz :
-Batman Arkham Origins> O Inno Setup cria um executável dentro desta pasta (que quando executado, da erro e o jogo não abre)

SubPastas:
-Single Payer > O executável fica dentro desta pasta
-Online
-_CommonRedist

Alguem pode me ajudar ? Grato
GOSTEI 0
POSTAR