Pergunta

Tenho vindo a avaliar a vasta gama de instalação e implantação web soluções disponíveis para aplicações do Windows. Vou apenas esclarecer aqui (sem muitos detalhes, essas ferramentas foram cobertos em outras questões) o meu entendimento das opções:

  • NSIS - ferramenta gratuita que gera executáveis ??de instalação. binário pequeno. Especializada, por vezes, obtuso, linguagem de script.
  • Setup Inno - Ferramentas gratuitas para executáveis ??de instalação. Vários esquemas de compressão binários. mecanismo de script Pascal.
  • WIX - conjunto de ferramentas grátis para gerar binários MSI. linguagem definições XML.
  • WIX ClickThrough - Ferramentas adicionais para embalagem, download da web e detecção de atualização automática (agora parte de WIX core).
  • InstallShield - ambiente de desenvolvimento comercial para embalagem de instalação. Gera binários MSI. C-como a linguagem InstallScript.
  • sábio - ambiente de desenvolvimento comercial para embalagem de instalação. Gera binários MSI.
  • ClickOnce - Visual Studio suportado quadro para a publicação de aplicativos para um servidor web, com detecção automática de atualizações. Não há suporte para os requisitos de instalação personalizada (arquivos INI, registro etc ...). Pacotes de configuração como um binário MSI.
  • Instale Aware - ambiente de desenvolvimento comercial para a instalação. Gera binários MSI. estrutura de atualização automática (Web Update).

Se eu perdi algum, por favor me avise.

E encontrei algumas discussões úteis destas tecnologias em StackOverflow:

Eu tenho trabalhado com algumas dessas soluções, bem como um punhado de soluções de instalação internas proprietárias. Eles são mais preocupados com a embalagem instalações e fornecendo uma estrutura para desenvolvedores para acessar o ambiente de tempo de execução. Com a crescente exigência de implantação da web e atualizações automáticas de software, eu esperava encontrar mais de um consenso entre os desenvolvedores sobre um quadro para entrega web de software e actualizações subsequentes, eu realmente não tenho encontrado esse consenso. Há certamente soluções disponíveis (ClickOnce, cliques, InstallShield Update Service), mas cada um tem limitações consideráveis ??(por favor me corrija se eu mis-representar qualquer um destes). Eu estaria interessado em um quadro que forneceu alguns dos seguintes:

  • Terceiro hospedagem / gerenciamento de atualizações.
  • O acesso ao ambiente do cliente (arquivos INI, registro, etc ..).
  • O registo do utilizador / ativação.
  • Feedback / Relatório de erros

Isso está me deixando com a forte impressão de que a melhor maneira de abordar o problema implantação da web é através de uma solução proprietária personalizado construído (possivelmente aproveitando embalagem instalador existente). Eu já vi esse tipo de solução trabalho bem para um número de aplicações de sucesso:

  • FileZilla- HTTP solicitação para update.filezilla-project.org para verificar atualizações, o download de um binário NSIS (eu acho) e, em seguida, desliga para executar a instalação.
  • As atualizações automáticas para jogos multiplayer são totalmente necessárias e universalmente implementados usando sistemas proprietários.

Então, finalmente, às minhas perguntas:

  • Eu perdi uma estrutura de implantação web que irá fornecer a necessidade funcionalidade I?
  • Os meus requisitos muito específicos para razoavelmente esperar um quadro de terceiros para entregar?
  • Devo comprar ou construir?
Foi útil?

Solução

  • Se os seus requisitos específicos são fundamentais para o seu negócio; ou seja, parte do seu negócio é fornecer uma suave e implantação / instalação user-friendly e você sente que nenhuma das bibliotecas de implantação disponíveis pode deixar você conseguir isso, então certamente vá em frente e construir o seu próprio.
  • Se os seus requisitos específicos seria bom ter, mas eles não fazem uma parte significativa do seu negócio; ou seja, o usuário final não será normalmente esperando ou que necessitam de um procedimento de instalação suave, ou nunca terá de fazer isso eles mesmos (ou seja, eles passam esse passo para departamento de sua TI), então a necessidade de construir o seu próprio apenas para seus próprios requisitos específicos é susceptível de ser superado pelo esforço extra que envolveria.

Eu acho que a sua impressão de que você vai precisar de uma solução personalizada é um som; parece que suas necessidades vão ser a chave para a experiência de seu produto, especialmente se você precisa realmente suavizar as atualizações automáticas e feedback.

Outras dicas

Gostaria de exortar cautela em InstallAware. Recentemente, tivemos uma experiência chocante com seu apoio ao cliente.

Nós seguimos um de seus projetos de amostra para a carta que falharam miseravelmente. Levantou um ticket de suporte com o suporte ao cliente e foi dito que ia nos custar US $ 199 para eles a olhar para fixação do seu próprio código.

Em seguida, levantou a mesma questão nos fóruns de usuários e foram prontamente proibido porque se tratava de postagem cruz e não era permitido. Mesmo que este não é mencionado em seus termos e condições. Na verdade, eles proibiram o nosso IP para que ninguém em nossa empresa pode postar em fóruns.

Uma experiência muito ruim e um nós não vamos repetir. Estamos agora olhando para substituir InstallAware o mais rápido possível.

Compra InstallAware em seu próprio perigo.

absolutamente de acordo com o cartaz que disse para ficar longe de InstallAware. Eles tiveram uma longa história de problemas de ética realmente um absurdo, e eles tratam os seus próprios clientes horrivelmente. Eles podem ser francamente abusivo e insultando.

Cuidado com InstallAware!

Estou totalmente de acordo sobre InstallAware.

Depois de usar WiX, NSIS e InstallAware, eu tenho que humildemente admitir que eles eram todos um exagero para o que eu realmente preciso como um desenvolvedor de software. Não há projetos que eu fiz até agora que não poderia ser implantado usando o projeto de implantação do Visual Studio.

É limitado? Sim.

Também é muito simples de aprender um uso. Além disso, você realmente pode que as coisas realmente puro gosto automaticamente criar manchas (arquivos .msp) usando técnicas como descrito aqui

Eu compreendo perfeitamente que você não pode fazer tudo dentro de um projeto de instalação do Visual Studio, mas é surpreendente o que você pode realizar. É grátis, é fácil e, francamente, para uso geral é uma opção melhor do que passar horas intermináveis ??aprendendo XML incompreensível do WiX (impressionante como ele é), ou InstallAware de verboso roteiros ...

Com Setup VS, é drag'n'drop & build'n'deploy. Cada outra solução que eu tentei tinha definir costas ... eles não podem detectar automaticamente a sua saída do projeto ... ou precisa de filtros especiais, para não incluir saídas indesejadas da compilação.

A minha sugestão é assim: Se você simplesmente deseja obter o seu projeto implantado, em seguida, aprender:

  1. Como construir uma classe de instalador personalizado e
  2. Como criar os seus próprios pacotes pré-requisito

Estas são as duas habilidades razoavelmente fácil de dominar, e satisfazer as necessidades da maioria dos desenvolvedores.

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