DISTRIBUICAO DE COMPONENTES VB6

LUIS.HERRERA 14/07/2011 09:42:18
#379116
Bom dia!

Estou precisando distrubuir 3 componentes e fiquei em dúvida:

Componente 1 - Winsock
O arquivos é MSWINSCK.OCX ( 122kb data 09/03/2004 )
Ao copiar o arquivo para pasta do instalador, reparei que há outros 03 arquivos:
MSWINSCK.DEP ( 3kb data 23/02/2004 )
MSWINSCK.OCA ( 22kb data 27/03/2009 )
mswsock.dll ( 242kb data 20/06/2008 )

Pergunta: é preciso distribuir também? tem que registrar? achei estranho as datas tão distintas entre eles.
Nota: Pesquisando na web, vi comentários que o Winsock usa outras dependências como: wsock32.dll e ws2_32.dll (o wsock32.dll eu tenho na pasta System32, mas o outro não existe será isso mesmo? Pois funciona perfeitamente)

Componente 2 - RMChart
Componente para Gerar gáficos me VB6 e VB.net. Também nesse caso encontrei outros arquivos com extensão diferentes:
RMChart.ocx - versão 4.1.0.1
RMChart.oca
rmchart.dll - versão 4.1.2.0

Perguntas:
1- Tenho de distribuir só a OCX ou a DLL também ou dá para usar uma ou outra no projeto? Se for somente uma, qual a diferença de ter uma DLL e uma OCX?

2- Esse componente faz uso do GDIPLUS.DLL. Isso está presente em todos os Windows a partir do XP?
ROBIU 14/07/2011 10:07:29
#379120
Para você distribuir sua aplicação Vb6, você precisa gerar um pacote de instalação com todos os arquivos necessários para a o funcionamento do programa. Para isso o Vb6 tem o Pachage e Deployment Wizard, que pode não ser um bom instalador como o inno setup mas ele é excelente para listar todas as dependências do projeto. Gere seu instalador com o PDZ e abra o arquivo SETUP.lst para vê o nome de todos os arquivos a serem instalados. Também é criada a pasta Support com todos arquivos do script setup.lst. Para você usar outro instalador, fica mais fácil a partir do PDZ.
Conclusão: você não precisa se preocupar com as dependências. é só verificar com o PDZ
LUIS.HERRERA 14/07/2011 11:37:39
#379127
Robiu o PDW (Pachage e Deployment Wizard)é realmente uma ferramenta boa para identificar dependências, porém não identifica dependências de outras dependências.

Para testar o que disse fiz 2 projetos:

Um com a vbSendMail.dll que internamente usa o Winsock.ocx. Ao usar o PDW no projeto dessa DLL, ele informa apenas as dependências padrão do VB + a própria DLL, assim ficaria sem saber que precisa ter a mswinsk.OCX junto.

O outro projeto só com a Winsock para ver o que ele identificava e só relacionou a mswinsk.OCX. Sendo assim minha pergunta continua válida, pois há dois outros arquivos que não sei se precisam distribuir também. MSWINSCK.OCA e mswsock.dll já que não são citados no PDW.

A Mesma dúvida no RMChart, pois não sei se o OCX é para VB6 e a DLL para VB.NET ou para ambos, porém usadas individualmente (só OCX ou só DLL).

Nota: Pelo que encontrei as extensões OCA são informações binárias dos OCX, só não sei se são criadas durante a execução ou se devem ser distribuídas também, pois nunca incluí esses arquivos nos meus projetos.
FFCOUTO 14/07/2011 17:09:36
#379192
Resposta escolhida
LUIS

Os arquivos com extensão .OCA são apenas arquivos de cache dos controles OCX você não precisa envia-los. Para isto basta você fazer um teste: exclua-os da pasta e execute o projeto, veja que eles são criados novamente.

Quanto ao controle WinSock você apenas precisará do arquivo .OCX pois ele encapsula todas as funções de sockets existentes no sistema operacional.

No caso da RMChart te aconselho a enviar os dois arquivos uma vez que o .OCX pode está encapsulando as funções da dll. Uma situação válida seria você usar uma máquina virtual apenas com os run-times do VB e copiar os arquivos e executar seu aplicativo. Daí você verifica a necessidade de uso deles.

Os arquivos com extensão .DEP são arquivos de dependencia mas no caso do WinSock não é necessário enviá-lo. Apenas no caso do controle requerer licença.

Acho que é isso.
LUIS.HERRERA 14/07/2011 17:20:46
#379193
Obrigado F.Couto, boa idéia esse teste que sugeriu,não tinha pensado nisso.
Obrigado
Tópico encerrado , respostas não são mais permitidas