2010-03-02 10 views
5

¿Sigue siendo ClickOnce el camino a seguir para la implementación de la aplicación Windows Forms?¿Sigue siendo ClickOnce el camino a seguir para la implementación de la aplicación Windows Forms?

Acabo de buscar libros que cubran la implementación de ClickOnce y parece que no hay muchos en absoluto, y los que tienen algunos años (?).


Notas adicionales re lo que estoy haciendo:

  • tendrá que ser actualizado a veces por la aplicación Un archivo ejecutable y una base de datos (SQLite)
  • base de datos (SQLite) (por ejemplo, añadir mesa, añadir columna)
  • de datos de base de datos (que es sólo un archivo para SQLite) debe permanecer a través de las actualizaciones de curso

Respuesta

9

ClickOnce sigue siendo una tecnología asombrosa. Se encarga de una gran cantidad de trabajos pesados ​​de su parte, pero le quita algunas personalizaciones que puede usar con Windows Installer.

Directamente desde las palabras de MS, ClickOnce vence en tres cuestiones: el despliegue

  • dificultades para actualizar aplicaciones. Con la implementación de Microsoft Windows Installer, cada vez que se actualiza una aplicación, el usuario debe volver a instalar toda la aplicación; con la implementación de ClickOnce, puede proporcionar actualizaciones automáticamente. Solo se descargan las partes de la aplicación que han cambiado, luego la aplicación completa y actualizada se reinstala desde una nueva carpeta lado a lado.

  • Impacto en la computadora del usuario. Con la implementación de Windows Installer, las aplicaciones a menudo se basan en componentes compartidos, con el potencial de conflictos de versiones; con la implementación ClickOnce, cada aplicación es autónoma y no puede interferir con otras aplicaciones.

  • Permisos de seguridad. La implementación de Windows Installer requiere permisos administrativos y permite solo la instalación limitada del usuario; La implementación de ClickOnce permite a los usuarios no administrativos instalar y otorga solo los permisos de Seguridad de acceso de código necesarios para la aplicación.

Recomiendo darle a esto una lectura a fondo: MSDN - ClickOnce Deployment.Además, si es lo suficientemente bueno para Google (Chrome), es lo suficientemente bueno para la mayoría de nosotros ;)

+2

Sí, pero todo el CAS se está yendo en .NET4 –

+1

Cierto, pero entre los dos primeros puntos, todavía creo que vale la pena. –

5

Depende de lo que necesite implementar; si se trata de un único ejecutable con posiblemente un par de archivos de contenido, entonces sí, pero si necesita scripts personalizados, servicios de instalación, etc., le sugiero que consulte Windows Installer.

+0

¿qué pasa con un ejecutable y un archivo de base de datos (SQLite) con el supuesto de la base de datos (SQLite) tendrá que haber cambios a veces por la aplicación (por ejemplo, añadir la tabla, agregar la columna), y las necesidades de datos siguen siendo no obstante las actualizaciones, por supuesto - ¿Haga clic aquí para trabajar para un usuario que no tiene derechos de administrador? – Greg

+0

han añadido esta última pregunta como una pregunta en su propio derecho en http://stackoverflow.com/questions/2369025/clickonce-does-writing-reading-to-the-data-directory-required-admin-rights – Greg

1

ClickOnce es genial si está de acuerdo con las limitaciones. Si tienes una aplicación de Windows que no necesita la locura over-engineed MSI, utiliza ClickOnce.

ClickOnce se encarga de las actualizaciones automáticas, y se encarga de las versiones anteriores y retrocesos. Las instalaciones/desinstalaciones ClickOnce demoran segundos, mucho más rápido que las MSI tradicionales. Los beneficios son muchos, por lo que si estás de acuerdo con las restricciones, debes usarlo.

2

¿La respuesta también puede depender de dónde se está implementando? ¿Está escribiendo una aplicación internamente utilizada para una empresa, donde todos tienen acceso a un recurso compartido en Internet para que pueda implementar su ClickOnce también? Si es así, entonces ClickOnce es genial.

Si está intentando escribir un software shrink-wrap para consumo general, entonces crear un proyecto de implementación que destile a una MSI, o incluso usar un producto como InstallShield o NSIS (¿eso todavía existe?) Puede ser su mejor opción.

Cuestiones relacionadas