Pergunta

Geralmente, quando uso ClickOnce ao construir um programa VB.NET, mas ele tem algumas desvantagens.Eu nunca usei mais nada, então não tenho certeza de quais são minhas opções.

Desvantagens do ClickOnce:

  • Consiste em vários arquivos - Parece mais fácil distribuir um arquivo do que gerenciar vários arquivos e o downloader para baixar esses arquivos.
  • Você tem que construí-lo novamente para instalações em CD (para quando o usuário final não tiver internet)
  • O programa não acaba em Arquivos de Programas - Ele acaba escondido em alguma pasta de captura do aplicativo, tornando muito mais difícil o atalho.

Prós do ClickOnce:

  • Funciona.Magicamente.E está incorporado ao VisualStudio 2008 Express.
  • Facilita a atualização do aplicativo.

O Windows Installer também faz essas coisas?Eu sei que ele não tem nenhum dos contras do ClickOnce, mas seria bom saber se ele também tem os prós do ClickOnce.

Atualizar:Acabei usando o Wix 2 (o Wix 3 estava disponível mas na época que fiz o projeto ninguém tinha um tutorial competente).Foi bom porque apoiou as três coisas que eu (eventualmente) precisava.Um atalho opcional de inicialização com o Windows, uma opção de inicialização quando o instalador estiver concluído e três parágrafos de texto que meu chefe acha que impedirão os usuários de clicar na opção errada.

Foi útil?

Solução

Você já viu o WiX?

http://wix.sourceforge.net/

Ele cria instaladores do Windows usando um arquivo XML e possui bibliotecas adicionais para usar se você quiser aprimorar seus instaladores e similares.Admito que a curva de aprendizado para mim foi média-alta para começar, mas depois consegui construir um segundo instalador sem complicações.

Ele cuidará de atualizações e outros itens, se desejar, e você poderá aplicar permissões de pasta e similares aos instaladores.Ele também oferece maior controle sobre onde exatamente você deseja instalar os arquivos e é compatível com todas as convenções padronizadas de pastas do Windows, para que você possa especificar "PROGRAM_DATA" ou algo nesse sentido e o instalador saiba como colocá-lo em C:\Documents e Configurações odos os usuários\Dados de aplicativos ou C:\ProgramData dependendo se você estiver executando o XP ou Vista.

O boato é que o Office 2007 e o Visual Studio 2008 usaram o WiX para criar seu instalador, mas não consegui verificar isso em lugar nenhum.Eu acredito que foi desenvolvido por algumas pessoas da Microsoft por dentro.

Outras dicas

Concordo com Joseph, minha experiência com ClickOnce é ótima para a grande maioria dos projetos, especialmente em um ambiente corporativo onde facilita a construção, publicação e implantação.Implementar a "atualização forçada" para garantir que os usuários tenham a versão mais recente durante a execução é muito mais fácil no ClickOnce e é o principal motivo para meu uso dele.

Problemas com ClickOnce:Em um ambiente corporativo, há problemas com servidores proxy e as soluções alternativas não são ideais.Tive que implantar alguns aplicativos nesses casos a partir de caminhos UNC... mas você não pode fazer isso o tempo todo.Seu “sandbox” é ótimo, até você querer encontrar o executável ou criar um atalho na área de trabalho.

Ainda não foram implantados em 2008, então não tenho certeza se esses problemas ainda existem.

Criar um projeto de instalação, com dependência do seu EXE (que por sua vez depende do que for necessário) é um processo bastante simples - mas você precisará de pelo menos o VS Standard Edition para isso.

Dentro do projeto do instalador, você pode criar tarefas personalizadas e etapas de diálogo que permitem fazer qualquer coisa que você codificar.

O que está faltando é a mágica de atualização automática e verificação de versão que você obtém com ClickOnce.Você ainda pode incorporá-lo, mas não é automático.

Não acredito que exista uma maneira fácil de fazer com que um projeto do Windows Installer tenha a facilidade ou capacidade de atualização do ClickOnce.Eu uso ClickOnce para todos os aplicativos .NET internos que desenvolvo (com exceção dos aplicativos de console).Acho que num ambiente empresarial, a facilidade de implementação supera a falta de flexibilidade.

ClickOnce pode ser problemático se você tiver componentes de terceiros que precisam ser instalados junto com seu produto.Você pode contornar isso até certo ponto criando instaladores para os componentes; no entanto, com a implantação do ClickOnce, você precisa criar a lógica para atualizar os instaladores dos componentes.

Em uma vida anterior, usei o Wise For Windows Installer para criar pacotes de instalação.Embora a criação de atualizações com ele não fosse automática como o ClickOnce, elas eram mais precisas e menos cheias de dor de cabeça quando se tratava de outros componentes que precisavam ser registrados/adicionados.

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