c# visual-studio visual-studio-2017 installer

c# - Visual Studio Publish Project en un instalador simple



visual-studio visual-studio-2017 (1)

ACTUALIZACIÓN : septiembre de 2018 : dado que esta "respuesta" fue rechazada recientemente, permítame intentar agregar algunos enlaces más para ver si la intención de la respuesta se puede aclarar más. No para ser demasiado dramático, pero:

As deployment specialists we have to warn people when they commit to using a tool that is bound to fall apart for them down the line when more advanced deployment requirements invariably surface .

Los proyectos del instalador se han retirado varias veces y luego se han reintroducido en Visual Studio . Siempre basado en los problemas vistos con estos tipos de proyectos (solo los más grandes):

1) No hay soporte de MSBuild (no lo probé extensamente por mí, sino por otros), 2) solo acciones personalizadas en modo diferido que se ejecutan en el contexto del sistema (no insertable en la GUI), 3) control general muy limitado (accesos directos siempre anunciados, sin capacidad de configuración ciertas cosas, etc ...), 4) no hay soporte para la instalación adecuada del servicio - requiere acciones personalizadas en su lugar, 5) muy pocos requisitos previos disponibles para agrupar, 6) GUI rudimentaria con poca flexibilidad, 7) parece que no es posible definir MSI características (como en características y componentes), 8) problemas con problemas de bits de 32/64 para acciones personalizadas , etc.

Una página antigua de MSDN sobre este tipo de proyecto y sus problemas: Solución de problemas de proyectos de configuración e implementación .

El experto de MSI Chris Painter y otros:

En mi opinión, el tipo de proyecto solo puede funcionar para aplicaciones simples .NET. Cualquier complejidad de calibre y estás en problemas. SQL Scripts , IIS , COM / COM+ adecuado, Users & Groups , Shares , Firewall Rules , Custom GUI , etc. Las herramientas comerciales y WiX tienen soporte avanzado para estas cosas. Los componentes internos de los archivos MSI compilados también son de calidad inferior (uso de autorregistro, acciones personalizadas para servicios, etc.). A menudo experimento que la herramienta deja de funcionar por "alguna razón desconocida" también. De repente no se compilará. Ejemplo concreto (con arreglo).

Alternativas :

WiX presenta un componente llamado Burn para crear dichos lanzadores / descargadores / bootstrappers setup.exe , que se utilizan para ejecutar varias instalaciones en secuencia y / o instalar requisitos previos (una tarea muy común; los proyectos de Visual Studio solo admiten algunos requisitos previos).

Escribir código de marcado XML WiX es necesario para usar esta función de grabación. Las herramientas comerciales Installshield y Advanced Installer proporcionan funciones GUI para compilar dichos archivos setup.exe .

El instalador de Visual Studio es muy limitado, nunca lo uso. WiX (enlace a una respuesta que intenta proporcionar algunos enlaces para un curso intensivo de WiX) es una solución de implementación de código abierto completa. Te tomará un tiempo dominar, pero es muy bueno y flexible. Una solución comercial como Installshield o Advanced Installer le permitirá ofrecer una configuración más rápida y fácil, pero puede ser muy costosa.

Dadas las limitaciones de los proyectos (y errores) del instalador de Visual Studio, creo que la solución correcta es usar una herramienta diferente: ¿Qué producto de instalación usar? InstallShield, WiX, Wise, instalador avanzado, etc. Si necesitas algo avanzado, lucharás de otra manera. Con una herramienta más avanzada, al menos es posible hacer lo que necesita, incluso si a veces es más complicado.

Déjame saber lo que quieres saber sobre este proceso, y trataré de ayudarte. No estoy seguro de qué software está entregando, cuál es el grupo de usuarios objetivo, qué presupuesto tiene, etc. Windows Installer es altamente deseable para una serie de beneficios corporativos , pero existen otras tecnologías de implementación (consulte la descripción anterior de varios herramientas para usar).

Tengo un proyecto considerable, con múltiples clases, más de 500 imágenes y más de 20 archivos de texto asociados con dicho proyecto.

He estado publicando mi proyecto haciendo clic derecho en el project->properties , y haciendo clic en la pestaña publicar. Ya he incluido los archivos de texto y las imágenes como resources .

El problema es que cada vez que instalo una aplicación, generalmente es un instalador simple, es decir, descarga un instalador (un archivo como installer.exe), ejecuta este archivo que luego lo lleva a través de la configuración, como dónde instalarlo, etc. Luego se instala la aplicación y listo.

Bueno, cuando publico mi aplicación, especifico un directorio de salida y me quedan estos archivos:

  • Archivos de solicitud
  • MyProjectName.application (el manifiesto?)
  • setup.exe

Si ejecuto setup.exe , puedo instalar la aplicación y ejecutarla sin problemas. Sin embargo, no solo no me deja elegir dónde instalarlo, sino que tendría que enviar los 3 archivos al usuario. Traté de enviar solo el archivo setup.exe a un amigo y me dijo que faltaban los archivos requeridos (lo que supongo es para qué eran los application files y la application files ).

¿Cómo podría agrupar todo esto en un solo instalador, uno que coincida más estrechamente con la forma en que instalaría una aplicación empresarial (piense en instalar Chrome, Eclipse, Photoshop, etc.)?

Me encanta poder tener un archivo que sea el instalador y que los usuarios puedan descargarlo.

Gracias