2010-03-16 13 views
11

Duplicar posibles:
What are the specific differences between .msi and setup.exe file?¿Cuáles son las diferencias entre los instaladores de MSI y EXE, y cuál debería elegir?

estoy trabajando en un instalador para una nueva versión de mi proyecto (C#).

Anteriormente, he usado Inno Setup para crear archivos .exe para instalar mis proyectos en otras computadoras en el lugar de trabajo. Sin embargo, al leer algunos tutoriales, me encontré con Windows Installer XML, que usa archivos XML para construir un instalador .msi.

Mi proyecto estará disponible en una red compartida de que todos los empleados tienen acceso a por lo que puede instalar el software (que estoy trabajando actualmente en un verificador de actualización también)

¿Cuáles son las principales diferencias entre .exe y .msi instaladores? ¿Por qué querría elegir uno sobre el otro? ¿Tendría más sentido dado mi entorno específico?

Encontré algo de la información at this question, pero no había mucha información.

+0

ver también http://stackoverflow.com/questions/902841/why-do-so-many-programs-have-both-a-setup-exe-and-a-setup-msi – rds

Respuesta

5

No utilizaría WiX para un nuevo proyecto. Yo usaría un 'Proyecto de Instalador' en Visual Studio para construir una MSI. Un proyecto de instalador es mucho, mucho más fácil de armar.

Muchos instaladores exe son en realidad talones o contenedores que contienen un MSI, por cierto.

Supongo que ha comprobado http://en.wikipedia.org/wiki/Windows_Installer?

MSI le da a los administradores la capacidad de restringir las instalaciones, reinstalar las instalaciones, cambiar o agregar acciones personalizadas, automatizar las instalaciones/reinstalaciones/desinstalaciones, el registro estándar y los conmutadores. Simplemente se integra realmente en un entorno de TI corporativo (http://technet.microsoft.com/en-us/library/bb742606.aspx).

Un instalador personalizado puede tener muchas de esas características, pero eso dependería del paquete de instalador.

+1

Solo queríamos que alguien Quien vio esta respuesta, sabe que ya no es precisa para la versión de Visual Studio más allá de 2010. Visual Studio 2012 ya no es compatible con los proyectos de Instalación y Despliegue. –

+0

Para Visual Studio 2013 y superior, hay una extensión llamada "Proyectos de instalador de Microsoft Visual Studio 2013" (reemplazar 2013 con su versión) en el mercado de VS, que es compatible con los proyectos de instalador anteriores. Sin embargo, tiene un error que le impide instalar aplicaciones de 64 bits, y el texto en el asistente que produce no tiene anti-aliasing, por lo que parece obsoleto. –

5

La mayoría de los instaladores de EXE disponibles hoy en día son simplemente stubs para verificar que la máquina de destino tiene el soporte suficiente para iniciar una MSI almacenada en el EXE. Hacen la comprobación básica de la versión de Windows y la verificación de la versión de Windows Installer, luego invocan esencialmente msiexec y dejan que Windows Installer se encargue del resto.

Para una instalación muy básica, el Proyecto de instalación en Visual Studio puede pasarlo bien, pero para cualquier tipo de personalización o ajustes reales necesitará un editor de MSI real. Usamos WiX y nos encanta, pero es difícil de aprender. Si tiene dinero, puede invertir en InstallShield, pero eso tiene su propio conjunto de peculiaridades.

3

MSI es configurable mientras EXE no lo es. Sé que esto no responde su pregunta directamente, pero pensé que debería apuntar hacia la tecnología ClickOnce.

MSDN: See example here.

En pocas palabras, una aplicación ClickOnce es cualquier Windows Presentation Foundation , Windows Forms, o consola de aplicación publicada mediante ClickOnce tecnología. Puede publicar una solicitud ClickOnce en tres formas diferentes: desde una página web, desde un recurso compartido de archivos de red, o desde un medio , como un CD-ROM. Una aplicación ClickOnce se puede instalar en el ordenador un fin del usuario y ejecutar localmente incluso cuando el equipo está desconectado, o se puede ejecutar en una línea modo de sólo sin necesidad de instalar de forma permanente nada en el ordenador del usuario final. Para obtener más información, vea Elegir ClickOnce Deployment Strategy.

+0

Interesante - Conocía ClickOnce, pero pensé que era solo una forma de distribuir software a través de Internet. Tendré que echarle un vistazo a las cosas de la red compartida, ¡gracias! –

+0

Desafortunadamente ClickOnce no tiene CustomActions. – ABCD

1

La fábrica de IndigoRose MSI es extremadamente potente y mucho, mucho más económica que InstallShield.

Utiliza WiX internamente y le permite modificar los archivos XML de la manera que desee. El programa de arranque (.exe, si agregas uno) tiene un poderoso motor de scripts basado en Lua para hacer ... bueno cualquier cosa.

Cuestiones relacionadas