CRIAR INSTALADOR NO VB.NET

GABRIELTINTI 12/04/2014 11:55:46
#437219
Bom dia,

Estou com um problema para criar um instalador no vb.net. Eu terminei o meu programa, nele eu estou utilizando uma dll, e algumas aplicações do vb6, porém desenvolvi meu programa inteiro no Visual Studio 2010.

Eu consegui criar um instalador pelo Publish, porém depois que eu instalo ele não consegue identificar a dll do programa . Quando eu crio o instalador pelo Visual Studio Installer, ele acusa vários erros, erros de compatibilidade, pois eu usei aplicações do vb6 e depois ele dá o erro da dll.


Obrigado pela ajuda!
JCM0867 12/04/2014 18:16:42
#437220
como eu consigo fazer no vb net um sistema com 140 forms, 120 mil linhas de códigos, 250 relatórios e 3 bancos no SQL Server sem criar um dll se quer?
dll só dá dor de cabeça. tenho fobia a dll.


LUIS.HERRERA 14/04/2014 08:56:41
#437237
Resposta escolhida
Para não usar DLL basta não criar um projeto de Library, só isso. Você tem de usar tudo num único projeto EXE. Porem seu [Ô]EXE[Ô] ficará gigantesco. Pelo que sei, DLL no Dot.Net não é registrada como objeto COM. Ela só precisa ficar junto na pasta do seu programa, e será executada normalmente, isso é uma das vantagens do Dot.net.

Agora o seu problem é justamente estar usando objetos com (VB6) pois eles precisam ser registrados no Windows, e isso irá gerar conflitos e incompatibilidades com as versões do Windows. Se você usar o Inno Setup como gerador do instalador, poderá resolver isso, dizendo quais são as DLLs do VB6, e mandar registrar no Windows, inclusive citando as versões compatíveis, se não for o programa não instala e avisa ao usuário. Os demais arquivos do Dot.Net não são registrados, mas sim copiados para a pasta do programa, só isso. O que precisa é ter o framework correto já instalado.

Agora se tem banco de dados, é preciso que ele esteja instalado também. Como citou SQL Server, eu acredito que não seja ideal distribuí-lo junto com seu programa, mas solicitar que o usuário baixe e instale do site da Microsoft, mesmo porque não sei se o SQL permite sua distribuição por terceiros. Além disso o usuário já pode ter uma versão do SQL, e nesse caso você estaria colocando outra no mesmo micro. Além disso há SQL Server para Win 32 e 64 bits, e se você fosse distribuir os dois, seu instalador teria algo como 1 gigabyte, algo impensável.

Se particularmente acho que seu instalador deve ser do seu programa o SQL Server é outro programa que o cliente deve ter, você pode passar as orientações de como baixar e instalar, se for necessário, acho isso o ideal.

GABRIELTINTI 14/04/2014 10:35:59
#437246
Eu não sei onde está as dll do VB6 para que assim eu possa adicionar essas dll ao meu sistema... Onde eu encontro ?


por que depois que eu utilizo o inno setup para criar o instalador do meu projeto...ele logo depois que eu instalo, ele dá um erro de compartibilidade do VB6, além do erro da dll que eu utilizo
GABRIELTINTI 14/04/2014 22:01:30
#437279
Essa é a imagem do erro
LUIS.HERRERA 16/04/2014 09:05:23
#437335
Por essa mensagem não dá para saber muito.
A situação é confusa, você abriu um tópico do instalador, e exibe uma mensagem do aplicativo Dot.Net (VB) que está distribuindo. O que precisa fazer é isolar o problema.

Dicas:
1) veja se seu programa em VB6 (que está distribuindo junto no instalador) funciona nesse micro que apareceu a mensagem, sem ser instalado. Se funcionar o problema está no seu VB.Net / Recursos do framework no Windows dessa máquina, ou não contém a versão necessária ou outros recursos não estão presentes.

2) Se o app VB6 não rodar, pode ser problema das DLLs não instaladas. Ai você terá de ir no projeto do VB6 desse APP e ver as dependências que ele usa, e se todas foram incluídas no seu INNO SETUP. O instalador do próprio VB gera um arquivo com as dependências usadas, como postei na mensagem interna, localize as DLLs nas partas do Windows onde são registradas, mas o MDAC tem de ser distribuído com seu próprio instalador na versão correta. Se estiver usando DB access tem de distribuir junto um arquivo (motor) de acesso aos dados. Pesquise no google como criar instalador para VB6 ou identificar dependências etc...

3) Tente rodar seu APP VB.Net direto nesse micro e veja se funciona. Não acione rotinas que interagem com o VB6, assim saberá se o seu programa tem todos os recursos Dot.Net necessários nessa máquina.
JCM0867 16/04/2014 13:37:27
#437350
Eu já tive esse mesmo erro, era problema de compilado em 32bits junto com outros programas em 64 bits, tipo crystal reports 64 bits
Tópico encerrado , respostas não são mais permitidas