vb.net - tutorial - microsoft visual studio 2017 installer projects
¿Cuál es la mejor manera de implementar una aplicación VB.NET? (5)
Generalmente cuando uso ClickOnce cuando construyo un programa VB.NET pero tiene algunas desventajas. Nunca he usado otra cosa, así que no estoy seguro de cuáles son mis opciones.
Desventajas de ClickOnce:
- Consiste en varios archivos: parece más fácil distribuir un archivo que administrar un grupo de archivos y el programa de descarga para descargar esos archivos.
- Debes construirlo de nuevo para instalaciones de CD (para cuando el usuario final no tenga internet)
- El programa no termina en Archivos de programa: termina oculto en alguna carpeta de captura de aplicaciones, lo que dificulta mucho el acceso directo.
Pros a ClickOnce:
- Funciona. Por arte de magia. Y está integrado en VisualStudio 2008 express.
- Facilita la actualización de la aplicación.
¿Windows Installer también hace estas cosas? Sé que no tiene ninguno de los inconvenientes de ClickOnce, pero sería bueno saber si también tiene los pros de ClickOnce.
Actualización : terminé usando Wix 2 (Wix 3 estaba disponible pero en el momento en que hice el proyecto, nadie tenía un tutorial competente). Fue lindo porque apoyaba las tres cosas que (eventualmente) necesitaba. Un acceso directo opcional de inicio con ventanas, una opción de inicio cuando el instalador está listo y tres párrafos de texto que mi jefe cree que evitarán que los usos hagan clic en la opción incorrecta.
¿Ya has visto WiX?
Construye instaladores de Windows usando un archivo XML y tiene bibliotecas adicionales para usar si quiere fancificar a sus instaladores y similares. Admitiré que la curva de aprendizaje para mí fue medianamente alta para comenzar, pero luego pude construir un segundo instalador sin complicaciones.
Manejará las actualizaciones y otros elementos si lo desea, y puede aplicar permisos de carpeta y similares a los instaladores. También le brinda un mayor control sobre dónde exactamente desea instalar los archivos y es compatible con todas las convenciones estandarizadas de carpetas de Windows, por lo que puede especificar "PROGRAM_DATA" o algo por el estilo y el instalador sabe ponerlo en C: / Documents and Configuración / Todos los usuarios / Datos de aplicación o C: / ProgramData según si está ejecutando XP o Vista.
El rumor es que Office 2007 y Visual Studio 2008 usaron WiX para crear su instalador, pero no he podido verificarlo en ninguna parte. Creo que es desarrollado por algunas personas de Microsoft en el interior.
ClickOnce puede ser problemático si tiene componentes de terceros que deben instalarse junto con su producto. Puede evitar esto hasta cierto punto creando instaladores para los componentes; sin embargo, con la implementación de ClickOnce, debe crear la lógica para actualizar dichos instaladores de componentes.
En una vida anterior, utilicé Wise For Windows Installer para crear paquetes de instalación. Si bien la creación de actualizaciones no era automática como ocurre con ClickOnce, eran más precisas y tenían menos dolores de cabeza cuando se trataba de otros componentes que debían registrarse / agregarse.
Crear un proyecto de instalador, con una dependencia de su EXE (que a su vez depende de lo que necesite) es un proceso bastante sencillo, pero necesitará al menos VS Standard Edition para eso.
Dentro del proyecto del instalador, puede crear tareas personalizadas y pasos de diálogo que le permitan hacer cualquier cosa que codifique.
Lo que falta es la magia de actualización automática y verificación de versiones que obtienes con ClickOnce. Aún puedes construirlo, simplemente no es automático.
No creo que haya una manera fácil de hacer que un proyecto de Windows Installer tenga la facilidad o capacidad de actualización de ClickOnce. Uso ClickOnce para todas las aplicaciones .NET internas que desarrollo (con la excepción de las aplicaciones de consola). Encuentro que en un entorno empresarial, la facilidad de implementación supera la falta de flexibilidad.
Estoy de acuerdo con Joseph, mi experiencia con ClickOnce es excelente para la gran mayoría de los proyectos, especialmente en un entorno corporativo donde facilita la creación, publicación e implementación. Implementar la "actualización forzada" para asegurar que los usuarios tengan la última versión cuando se ejecutan es mucho más fácil en ClickOnce, y una razón principal para mi uso de la misma.
Problemas con ClickOnce: en un entorno corporativo, tiene problemas con los servidores proxy y las soluciones alternativas son menos que ideales. He tenido que implementar algunas aplicaciones en esos casos desde rutas UNC ... pero no puedes hacer eso todo el tiempo. Su "caja de arena" es genial, hasta que quieras encontrar el ejecutable o crear un acceso directo en el escritorio.
Aún no se ha desplegado a partir de 2008, por lo que no estoy seguro si esos problemas aún existen.