DATA REPORT NÃO FUNCIONA EM OUTRO PC

MARIOANDRADE 17/08/2014 23:56:01
#440516
Meus amigos, estou com um problema, criei um programa e nele coloquei um Data Report,
configurei um instalador com o Inno Setup, fiz o teste em 4 computadores , todos instalaram e
funcionaram perfeitamente, exceto quando chamo o Data Report pois nada acontece.

Em 2 dos computadores testados deu tudo certo, coincidentemente os 2 tinham o VB6 instalados.
Provavelmente existe algum componente que tenho que colocar para o InnoSetup habilitar no momento
da instalação.

Desde já agradeço a todos que possam ajudar.
MFLAVIO 18/08/2014 14:27:53
#440542
Amigo veja as referencias que o esta usando, e adicione todas as dll,ocx do projeto ao InnoSetup
provavelmente esta faltando a Reports.dll
MARIOANDRADE 18/08/2014 16:28:31
#440553
Citação:

:
Amigo veja as referencias que o esta usando, e adicione todas as dll,ocx do projeto ao InnoSetup
provavelmente esta faltando a Reports.dll




Flavio, obrigado por responder,
conforme mostra a imagem acima, essas são as dll's que adiciono ao Inno Setup no momento da instalação, nao tem o Reports.dll, mas tenho quase certeza de que não é ela pois no pc onde o programa funciona bem ela não está instalada logo deve ser alguma outra.

A dll em azul acrescentei depois pois o programa solicitava no momento da instalação, geralmente testo meus programas em pc'c [Ô]virgens[Ô] coloco essas dlls's como padrão , daí quando precisa de alguma outra, o próprio programa informa e não abre.

Neste caso ele me pediu a que está em azul e a coloquei, a instalação passou e o programa abre perfeitamente, o único problema é quando tento gerar o relatório com Data Reports pois nada acontece.

Já as dll's em vermelho eu tentei colocar manualmente no pc que não funciona, mas não foi aceito pelo comando do DOS pois informa que precisa de arquivos relacionados (ou adicionais nem lembro).

O fato é que as ddl's em vermelho estão presentes no pc que tem o VB6.
Talvez seja isso, mas nao consegui habilita-las no pc que nao tem o vb6.
FILMAN 18/08/2014 20:17:27
#440564
Resposta escolhida
M4R10, faz o seguinte

http://www.macoratti.net/deploy.htm

Após criado você vai ter o arquivo .lst que abrindo com o Notepad++ vai encontar todas as DLLs que o seu sistema estará utilizando para rodar perfeitamente!
Esse arquivo pode ser até mesmo importado pelo InnoSetup.


Espero ter ajudado
MARIOANDRADE 18/08/2014 20:46:00
#440569
Citação:

:
M4R10, faz o seguinte

http://www.macoratti.net/deploy.htm

Após criado você vai ter o arquivo .lst que abrindo com o Notepad++ vai encontar todas as DLLs que o seu sistema estará utilizando para rodar perfeitamente!
Esse arquivo pode ser até mesmo importado pelo InnoSetup.


Espero ter ajudado




Jonathan, vou tentar aqui e posto o resultado....
MARIOANDRADE 18/08/2014 21:18:00
#440573
Citação:

:
M4R10, faz o seguinte

http://www.macoratti.net/deploy.htm

Após criado você vai ter o arquivo .lst que abrindo com o Notepad++ vai encontar todas as DLLs que o seu sistema estará utilizando para rodar perfeitamente!
Esse arquivo pode ser até mesmo importado pelo InnoSetup.


Espero ter ajudado



Eu consegui criar a lista, mas não sei como integra-la ao innosetup.
MARCELO.TREZE 18/08/2014 21:51:36
#440574
Bom colega vou explicar o passo a passo para saber quais OCX's e DLL's possuem o programa e depois registrar estas com o inno setup

Primeiro para saber quais dll's e ocx's devo incluir em meu instalador, e quais tenho de registrar eu faço da seguinte forma:

Eu crio um instalador normalmente utilizando o Package & Deployment Wizard do Visual Studio

Feito isso vou na pasta Onde foi criado o instalador ( no meu caso o nome é Package) e abro o arquivo setup.lst com o Word ou até com bloco de notas, neste arquivo contem a lista de todas as dll's que seu programa vai precisar e quais devem ser registradas.

eis um exemplo retirado do setup.lst do instalador que criei:

Citação:

