Que produto de instalação utilizar? InstallShield, WiX, Wise, Advanced Installer, etc [fechado]
estou a fazer uma investigação sobre a mudança do pacote de instalação que usamos actualmente (Wise Installer 9) e a mudança para algo que irá lidar com coisas como os sistemas Windows Vista, Windows 7 e 64-bit. Localização dos instaladores seria de benefício, uma vez que temos uma série de clientes canadenses franceses também.
temos actualmente instalações para pacotes de software e utilitários nas seguintes tecnologias:
- progresso 4GL
- Visual Studio 2005
- Visual Studio 2008
- . net Compact Framework 3.5
eu já olhei para WiXe InstallShield, e também o Altiris fez a substituição para o velho Sistema Wise.
Ainda não toquei muito com o InstallShield, mas de tudo o que vi/instalei, parece ser um dos favoritos da indústria. Percorri algumas das etiquetas de sobrecarga de pilhas relacionadas com o [[24]}InstallShield e estou curioso. para ver o que o grupo diz sobre isso. Será que vou ter com eles por defeito? Como o WiX é bom non-.NET coisas?5 answers
Actualização, ago.2018 , uma opção nova e mais Curta: Como criar o instalador do windows. Focada em resumir
MSI and its major benefits
e para listarmajor tools available
(com ligações de download), como bem comomentioning some new, trending deployment technologies
.
Eu tenho trabalhado no desenvolvimento de software como um gestor de lançamentos, construir engenheiro, o programa de configuração do desenvolvedor e como um aplicação gestor de, SOE engenheiro e implantação engenheiro (SCCM) das grandes empresas.
Ao Longo do caminho, eu tenho usado a maioria das principais ferramentas de empacotamento (alguns em muitas versões diferentes): InstallShield, Sábio (fora do mercado, infelizmente), WiX, Advanced Installer (apenas teste), Orca e eu tenho testado algumas outras ferramentas (link para "do Windows Installer a Criação de Ferramentas para Desenvolvedores" a partir de http://www.installsite.org ([10] - uma lista bastante exaustiva de instrumentos). Eu também usei ferramentas menos comuns de embalagem e implantação, como computadores associados Unicenter - provavelmente fora do mercado agora. Há também uma página em Ferramentas de criação não-MSI .
UPDATE : Se necessitar de uma ferramenta MSI para comparar duas versões de ficheiros MSI, ou apenas para extrair informações de um ficheiro MSI, poderá querer ler esta resposta: Como posso comparar a conteúdo de dois (ou mais) arquivos MSI? (focada em ferramentas MSI gratuitas).
Este post fornece uma visão geral de os pontos fortes de algumas das diferentes ferramentas de criação de assim como alguns senões estar ciente de. Por todas as suas semelhanças, estas ferramentas são realmente bastante diferentes. Todas as tentativas têm sido feitas para tornar as descrições tão objetivas quanto possível - descrevendo a experiência do mundo real com positivos e negativos.
Implantação Relacionada Tópicos
- Antes de entrar na revisão das diferentes ferramentas, aqui estão algumas outras ligações com informações sobre a própria tecnologia MSI.
- aqui está uma descrição geral das tarefas de implantação comumente suportado em ferramentas de implantação, e uma descrição de por que a implantação parece se tornar cada vez mais complicada. Muitas pessoas acham que o MSI é mais problemático do que vale, e às vezes isso pode ser compreensível. Beneficio são reais-especialmente para a implantação corporativa, mas também são alguns dos problemas.
- aqui está uma descrição que eu escrevi sobre os principais benefícios corporativos da MSI (de serverfault.com). o artigo tem crescido demais, mas Esperemos que ainda seja relevante. No mesmo artigo que escrevi sobre falhas típicas de design no mundo real nos ficheiros MSI (um trabalho muito em progresso-apenas um "dump de memória" de experimentar "ambos os lados do software": desenvolvimento e implantação).
InstallShield
-
[83] Feature rich.
- sempre actualizado com as últimas tecnologias.
- orientado para o desenvolvimento.
- edições diferentes disponíveis.
- o flagship product Administudio fornece tanto ferramentas orientadas para o desenvolvimento de configuração como ferramentas orientadas para o reembalador.
- muito bom gestão da libertação, localização e características de automatização para a automatização do processo de construção. Pelo menos melhor que os concorrentes.
- para os produtos complexos a gestão da libertação é talvez o principal ponto de venda para o InstallShield. Você pode entregar sabores de todos os tipos com facilidade: versões linguísticas, versões oem, telespectadores, edições de aplicativos, etc... usando bandeiras de lançamento e construções semelhantes.
- as bandeiras de Libertação são essencialmente utilizadas para excluir ou incluir condicionalmente determinadas partes de o produto de cada configuração compilada-esta é muitas vezes uma grande parte do que é pedido ao fazer famílias profissionais de setups.
-
a janela de lançamento no Installshield permite uma visão completa de todos os seus diferentes tipos de configuração e edições. Você vê todas as versões da língua e liberta as configurações entregues para a web (um ficheiro de configuração grande) ou para os media redistribuíveis (ficheiros de código externos) e quaisquer outros sabores que tenha entregue.
-
[83]}crucialmente para cada versão e edição, você pode sobrepor as configurações importantes , tais como nome do Produto, versão do Produto, pacote-, produto - e código de atualização, bem como muitas outras configurações necessárias que devem mudar dinamicamente com base na edição do produto e versão da linguagem.
- em muitos outros produtos este tipo de lançamento e gerenciamento de edição pode ser muito mais difícil de implementar. Para configurações mais simples este tipo de flexibilidade pode ser menos importante.
-
A automatização A API para o produto permite que ele seja facilmente "telecomandado " a partir de programas de automatização de compilação de vários tipos.
- também existemmódulos de compilação da linha de comandos (para utilização em servidores de compilação dedicados).
- a automatização total das compilações de um conjunto completo de produtos e edições é facilmente possível utilizando a automatização regular do VBScript / VBA / Javascript.
-
Suporte de localização Completo com tabelas de texto usadas para suporta diferentes linguagens de configuração.
- os diálogos de base também são fornecidos prontos em uma série de línguas (custos extra).
- só precisa de localizar o seu próprio conteúdo de configuração (funcionalidades, Legendas de listas, quaisquer janelas ou caixas de mensagens personalizadas, imagens com texto, etc...- ainda há muito trabalho. Podes entregar uma enorme configuração multilingue. Isto não é recomendado na minha experiência por várias razões (Leia a secção de localização). O pior problema é que você deve localizar todos os conteúdos novos e alterados em todos os idiomas antes de poder entregar a versão em inglês. Isto quase nunca é aceitável para marketing / Vendas. E há sempre correções que exigem que você reconstrua e release uma única linguagem, e então você quer fazê-lo sem UAT e QA para todos os outros idiomas. É melhor fornecer compilações separadas para cada idioma (facilmente implementado).
- Muito poderoso. Um pouco complexo.
- as limitações das características GUI da tecnologia MSI subjacente causam algumas falhas e limitações irritantes, mas isto é o mesmo para todas as ferramentas de implantação.
- a causa principal é que a GUI MSI é implementada usando tabelas de dados dentro do próprio ficheiro MSI, o que provoca limitações graves no que diz respeito à janela eventos quando comparados com o "modelo de evento" completo para as janelas Win32 adequadas.
- Installscript agora compila para nativo-ou emulado com a sua própria caixa de areia, não sei qual. Não existe Nenhuma necessidade de instalar um tempo de execução como você tinha que fazer antes. A propósito, este tempo de execução foi a fonte de alguns problemas de implementação. corrupção em tempo de execução - aparentemente frequentemente relacionada com DCOM-e várias incompatibilidades entre diferentes versões em tempo de execução. Aqui estão alguns links de solução de problemas para "propósitos legados":
- não foi possível instalar o tempo de execução de programação do InstallShield .
- a configuração é incapaz de encontrar ou actualizar o ISScript.msi .
- Flexera Consumer Central (para questões de configuração do utilizador final).
- Muito importante para uma tecnologia tão difícil.
- para ser justo, a maioria dos bugs referem-se ao tipo especial de projecto "Installscript MSI" que implementa um modelo de diálogo personalizado para as configurações MSI (em vez da interface gráfica nativa, baseada em tabelas, que é suprimida). Por outras palavras, o Installscript MSI o tipo de projecto não deve ser utilizado em circunstância alguma. Por favor, leve isso ao coração, se você ainda usá - los-eles são particularmente difíceis de atualizar corretamente (implantação da primeira vez pode ser OK, mas atualizações estão quebrando). Outros tipos de projetos parecem funcionar bem.
- depois de abandonar o Installscript MSI (o que a maioria das pessoas parecia fazer), a ferramenta funcionou muito bem para mim pessoalmente (embora não livre de erros).
- permite algumas coisas novas em comparação com uma aplicação normal.
- streaming de aplicações - nenhuma instalação local em máquinas - JIT.
- usa dois programas incompatíveis no mesmo computador. A actualizar através do servidor.
Sábio
Wise está oficialmente aposentado, mas já foi ressuscitado antes. Infelizmente Algumas questões legais podem ter chegado ao fim desta vez, pelo que sei. Isso seria uma pena para uma ferramenta tão grande. Foi adquirida pela Altiris, e depois pela Symantec. Parece estar agora fora do mercado. Eu ainda estou saindo no resumo das boas características:
- Rápido, fácil e rico em características.
- muito boa facilidade de uso geral, excelente conjunto de recursos.
- falta de algumas características (muito) avançadas, tais como IIS, lançamento avançado gestão, etc...
- orientado para Administrador / Reembalador.
- menos código focado do que Installshield. Editor gráfico de scripts com capacidade única e flexível.
- configuração de configuração bem desenhada.
- Nenhuma outra ferramenta que eu tenha tentado chegou perto de Wise para diffs binários de diferentes arquivos MSI. A facilidade de utilização e a clareza do visualizador de diff não foram menos do que Fantásticas.
- É uma pena que a ferramenta já não esteja disponível.
WiX
- o Big plus é o ficheiro de código de texto . Não há necessidade de armazenar a fonte como um binário onde é quase impossível acompanhar as mudanças e fazer o controle de Versão adequado.
- as fontes de texto adequadas fazem toda a diferença para as equipas de desenvolvimento em termos de ramificação , versionamento e fusão . É um salto quântico (na minha opinião, particularmente para o desenvolvimento interno em grandes corporações-onde o processo é complexo, a reviravolta é rápida e há muitos desenvolvedores).
- a necessidade e a utilização de ficheiros de fonte de texto era central para a criação do toolkit WiX. Aqui está um história rápida e incompleta do WiX" com mais detalhes. Leitura recomendada para compreender a fundação e fundamentação para o WiX. Algumas ferramentas de implantação que armazenam o instalador como binários podem acabar em situações onde a fonte binária exibiria problemas misteriosos que nunca poderiam ser rastreados corretamente.
- isto aconteceu particularmente depois de actualizações de ferramentas que também actualizaram o formato na fonte (para qualquer razao). As actualizações afectariam muitas vezes dezenas de tabelas e centenas de registos, tornando impossível encontrar o verdadeiro problema de forma eficaz.
Os sintomas incluíam coisas como o início repentino de construções lentas, velocidade de instalação lenta repentina, erros inexplicáveis de compilação, até corrupção total de arquivos etc...
Com o WiX tens total transparência e" suavidade " para a tua fonte. É apenas mais limpo e mais confiável quando feito certo e automático atualizações da fonte são possíveis, mas não causarão mudanças em cascata através de dezenas de tabelas MSI. Combinado com mudanças de controle de fonte são facilmente rastreados e (espero) compreendidos - sem coisas misteriosas e não documentadas adicionadas.
- com tudo o que foi dito, deve-se notar que a actualização dos ficheiros de Código WiX 3 para Wix 4 parece não ser trivial. Esperemos que seja uma situação única. Não sei por que isso aconteceu para ser honesto, e eu não tenho informações atualizadas sobre ele.
- , Talvez, de seleção para o real notícias direto do Rob Mensching do blog: http://robmensching.com/blog/ e Bob Arnson blog https://www.joyofsetup.com/. Direto da boca do cavalo como a Internet torna possível - é um mundo maravilhoso, às vezes ;-). Dizem que estão a fazer "tartarugas até ao fim".
- para aqueles que têm lutou com insetos de longa data, intermitentes, inexplicáveis em outras ferramentas, isso é uma dádiva de Deus. Histórias de guerra removidas.
- e ainda melhor: os problemas realmente parecem ser corrigidos em WiX, às vezes com a ajuda da comunidade - como é apropriado para um kit de ferramentas de código aberto. A maior parte das vezes parece que a equipa central trata disso.
- leva tempo para se acostumar, e mesmo quando você está acostumado a it things can be "fiddly" to get right (particularly if you don't use the included helper tools properly). Ajuda a usar a escuridão.ferramenta de descompilador exe para descompilar os ficheiros MSI existentes para Wix XML. Isso permite que você estude a fonte WiX sem saber muito sobre ela de antemão.
- As coisas parecem estar a melhorar., talvez tentar este breve resumo.
- um projecto interessante pode ser IsWiX . Vale a pena verificar.
- tutoriais WiX: https://github.com/iswix-llc/iswix-tutorials Demonstração rápida no Youtube: https://www.youtube.com/watch?v=nnV_OU6fk8c
- Aparentemente, haverá algumas restrições quanto às versões do Visual Studio que serão suportadas pelo WiX 4.
Ainda não tenho os detalhes, mas vai precisar de uma versão recente do Visual Studio. Eu acho que há boas entradas de blogs de Rob e Bob sobre isso.
- "comunidade": https://github.com/wixtoolset. E as questões em aberto: https://github.com/wixtoolset/issues/issues
- o download do toolkit inclui também o DTF (implementation Tools Foundation ). Classes .NET para lidar com todas as coisas arquivos MSI com automação. Ver uma amostra de em linha aqui . Extremamente útil e de boa qualidade. Não COM tratar. Ver isto serverfault.com post . E o blogue de Chris Painter.
- para pensadores à base de amostras tente este artigo do projecto de código para um rápido início em como criar arquivos MSI com WiX (Wix 3). É realmente simples (se você conhece MSI é auto-evidente).
- você também pode leia este artigo de estouro da Pilha De Wix para mais dicas de arranque rápido.
- novo & recomendado : uma resposta de stackoverflow que mostra as alterações mínimas necessárias para compilar um ficheiro MSI a funcionar ao criar um novo projecto WiX no Visual Studio: instalador Wix msi que não instala o aplicativo Winform criado com o Visual Studio 2017. E podes usar o escuro do WiX.exe (MSI decompiler) para descompilar um ficheiro MSI existente para o formato Wix XML adequado e, em seguida, estudar como se encaixa. Muito útil e educacional-especialmente para recursos avançados.
- a versão 3.1 está estável e fora (lançada em maio de 2017). rocha sólida .
-
a versão 4 {[7] } está em desenvolvimento há oito anos neste momento (agosto de 2017).
- Não é claro quando estará disponível para libertação estável. Parece que vai ser uma actualização muito importante. uma reformulação substancial dos ficheiros Wix existentes para usar com sucesso.
Não posso dar pormenores sobre as grandes diferenças neste momento.
Instalador Avançado
- Não usei isto para um verdadeiro desenvolvimento.
- muito fácil de usar, bela GUI.
-
actualizar :
- Muito bem. registo integrado na própria ferramenta durante a instalação de testes de desenvolvimento. Impressionante.
- também disponível para reembalagem de Empresasna sua edição " Architect".
- Feature rich . Compila todos os tipos de Configurações e suporta todas as novas tecnologias (App-X, App-V, etc...)
- o Suporte para App-V parece muito extenso.
- Pode importar uma série de outros ficheiros de código de ferramentas (Installshield, Inno, Wix, Wise, NSIS, Visual Studio, Desktop Bridge, etc...). Não testada extensivamente por mim.
Outras Ferramentas
- Orca é a ferramenta SDK livre do Windows que permite que arquivos binários MSI sejam abertos, editados e até certo ponto comparados. Ele também permite outras operações, como gerar arquivos transform para modificar os arquivos MSI e algumas outras operações técnicas. Uma ferramenta básica que eu sempre gosto de ter instalado e disponível. Existe um parágrafo Orca mais extenso aqui discutindo o seu uso (veja em direção ao fundo). Você normalmente tem que instalar o SDK do Windows para obter o Orca (basta instalar a versão mais recente e procurar a ferramenta).
- Uma ferramenta gratuita chamada "Super Orca" foi-me recomendado, como tem "InstEd". Eu usei-os apenas brevemente, mas eles parecem OK, e eles são mais fáceis de obter do que Orca (Sem Windows SDK para baixar).
- e há também muitas Outras ferramentas. Aqui está uma lista de ferramentas de http://www.installsite.org com indicação se a ferramenta ainda é mantida ativamente ou não: http://www.installsite.org/pages/en/msi/authoring.htm (graças a Phil Wilson pela ligação, não consegui ressuscitar a sua resposta. Acho que também posso incluir um link para lista de software de instalação da Wikipédia.
Recomendações De Ferramentas?
Não me compete a mim. faça recomendações de ferramentas diretas. Mas acho que posso fazer algumas "observações" e fornecer alguns links adicionais para a tomada de decisões.Para qualquer equipa de desenvolvimento interna, sugiro o WiX. onde Outras ferramentas têm facilidade de uso (o que é muito importante, e às vezes a única coisa que é importante), WiX se destaca em sua flexibilidade, extensibilidade, estabilidade e o uso de arquivos de fonte de texto XML - com a penalidade de estar um pouco envolvido para lidar com isso. E devido a sua Licença Livre cada desenvolvedor pode visualizar e compilar a fonte e as mudanças são facilmente rastreadas, revertidas ou aprovadas. Gerenciar um processo com Desenvolvedores todos atualizando uma única fonte De Wix ainda tem seus desafios embora (nada diferente do trabalho de desenvolvimento regular-nada é fácil).
(O que é certo que está um pouco além do foco de desenvolvimento de stackoverflow.com) eu acho que as principais opções no momento são Flexera Administudio e Arquitecto De Instalação Avançada . Há também outros produtos disponíveis, e como sempre installsite.org tem detalhes: ferramentas: reembalagem e implantação Empresarial.Para pequenas equipas de Desenvolvimento à procura de uma forma rápida e fácil de implantar as suas aplicações, eu acho que Installshield e instalador avançado são as ferramentas mais comuns de "GUI baseado". Eles fornecem um monte de recursos, e você será capaz de entregar uma configuração rapidamente. Como já foi dito, por vezes, esta é a única coisa que é importante. Muitas vezes, na verdade. É, no entanto, possível entregar um grande instalador usando Wix em vez disso-mas muito mais conhecimento é necessário. Há uma curva de aprendizagem, e há algumas limitações severas - particularmente no que diz respeito à GUI no momento-mas a tecnologia de base é muito sólida e livre. E o mais importante é que há muitas outras ferramentas (lista de http://www.installsite.org também isso pode ser mais apropriado para a sua tarefa - particularmente se for uma aplicação simples que só precisa de recursos básicos de implantação. É "injusto" que eu não tenha fornecido mais informações sobre essas ferramentas que são bastante capazes, mas menos comumente usados ou estabelecidos.
Devo deixar claro que recomendo o WiX para as equipas empresariais que entregam aplicações internas porque podem usar a flexibilidade proporcionada pelo WiX e também terão a experiência disponível e capacidade técnica para lidar com a complexidade da WiX. E podem treinar tipos novos quando necessário. Uma questão muito importante. WiX não é trivial de aprender a menos que você já tem um monte de conhecimento do instalador do Windows - então é uma fatia de bolo, mas ainda leva tempo porque é tão flexível e por falta de uma palavra melhor: "fiddly" - é como o desenvolvimento real, você tem controle real, mas precisa ser preciso. Uma vez configurado uma fonte WiX pode ser um sonho para lidar com - você sabe o que está acontecendo no.
Para resumir: se você é um pequeno (ou grande) fornecedor de terceiros procurando uma boa maneira de obter a sua aplicação entregues rapidamente para seus clientes você é provavelmente melhor fora com uma ferramenta comercial, visando fornecer facilidade de uso e uma solução rápida para implementar quantidades limitadas de mudança. No caso dos IIS, em particular, os instrumentos comerciais não proporcionaram a flexibilidade necessária para mim no passado. E as equipas de desenvolvimento internas devem, pelo menos, tentar o WiX. as.
Finalmente, uma palavra de cautela: Advanced Installer, InstallShield e Sábio geralmente permitir empacotamento de software para virtualização. Não estou ciente de quaisquer características em WiX para isso a partir de agora. Por favor, adicione comentários ou apenas edite este post se você tiver informações aqui.
Ponta Prática:
Geralmente uso Outras ferramentas para prototipagem {[[7]} e WiX para implementação se tiver escolha. Podes. usar o wix's escuro.exe (MSI decompiler) para descompilar um ficheiro MSI existente. Às vezes eu implemento algo em Wise ou InstallShield, compile um MSI e descompile-o para o formato WiX. Depois levanto a marca WiX e deposito no meu ficheiro principal WiX. Funciona muito bem e geralmente muito rápido. Isto em combinação com o calor .a ferramenta exe para a criação automática de componentes permitiu-me embalar um enorme site do IIS em menos de 10 minutos após algumas corridas de prática. Depois tenho tudo. personalizabilidade fornecida pelo WiX, com a facilidade de uso das outras ferramentas.
Limpar a fonte decompilada não é fácil, mas também não é ciência de foguetões. Um pouco de conhecimento MSI é necessário e você estará "mexendo" por um tempo. Esteja ciente de que o download de versões de teste de ferramentas comerciais para gerar e descompilar um arquivo MSI não é recomendado. Os arquivos MSI resultantes são geralmente "marca d'água" com características que são difíceis de remover.alguns Ligações:
Que bom é o WiX em non-.NET coisas?
O WiX tem suporte para todas as funcionalidades do instalador do Windows por projecto. O instalador do Windows é anterior ao. NET.
Pessoalmente, prefiro o Wix em vez do InstallShield porque- o formato de texto XML permite a revisão de commits, merging de alterações entre Ramos
- a automatização da compilação deve incluir a configuração geração, que é fácil com WiX
- ficheiros wixlib com componente grupo as definições permitem a configuração modular Política de desenvolvimento Não precisas de te preocupar. as dependências das dependências, etc.
- sem licença ou dores de cabeça de implantação, nós simplesmente incluímos o conjunto de ferramentas WiX em a / tools pasta dos nossos projectos em SVN
Vais ver o freeware {[[2]}Inho Setup : durante muito tempo que o estou a usar, ele nunca me desiludiu!
O NSIS tem um grande sistema de 'plugins', e você pode programá-lo imperativamente usando o plugin LogicLib, ter arquivos desinstall automáticos gerados, e muitas outras coisas além.
A configuração Inno é muito capaz / flexível e existem geralmente várias maneiras de alcançar um objetivo, o que levou a uma curva de aprendizagem íngreme. Somos várias versões por trás de sua última versão (devido a melhoria da estrutura de custos). Porque nossos produtos funcionam em viúvas, se tivermos que mudar eu poderia primeiro pesquisar a solução do instalador da Microsoft que vem com uma assinatura MSDN.