Instalar serviços
11/07/2008
0
Alguém sabe se tem como instalar um serviço no Windows usando o InstallShield padrão que vem no Delphi ou o Innosetup por exemplo? Minha aplicação precisa de um serviço instalado no Windows para que funcione e gostaria que ao rodar o setup de instalação de meu programa, já fosse instalado tudo incluindo este serviço que preciso. Assim o usuário não precisaria fazer nada à mão.
Rtava
Posts
11/07/2008
Luiz Henrique
Cara, o InnoSetup(code in line) tem uma ferramenta ´Design´ free, ´ISTool´, vai te dar recurso para isto, penso que seja uma das melhores opcoes do mercado no momento.
Espero que te ajude. T+
11/07/2008
Rtava
Você poderia indicar os passo básicos para me orientar ou, se tiver, me enviar alguma documentação à respeito?
valeu
12/07/2008
Luiz Henrique
E dificil de se extender aqui, mas aqui na DevMedia mesmo , tem um conjunto de video-aula, do Luciano Pimenta, ´Mini Curso - Aplicações Client/Server com dbExpress e Firebird´, na parte XX, no Deploy da aplicacao, ele demonstra bem o uso desta ferramenta.
Espero que te ajude OK
T+ Abraco
12/07/2008
Rtava
Já dei uma boa estudada nos exemplos que vêem com o Inno Setup e tá clareando as coisas. Como vc comentou, não é muito complicado não, apenas diferente.
Se você souber, estou precisando resolver um problema no script teste que criei, abaixo:
;INÍCIO ===============================================
#define XXX ´SServer.exe´
[b:d3fa49b73b][Setup][/b:d3fa49b73b]
AppName=YYYYYYYYYY
AppVerName=XXXXXXXXX
DefaultDirName=\ZZZZZZ
DefaultGroupName=KKKKKKK
UninstallDisplayIcon=\XXX.exe
OutputDir=userdocs:XXX Install
[b:d3fa49b73b][Files][/b:d3fa49b73b]
Source: XXX.exe; DestDir:
Source: SServer.exe; DestDir: ; Check: ServerInstall([color=red:d3fa49b73b][b:d3fa49b73b]PROBLEMA AQUI[/b:d3fa49b73b][/color:d3fa49b73b])
[b:d3fa49b73b][Icons][/b:d3fa49b73b]
Name: \XXXIcon; Filename: \XXX.exe
[b:d3fa49b73b][Code_][/b:d3fa49b73b]
function ServerInstall(SyncroPath: String): Boolean;
begin
MsgBox(´Setup is now going to install ´ + SyncroPath + ´......´, mbInformation, MB_OK);
Result := True;
end;
;FIM ============================================
A idéia é que, ao copiar o arquivo ´SServer.exe´, em seguida seja executada a função ´ServerInstall´, para a qual devo passar um parâmetro.
PERGUNTA: Como passar o path + o nome do arquivo ´Server.exe´ no parâmetro da função?
Se eu colocar \SServer.exe, por exemplo, dá erro. E se eu colocar isso tudo entre aspas, é enviada a string literal. Eu não posso indicar o path diretamente, pois pode variar no momento da instalação e dependendo do sistema operacional. Como resolver esse problema de passagem de parâmetros?
12/07/2008
Rtava
este problema eu já descobri como resolver. Na função install tem uma mudança:
function ServerInstall(SyncroPath: String): Boolean;
var vv: boolean;
begin
SyncroPath := [color=red:e2cf26fd38][b:e2cf26fd38]ExpandConstant[/b:e2cf26fd38][/color:e2cf26fd38](´´) + SyncroPath;
MsgBox(´Setup is now going to install ´ + SyncroPath + ´......´, mbInformation, MB_OK);
Result := True;
end;
Agora tem um outro problema: esta função ´ServerInstall´, está sendo chamada três vezes durante o processo de instalação deste script teste. Eu preciso que seja chamada uma vez só. Como faço isso?
12/07/2008
Rtava
var
[b:30f522c24f]MyProgChecked[/b:30f522c24f]: Boolean;
function ServerInstall(SyncroPath: String): Boolean;
var vv: boolean;
begin
if not [b:30f522c24f]MyProgChecked [/b:30f522c24f]then
begin
MsgBox(´Setup is now going to install ´ + SyncroPath + ´......´, mbInformation, MB_OK);
MyProgChecked := True;
end;
Result := MyProgChecked;
end;
até mais
Clique aqui para fazer login e interagir na Comunidade :)