[Bootstrap Files]
File1=@VB6STKIT.DLL,$(WinSysPathSysFile),,,7/15/00 12:00:00 AM,101888,6.0.84.50
File2=@COMCAT.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,5/31/98 12:00:00 AM,22288,4.71.1460.1
File3=@STDOLE2.TLB,$(WinSysPathSysFile),$(TLBRegister),,6/3/99 12:00:00 AM,17920,2.40.4275.1
File4=@ASYCFILT.DLL,$(WinSysPathSysFile),,,3/8/99 12:00:00 AM,147728,2.40.4275.1
File5=@OLEPRO32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,3/8/99 12:00:00 AM,164112,5.0.4275.1
File6=@OLEAUT32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,4/12/00 12:00:00 AM,598288,2.40.4275.1
File7=@msvbvm60.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,2/23/04 12:00:00 AM,1386496,6.0.97.82




[txt-color=#e80000]imprima o conteudo para depois você poder fazer as alterações no seu instalador Inno Setup[/txt-color]

Agora você inicializa seu instalador Inno Setup , e ao chegar na parte chamada Application Files clique no botão Add File(s)... vá até a pasta onde você criou o instalador usando o PDW e abra a pasta Support, nela estão todas as DLL's e OCX's necessárias para seu programa, selecione-as e clique em abrir, ai basta você continuar a criar seu instalador até o final, ao terminar ele vai perguntar se você deseja compilar o programa e você vai selecionar não.

A seguir ira aparecer uma lista com os arquivos que foram selecionados, abaixo coloquei apenas quatro linhas para simplificar a explicação:

Citação:

Source: [Ô]C:\Ultimo Instalador    esteinstalador\Support\ST6UNST.EXE[Ô]; DestDir: [Ô]{app}[Ô]; Flags: ignoreversion

Source: [Ô]C:\Ultimo Instalador    esteinstalador\Support\STDOLE2.TLB[Ô]; DestDir: [Ô]{app}[Ô]; Flags: ignoreversion

Source: [Ô]C:\Ultimo Instalador    esteinstalador\Support\TABCTL32.OCX[Ô]; DestDir: [Ô]{app}[Ô]; Flags: ignoreversion

Source: [Ô]C:\Ultimo Instalador    esteinstalador\Support\OLEPRO32.DLL[Ô]; DestDir: [Ô]{app}[Ô]; Flags: ignoreversion



bom agora vem a parte mais divertida, que é digitar veja as alterações que devem ser feitas nestas linhas

voltando lá em cima onde eu imprimi as linhas do aqruivo setup.lst, onde estiver escrito DLLSelfRegister é porque esta dll deve ser registrada.


então você vai alterar a seguinte linha de:

Citação:

Source: [Ô]C:\Ultimo Instalador    esteinstalador\Support\OLEPRO32.DLL[Ô]; DestDir: [Ô]{app}[Ô]; Flags: ignoreversion



para

Citação:

Source: [Ô]C:\Ultimo Instalador    esteinstalador\Support\OLEPRO32.DLL[Ô]; DestDir: [Ô]{sys}[Ô]; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall sharedfile regserver



e assim para todas as dll's que possuem DLLSelfRegister
Agora para os arquivos com extensão .TLB deve ser feito da seguinte forma

de:

Citação:

Source: [Ô]C:\Ultimo Instalador    esteinstalador\Support\STDOLE2.TLB[Ô]; DestDir: [Ô]{app}[Ô]; Flags: ignoreversion



para:

Citação:

Source: [Ô]C:\Ultimo Instalador    esteinstalador\Support\STDOLE2.TLB[Ô]; DestDir: [Ô]{sys}[Ô]; CopyMode: alwaysskipifsameorolder; Flags: restartreplace uninsneveruninstall sharedfile regtypelib



e pronto suas dll's serão registradas ao se instalar seu programa

Apenas algumas Observações no PDW onde estão marcadas como {WinSysPathSysFile} no Inno setup deve estar como DestDir: [Ô]{sys}[Ô] .

agora para ocx este deve ser o código

Citação:

Source: [Ô]C:\Ultimo Instalador    esteinstalador\Support\TABCTL32.OCX[Ô]; DestDir: [Ô]{sys}[Ô]; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver



e assim por diante

Espero que eu tenha esclarecido suas duvidas, pois se você seguir estes passos, o problema quanto a instaladores, acabará, lembrando que estou ensinando a localizar as dll's e Ocx's e registrar estas, e não como utilizar o inno setup.


até
MARIOANDRADE 18/08/2014 23:47:02
#440576
Marcelo,

valeu mesmo pela excelente explicação, eu tinha feito como o FILMAN falou, e achei as dll's na pasta daí eu as copiei para a pasta onde eu tinha feito antes com o InnoSetup e fiz isso mesmo que vc citou acima, realmente as 2 repostas me ajudaram bastante, vou marcar a dele como a vencedora só porque foi a primeira, mas a sua dica eu até salvei como arquivo .mht pois realmente foi muito boa.

Muito obrigado a todos que postaram.

Fiquem com Deus....
Tópico encerrado , respostas não são mais permitidas