Pergunta

Eu criei um projeto de configuração no VS2008. Meu aplicativo WinForms usa .NET 2.0, então escolhi a pré -requisição .NET 2.0 e construí o projeto de configuração.

Quando eu executo meu setup.msi em um PC limpo, ele detecta corretamente que o .NET está ausente e pergunta se deve ser instalado. Após uma instalação bem -sucedida do .NET, o instalador simplesmente sai e não continua com a instalação do meu aplicativo (acho que deveria).

Quando executo o arquivo MSI em um PC com .NET já instalado, meu aplicativo é instalado corretamente.

Existe alguma maneira de instalar o .NET 2.0 e meu aplicativo juntos em uma etapa?

Foi útil?

Solução

Como você instalou o produto?

O projeto de configuração produzirá dois arquivos:

  • um pacote de instalador do Windows (.msi) e
  • um chamado bootstrapper (setup.exe)

O Bootstrapper verificará a presença de qualquer pré-requisito que você especificou e possivelmente baixe e instale-o se ainda não estiver instalado e continue a instalar seu aplicativo (ligando para o .msi). Portanto, você deve sempre iniciar o setup.exe para instalar seu aplicativo e não o arquivo .msi (a menos que saiba que todos os pré-requisitos estão no sistema de destino).

Como diz Krakkos, o Bootstrapper instalará os pré-requisitos e seu aplicativo (ou seja, seu arquivo .msi). No entanto, não estou ciente de nenhuma definição de configuração que impeça o bootstrapper de instalar o MSI.

Para solucionar problemas, você pode tentar criar um log da sua instalação e procurar problemas no arquivo de log.

Outras dicas

Obrigado Divo,

Eu estava executando o arquivo msi.

Existem limitações ao executar o arquivo setup.exe? Se eu me lembrar corretamente, tentei executá -lo no Windows 2000 e ele não foi executado. Consegui executar apenas o arquivo MSI. Vou verificar um PC com o Clean Win2000 e voltar.

EDIT: Eu tentei no Windows 2000 SP4 limpo e aqui estão os resultados:

  • Setup.exe não será executado com uma mensagem sobre a falta do HEAPSESTINFORMAÇÃO EM KERNEL32.DLL
  • Setup.msi não será executado (a extensão .msi é desconhecida)

Então eu instalei manualmente o Windows Installer 3.1:

  • Setup.exe ainda não será executado com a mesma mensagem de erro
  • Setup.msi será executado bem -sucedido (mas instalará apenas o .NET sem meu aplicativo ... meu problema inicial)

No Windows XP, o setup.exe funciona sem problemas.

Parece que os usuários do Win2000 terão que instalar meu aplicativo manualmente instalando o Windows Installer 3.1, .net 2.0 e depois meu aplicativo. Mesmo quando o .NET é instalado manualmente, o setup.exe ainda mostrará a mesma mensagem de erro no Win2000 SP4.

Editar: a edição Win 2000 pode ser corrigida instalando o Atualização Rollup 1 para Windows 2000 SP4 (KB891861).

This episode of Hanselminutes goes into great detail about how Paint.Net arranges for downloading & installing the required .NET framework on demand, and integrating with the application installation. Admittedly this is probably way more complex that most applications require, but is an interesting discussion nonetheless.

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