Bom dia a Todos
Ao distribuirmos uma aplicação nada mais profissional do que termos um instalador para isto. O Inno Setup é uma ótima ferramenta, mas tive muita dificuldade em achar documentação acerca do mesmo para estudo. Enfim, analisando a documentação consegui montar um Script que atende a minhas necessidades.... conforme segue abaixo:
Caso alguém tenha alguma dica de algum tipo de melhoria ou sugestão, fico a disposição.....
O Script acima possibilita:
- Copiar aqruivos para a pasta WinSysDir e registrá-los;
- Ter vários tipos de instalação (Estação / Servidor / Customizada / RunTime);
- Criar um atalho;
- Criar Pastas e Subpastas;
Espero ter ajudado e não apenas receber ajuda.
Att. Vinicius
Ao distribuirmos uma aplicação nada mais profissional do que termos um instalador para isto. O Inno Setup é uma ótima ferramenta, mas tive muita dificuldade em achar documentação acerca do mesmo para estudo. Enfim, analisando a documentação consegui montar um Script que atende a minhas necessidades.... conforme segue abaixo:
- Código:
;===============================================================================
; Script SysDoctor - Instalação do Sistema
;
; tarefas possíveis : instalar o sistema completo (executável e base de dados)
; : instalar somente o executavel (client)
; : instalar somente a base de dados (server)
; : instalar e registrar bibliotecas e OCX
;
; Desenvolvido por: Silvio Vinicius Ribeiro - 28/05/2013
;===============================================================================
#define MyAppName "SysDoctor - Gerenciamento de Agenda e Consulta Médica"
#define MyAppVersion "5.01"
#define MyAppPublisher "Ribeiro, Silvio Vinicius"
#define MyAppURL "vinicius.anna@sercomtel.com.br"
#define MyAppExeName "SysDoctor_v501.accdb"
[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={{40D617BE-BC60-407A-A234-AC20AF6DF3AA}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\SysDoctor
DisableDirPage=No
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
OutputDir=C:\Users\Vinicius\Documents
OutputBaseFilename=Setup_501
CreateAppDir=true
Compression=lzma
SolidCompression=yes
ShowTasksTreeLines=true
AlwaysShowComponentsList=no
[Languages]
Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
[Types]
; DEFINIÇÃO DOS TIPOS DE INSTALAÇÕES POSSÍVEIS
Name: clientFiles; Description: Instala o Sistema na Estação de Trabalho (Client)
Name: serverFiles; Description: Instala o Sistema no Servidor (Server)
;Name: customizado; Description: Personalizada; Flags: iscustom
[Components]
; LISTA AS OPÇÕES QUE APARECERÃO NA INSTALAÇÃO
Name: clientFiles; Description: Instalar somente o programa no seu computador; Types: clientFiles;
Name: serverFiles; Description: Base de dados no servidor; Types: serverFiles;
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
;opção servidor cliente
[Dirs]
; CRIAÇÃO DE OUTRAS PASTAS DURANTE A INSTALAÇÃO (exemplos: log, eventos, erros, etc.)
Name: {app}\Imagens\Logs
;Name: {app}\erros
[Files]
;===============================================================================
; Instalação Servidor
;===============================================================================
Source: "D:\Sysdoctor\SysDoctor_v501.accdb"; DestDir: "{app}"; CopyMode: alwaysskipifsameorolder; Flags: ignoreversion; Components: serverFiles
Source: "D:\Sysdoctor\SysDoctor_v501_be.accdb"; DestDir: "{app}"; CopyMode: alwaysskipifsameorolder; Flags: ignoreversion; Components: serverFiles
Source: "D:\Sysdoctor\SysDoctor.ico"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: ignoreversion; Components: serverFiles
Source: "D:\SysDoctor\Imagens\*"; DestDir: "{app}\Imagens"; Flags: ignoreversion; Components: serverFiles
Source: "D:\SysDoctor\MSCAL.OCX"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall sharedfile regserver; Components: serverFiles
Source: "D:\SysDoctor\FondoAccess.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall sharedfile regserver; Components: serverFiles
;===============================================================================
; Instalação Estação
;===============================================================================
Source: "D:\Sysdoctor\SysDoctor_v501.accdb"; DestDir: "{app}"; CopyMode: alwaysskipifsameorolder; Flags: ignoreversion; Components: clientFiles
;Source: "D:\Sysdoctor\SysDoctor_v501_be.accdb"; DestDir: "{app}"; CopyMode: alwaysskipifsameorolder; Flags: ignoreversion; Components: serverFiles
Source: "D:\Sysdoctor\SysDoctor.ico"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: ignoreversion; Components: clientFiles
Source: "D:\SysDoctor\Imagens\*"; DestDir: "{app}\Imagens"; Flags: ignoreversion; Components: clientFiles
Source: "D:\SysDoctor\MSCAL.OCX"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall sharedfile regserver; Components: clientFiles
Source: "D:\SysDoctor\FondoAccess.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall sharedfile regserver; Components: clientFiles
[Icons]
Name: {group}\{#MyAppName}; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\SysDoctor.ico";
Name: {commondesktop}\{#MyAppName}; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; IconFilename: "{app}\SysDoctor.ico";
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: shellexec postinstall skipifsilent
Caso alguém tenha alguma dica de algum tipo de melhoria ou sugestão, fico a disposição.....
O Script acima possibilita:
- Copiar aqruivos para a pasta WinSysDir e registrá-los;
- Ter vários tipos de instalação (Estação / Servidor / Customizada / RunTime);
- Criar um atalho;
- Criar Pastas e Subpastas;
Espero ter ajudado e não apenas receber ajuda.
Att. Vinicius