2010-11-29 16 views
8

pensé que esto sería en algún lugar de la Web, pero no pude buscar en Google:¿Cuál es la principal ventaja de tener un paquete de instalación de MSI?

Dada la complejidad que implica la creación de un paquete MSI (en comparación con NSIS, InnoSetup, etc.), lo que sería una razón de peso para pasar por todo el lío (usando el asistente de proyecto de configuración cutre de MSVS, aprender un lenguaje/ecosistema completamente nuevo solo para hacer el instalador (WiX), o pagar altas tarifas de licencia (InstallShield)) por el bien de hacer un instalador MSI?

sería bueno tener opiniones reales o experiencia (incluso para probar que es realmente inútil MSI) aparte de la obvia MSDN page, por ejemplo :)

+0

** [Ventajas del uso de archivos MSI] (http://serverfault.com/a/274609/20599) ** - una lista de estilo de resumen ejecutivo de importantes beneficios para los archivos MSI. –

Respuesta

9

No creo que haya una ventaja principal para todas las situaciones. Aquí hay algunas cosas que me gustan de él, frente a otros tipos de instaladores:

  • Instalar la lógica y el código está contenido en una base de datos, que está en un formato accesible. Me gusta mucho cuando estoy depurando. En lugar de reconstruir su instalador, puede editar directamente la base de datos con una herramienta como Orca (descarga de edición de base de datos gratuita desde MS), luego vuelva a ejecutar la instalación para probar sus cambios. Actualice su código personalizado, acondicione temporalmente algo, cambie el orden de las operaciones, lo que sea que necesite hacer.

  • Parches. El servicio Installer y sus herramientas correspondientes saben cómo crear parches que contienen deltas de archivos actualizados, en lugar de completar archivos. Permite que los tamaños de mantenimiento sigan siendo razonables.

  • Imágenes administrativas. El instalador puede crear una imagen administrativa. Si ha generado parches, puede aplicar los parches a la imagen administrativa y, a continuación, se pueden ejecutar nuevas instalaciones desde la imagen administrativa en lugar del instalador original. Al igual que los parches slipstreaming en las imágenes del sistema operativo. Si empuja su aplicación a una gran cantidad de máquinas, es muy bueno no tener que sacar muchos parches después de la instalación.

Otras características interesantes incluyen las transformaciones, ejecutar desde la fuente, detectar y reparar, compartir componentes, y más.

+0

Diría que esas características son demasiado avanzadas para la mayoría de las personas. Aceptado como una respuesta muy bien articulada. ¡Gracias! – kizzx2

+1

@Ed: omitió uno de los beneficios más importantes de la aplicación de parches, que es que puede aplicar actualizaciones a una aplicación sin activar las solicitudes de UAC. Sin parches, deberá instalar algún servicio de Windows personalizado que se ejecute en modo privilegiado solo para instalar actualizaciones en su aplicación sin solicitar el acceso de Administrador. http://msdn.microsoft.com/en-us/library/windows/desktop/aa372388%28v=vs.85%29.aspx – jpierson

2

Estoy bastante seguro de que hay empresas que requieren formatos MSI para instalar de forma masiva remota una aplicación en miles de máquinas. Sin embargo, no trato con tales organizaciones, así que no lo sé con certeza.

3

Se requiere MSI (o ClickOnce) para obtener el programa de logotipo de Windows Vista (certificación oficial de Microsoft). Creo que este requisito se eliminó con Windows 7, pero aún es más fácil obtener la certificación con MSI (consulte here).

No es necesario comprar ningún paquete de instalación de terceros caro. Si opta por MSI, le sugiero que use WIX y lo aprenda. Una vez que te hayas familiarizado, funciona bastante bien.

3

Otra buena lectura es:

Windows Installer: Benefits and Implementation for System Administrators

He sido un desarrollador de configuración de tiempo completo durante 14 años. Mis primeros 7 años fueron proyectos de estilo InstallScript Setup.exe y mis últimos 7 años han sido basados ​​en MSI. Al principio me resistí a MSI y luego de 6 meses de usarlo me convertí en un verdadero creyente en lo mucho mejor que es.

+0

¿Podría explicarlo? Parece que tienes la experiencia, la respuesta es "¿cuál es la ** ventaja principal **" que encuentras? ¿Qué te hizo creer en particular? – kizzx2

+2

Como un ISV, la principal ventaja para mí como desarrollador de instalación es permitirme centrarme en lo que mi instalador necesita hacer y no en cómo hacerlo. Como Ingeniero Empresarial, la principal ventaja es poder inspeccionar y transformar el paquete. Pasé dos años de mi vida "reempaquetando" instaladores de mal comportamiento en MSI que siguieron las mejores prácticas para que pudiera implementarlos (instalarlos y desinstalarlos) silenciosamente en decenas de miles de máquinas en todo el mundo. Se puede hacer que los no MSI hagan esto, pero la gran mayoría que he encontrado (muchos) hace un trabajo muy pobre. –

Cuestiones relacionadas