Jump to content

Problemas com SETUP.exe


fed07
 Share

Recommended Posts

Boas pessoal, é assim eu fiz um pequeno programa e usei o componente winsock que tive de fazer download da net para o vb.net.

O programa corre sem qualquer problema através do vb.net, só que quando tento abrir o setup.exe ele simplesmente deixa de responder. Eu uso o windows7 como SO.

img1

http://img405.imageshack.us/i/erroz.png

Alguém me pode ajudar? Eu acho que estou a criar o SETUP.exe bem. Será que de alguma forma tenho de incorporar o ficheiro ocx do winsock no setup?

>cumpz

Link to comment
Share on other sites

Tens de levar, no mínimo, o MSWINSCK.OCX com a aplicação.

Será uma sorte se a aplicação correr sem precisares de registar a biblioteca com o regsvr.

Aparte: A .NET traz suporte para comunicação TCP via sockets, nativa. Não há necessidade de usares o WinSock.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Então o teu problema é outro.

No teu código de arranque, fazes alguma referência a um caminho que existe no teu ambiente de desenvolvimento, mas deixa obviamente de existir na release.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Tem 2 ficheiros .dll referentes ao winsocket e eu incorporei os ficheiros no setup.

Agora estou a achar uma coisa muito estranha, no computador da minha namorada o programa corre, e no meu também, em todos os outros simplesmente deixa de responder logo ao iniciar..

:s

Link to comment
Share on other sites

Deixa-me adivinhar:

Também tens o VB instalado no pc da tua míuda ?

Em uma dessas máquinas que não dá, experimenta, só para rastrear, copiar os OCX e DLL (se tiver algum) referente ao WinSocket para C:\Windows\System32 e depois na linha de comandos fazes:

regsvr32 c:\windows\system32\ficheiro.ocx

(...)

Depois tenta correr.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Por acaso ela não tem o VB no pc, mas ao longo do tempo tenho vindo a adicionar-lhe os ficheiros .dll que vinham estando em falta, relativos ao VB. xD

Tentei fazer isso, puxei o ficheiro .ocx e os ficheiros .dll(2) para o windows/system32/ e tentei fazer o regsvr32.

Com o .ocx correu bem, mas com os .dll ele dá um erro.

Diz que não encontra o ponto de entrada do DllRegisterServer.

Caso continue a não funcionar com a solução do Ribeiro, faz o debug da aplicação numa máquina em que não dê.

Err.. debug como assim?

Link to comment
Share on other sites

Experimentaste depois, para despsite, correr a aplicação como administrador?

Melhor, desligando o UAC (User Account Control) (partindo do pressuposto que tens WinVista+ a correr) ?

O que o bioshock te está a tentar dizer é que instales lá o VB, abras e corras lá o projecto para ver onde rebenta.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Tentar correr como administrador foi logo das primeiras coisas que tentei e tudo igual.

Eu por habito tudo o que é PC cá em casa desactivo o UAC sempre.

Vou tentar fazer isso de instalar lá o VB.

Se o programa depois de instalar o VB começar a funcionar, que conclusão/resolução é que tiro disto? xD

Link to comment
Share on other sites

Chegas à conclusão de que não estás a levar com o executável todas as libraries necessárias.

Experimenta primeiro abrir e correr lá o projecto, depois se vê.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Hmm.. fiz o que sugeriste e realmente isto não está a correr noutro pc.

Tentei abrir o projecto e dá-me este erro logo ao tentar correr o programa:

Ocorreu um erro ao criar o formulário. Consulte a Exception.InnerException para obter detalhes. O erro é: Classe não registada (Excepção de HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

O problema é que nem me diz onde está o erro e nem com o F8 vai lá. Ele rebenta logo ao segundo F8 (o primeiro passa pelo form load que está vazio)

Link to comment
Share on other sites

Para além do WinSock, que outras bibliotecas e controlos usas, que não sejam nativos?

Isso é uma dependência que tens e não estás a transportar.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Só o winsock é que não é nativo, tudo o resto é.

De qualquer das formas resolvi o problema utilizando os sockets do vb.net, depois de muita pesquisa acabei por perceber que toda a gente que usa o winsock no vb.net acaba por ter este problema.

Obrigado pelo info ribeiro, não fazia ideia que o vb.net trazia os sockets.

Obrigado pela ajuda pessoal.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.