2010-02-04 12 views
19

Los programadores que realmente promocionan sus productos para la producción necesitan un instalador. (Preventiva "de programación relacionada" justificaton.)Capacidades del instalador, WIX contra InstallShield Express

Para la implementación de una nueva gama de aplicaciones y servicios empresariales internos, estoy tratando de decidir entre usar WIX y la edición de InstallShield Express, que está con Visual Studio 2010.

He buscado, pero no he encontrado una matriz de características que resalte las características que no están en la edición expresa. Espero que WIX sea generalmente bastante capaz, pero más difícil de usar, y he oído hablar de situations that WIX doesn't support well.

¿Alguien ha encontrado una matriz de características, o tiene otras recomendaciones sobre la mejor manera a largo plazo para administrar las implementaciones internas?

+1

La versión de InstallShield disponible con Visual Studio 2010 no es la edición Express, sino una edición limitada: http://blogs.msdn.com/somasegar/archive/2009/12/14/building-setup-and-deployment -packages-in-vs-2010.aspx Si está probando versiones beta de VS2010, debería poder probar también las versiones beta de InstallShield Limited Edition para ver si se ajustan a sus necesidades. –

Respuesta

10

encuentro que Wix es una gran opción (a pesar de la muy, muy empinada curva de aprendizaje ) si usted necesita para administrar los instaladores en un entorno complejo, porque

  • las definiciones de configuración se almacenan en un formato XML
  • le da un control total de la tecnología subyacente del instalador de Windows; el esquema XML normalmente sigue de cerca la ventanas esquema de base de instalación (que también es la razón principal por la que la curva de aprendizaje es tan empinada)
  • Es fácil integrate into your automated build
  • Las partes de la instalación puede ser generated automatically
  • Le permite para definir pequeños módulos reutilizables y administrar dependencias complejas entre ellos.
  • no hay problemas de costo o licencia (antes Wix todos tuvimos que utilizar un único "Installshield PC")

Por qué el formato XML es una ventaja: esto le permite aprovechar plenamente los sistemas de código de versiones como Subversion o mercurial . Revisar cambios, examinar el historial o incluso fusionar cambios entre sucursales es muy sencillo.Compare eso para instalar proyectos de blindaje que son blobs binarios opacos.

Lo que quiero decir con la administración de dependencias complejas: en nuestro caso, tenemos un gran conjunto de bibliotecas de componentes reutilizables con un complejo conjunto de dependencias entre ellas y muchas aplicaciones que se crearon encima de eso. Antes de wix, esto era una pesadilla cuando se presentaba una nueva dependencia en alguna parte: TODAS las configuraciones tenían que actualizarse.

Ahora con wix, tenemos un ComponentGroup para cada biblioteca, organizado en un par wixlibs. Cada grupo de componentes hace referencia a otros grupos de componentes de los que depende con un ComponentGroupRef. Los desarrolladores de configuración de aplicaciones solo necesitan hacer referencia a los grupos de componentes de dependencias directas, y wix hará el resto siguiendo las referencias. Como resultado, introducir una nueva dependencia solo requiere hacer un único cambio local. Nuestras compilaciones automáticas y wix hacen el resto para regenerar todas las configuraciones.

+0

Gracias, me has convencido de ir con WIX. Espero que podamos hacer que funcione tan bien como lo has hecho. – DanO

+1

cualquier muestra completa usando Wix? – Kiquenet

1

La matriz característica de Install escudo se puede encontrar aquí:

http://www.flexerasoftware.com/products/installshield/features.htm

Sin embargo, para la sección de IIS (supongo que necesita IIS basados ​​en el enlace a mi pregunta anterior) lo único que dice es " Limitado". Depende de usted adivinar qué significa Limited, pero apuesto a que no admitirá una implementación a nivel empresarial.

+0

Gracias por encontrar los detalles. Estoy seguro de que tienes razón sobre las limitaciones. Deben limitar exactamente las cosas que un cliente empresarial necesitaría para impulsar las ventas de los clientes con dinero de la empresa. – DanO

6

InstallShield Express es para implementaciones básicas (no es más que glorificado WinZip). También puede consultar mi favorito AdvancedInstaller. También tienen una edición express gratuita, pero creo que ninguno de los dos te servirá, porque si necesitas hacer algo con IIS, MS SQL, Active Directory, GAC, etc., necesitarás ediciones de "nivel empresarial". WiX es gratuito, pero la curva de aprendizaje es tan pronunciada que no vale la pena aprender. Lamento haberlo aprendido alguna vez.

Si necesita esto solo para implementaciones internas y no puede gastar $ 1,000 en el instalador, simplemente cree su propio proyecto de "instalación" desde cero. El espacio de nombre System.EnterpriseServices.Internal contiene algunas envolturas útiles para IIS, GAC, etc. System.Configuration.Install.ManagedInstallerClass puede ayudarlo a implementar servicios de Windows. En otras palabras, puede crear su propio programa desde cero que pueda manejar todos los pasos necesarios para la implementación de su producto principal. Muchas empresas no utilizan sus instaladores comerciales de productos emblemáticos, sino que los hacen propios.

+0

Gracias por el puntero desde InstallShield, y hacia las clases .Net para opciones de instalación personalizadas. Eso puede ayudarnos. Creo que le daré una oportunidad a WIX, pero si me resulta tan problemático como a ti, es bueno saber que otras compañías simplemente crean sus propios instaladores si es necesario. – DanO

+0

No puede gastar 1000 en un instalador pero puede "desperdiciar" semanas de desarrollo (los desarrolladores cuestan dinero) para construir el suyo propio. – anon2009

+4

@ anon2009, podría ser sorprendente, pero en la mayoría de las empresas es más fácil para el desarrollador trabajar en su propio instalador durante semanas que convencer a la administración de que compre una herramienta de $ 1000. Además, el costo de $ 1000 para la licencia de la empresa generalmente es por desarrollador, por lo que en las compañías más grandes es más barato y más flexible crear su propia herramienta en lugar de comprar una docena de licencias. –

Cuestiones relacionadas