Como criar um sistema de instalação simples para VB6 no XP/Vista e mais recente?[fechado]

StackOverflow https://stackoverflow.com/questions/23836

  •  09-06-2019
  •  | 
  •  

Pergunta

Grande ênfase no simples.Nunca fiz um instalador e prefiro não ter que aprender muito.Um sistema para o qual eu pudesse entregar uma pilha de arquivos e que fizesse algumas suposições inteligentes sobre onde colocá-los seria o ideal.

Vá em frente e responda à pergunta geral.

No entanto, nos meus casos, estou preso a algumas restrições extras.O programa a ser instalado está escrito em VB6 (ou será 5?) e algumas versões anteriores de VB, então é não será atualizado em breve.Eu tenho uma instalação em execução e terei uma VM limpa para brincar. Então, farei um loop de:execute a instalação, descubra onde está quebrado, conserte, adicione ao instalador, reverta a VM e tente novamente.Se alguém tiver uma abordagem melhor, estou aberto a sugestões.

EU DEVE fazê-lo funcionar no XP e eu realmente gostaria de ter algo que funcionasse também em versões mais recentes do Windows.

Foi útil?

Solução

InnoSetup ou NSIS, o que parecer mais fácil para você. Ferramenta IS é uma ótima ferramenta GUI para InnoSetup que torna a criação de scripts de configuração ainda mais fácil.

Outras dicas

Eu usei o InnoSetup há vários anos, antes do Vista, e fiquei muito feliz com ele.Eu só tinha alguns arquivos para instalar e um ícone do menu Iniciar.Funcionou muito bem e foi fácil de aprender.

Andador de Dependência é muito útil para descobrir qual dll está faltando no instalador.Depois de conhecer a dll, você pode descobrir em qual módulo de mesclagem ela está usando o Mesclar módulo localizador.

Trabalhei com o NSIS e, superando algumas de suas pequenas complexidades, é um sistema fantástico.é gratuito, oferece muitos recursos de plug-in e conseguiu fazer tudo o que eu precisava.

Criar um pacote de configuração completo para um programa é quase uma área de assunto em si.Há muitos fatores a serem considerados e a maioria de nós não usa mais o Windows 95.O mundo não é tão simples como antes.

Há muitas coisas que precisam ser resolvidas, e algumas dessas questões de “configuração” também significam a mudança do programa.Por exemplo, o conceito de “pastas protegidas” que parecia novo para as pessoas quando o Vista UAC entrou em cena.Eu acho que todos eles estavam rodando como administradores ou algo assim?Em sua forma mais simples, significa que você não coloca mais arquivos graváveis ​​ao lado do EXE em Programas (também conhecidos como "Arquivos de Programas").

Outro fator é que a forma como o registro é usado mudou.Não estou falando de virtualização de registros, embora isso também faça parte.Mas o registro COM pode ser feito por máquina e por usuário e até mesmo desligar o UAC pode atrapalhar isso.Ver Registros COM por usuário e processos elevados com UAC no Windows Vista SP1.O resultado é que um pacote de instalação não deveria estar executando regsvr32 (ou chamando o ponto de entrada de autorregistro de uma biblioteca COM).Consulte "Observações" em Tabela SelfReg.


O instalador do Windows é o caminho a seguir na maioria dos casos.Os programadores VB6 têm o Visual Studio Installer 6.0 versão 1.1 disponível para download gratuito para a criação de pacotes MSI.Consulte "Servidores COM" no artigo VFP Usando o instalador do Microsoft Visual Studio para distribuição de aplicativos do Visual FoxPro 6.0 para obter algumas informações valiosas.

Esta não é a opção mais fácil, mas existe um Assistente de configuração VB no VSI 1.1 para ajudar a acertar o básico.Fazer coisas avançadas, como criar uma subpasta [CommonAppData] e definir direitos para todos nela, deve ser feito em uma etapa pós-construção fora do IDE.É aí que as ferramentas de terceiros podem ser úteis para lhe dar mais controle sem recorrer ao Orca ou aos scripts do instalador pós-construção.

Aqueles caras que criam instaladores "legados" com script tentam acompanhar, mas o script fica cada vez mais complicado.Os resultados às vezes são duvidosos.O Windows 7 apresenta algumas novidades próprias.

Embora ClickOnce não seja realmente a melhor opção para VB6, nada diz que você não pode usar COM sem registro para instalações XCopy de muitos programas.O Reg-free COM pode até ser uma boa opção para uso em um pacote de instalação.


Portanto, no final, a maneira "mais simples" de implantar programas VB6 provavelmente serão pacotes COM XCopy livres de registro, embalados em um EXE auto-extraível que disparará um script para criar um atalho no menu Iniciar.Se você consegue viver sem o atalho, isso é ainda mais fácil:basta descompactar o pacote onde ele precisa ir!

Ver Faça meu manifesto ou ferramentas alternativas para empacotamento COM sem registro.

Isso requer que os sistemas de destino executem XP (preferencialmente SP2) ou posterior.A única falha possível aqui é que o XP não incluiu os tempos de execução do VB6 SP6 até o XP SP3, então você vai querer testar seu programa primeiro nos tempos de execução do VB6 SP5.Bem, mais uma falha:você não pode usar EXEs ActiveX dessa maneira, eles ainda exigem registro.

Meu conselho é este.Tente manter o instalador o mais simples possível.O Windows Installer é um software muito complicado e quando as coisas não funcionam bem pode ser difícil descobrir o que está acontecendo.Tenho certeza de que todos nós já experimentamos o loop interminável do Windows Installer tentando reparar um arquivo para o qual você não possui mais o arquivo .msi de origem.

Na maioria das vezes, usar o Windows Installer é como usar uma marreta para quebrar uma noz.

Eu uso o InnoSetup para minhas próprias coisas e o InstallShield no trabalho (contra minha vontade).Comece com um instalador simples baseado em script e use o Windows Installer apenas se tiver um bom motivo para isso.

Observe que o suporte para instalação de assemblies no GAC pode estar faltando para algumas ferramentas de configuração que não sejam do Windows Installer (como o InnoSetup).

EU usado para AMAR o Inno Setup.Ênfase em "acostumado a".

Quando você executa o instalador de arquivo único (o que normalmente faria), ele descompacta o programa de configuração real em uma pasta na pasta temporária e tenta executá-lo.O problema é...alguns programas antivírus não permitem isso.

O autor está ciente disso e se recusa a fazer qualquer coisa a respeito.O nome da pasta é aleatório, portanto não pode ser adicionado a nenhuma lista de isenções que seu programa antivírus possa usar.

De novo.O autor está ciente disso e sugere que eu diga aos meus usuários para desligarem seus programas antivírus durante a instalação.(Como se isso fosse acontecer)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top