Información general sobre la implementación de ClickOnce

Actualización: noviembre 2007

ClickOnce es una tecnología de implementación que le habilita para crear aplicaciones con actualización automática basadas en Windows que se pueden instalar y ejecutar con una mínima interacción del usuario. La implementación de ClickOnce supera tres problemas principales inherentes a la implementación:

  • Dificultades para actualizar las aplicaciones. Con la implementación de Microsoft Windows Installer, siempre que se actualiza una aplicación, el usuario debe volver a instalar toda la aplicación; con la implementación de ClickOnce, es posible suministrar actualizaciones automáticamente. Sólo se descargan las partes de la aplicación que hayan cambiado y, a continuación, la aplicación completa y actualizada vuelve a instalarse desde una nueva carpeta simultánea.

  • Impacto en el equipo del usuario. Con la implementación de Windows Installer, las aplicaciones normalmente utilizan componentes compartidos, con sus posibles conflictos de versiones; gracias a la implementación ClickOnce, cada aplicación es autosuficiente y no puede interferir con otras aplicaciones.

  • Permisos de seguridad. La implementación de Windows Installer requiere permisos administrativos y sólo permite una instalación de usuario limitada; la implementación de ClickOnce habilita a los usuarios que no tienen derechos administrativos para realizar la instalación y sólo concede los permisos de seguridad de acceso del código necesarios para la aplicación.

En el pasado, estos problemas a veces hacían que los desarrolladores decidieran crear aplicaciones web en lugar de aplicaciones basadas en Windows, sacrificando la interfaz de usuario enriquecida y la capacidad de respuesta de los formularios Windows Forms para conseguir una instalación más fácil. Con aplicaciones implementadas mediante ClickOnce, puede aprovechar lo mejor de ambas tecnologías.

¿Qué es una aplicación ClickOnce?

Dicho con sencillez, una aplicación ClickOnce es cualquier aplicación de Windows Presentation Foundation, de Windows Forms o de consola publicada mediante la tecnología ClickOnce. Puede publicar una aplicación ClickOnce de tres maneras distintas: desde una página web, desde un recurso compartido de archivos de red, o desde otros medios como un CD-ROM. Una aplicación ClickOnce se puede instalar en el equipo de un usuario final y ejecutarse localmente incluso cuando el equipo está trabajando sin conexión, o bien, se puede ejecutar sólo en línea sin instalar nada de manera permanente en el equipo del usuario final. Para obtener más información, vea Elegir una estrategia de implementación de ClickOnce.

Las aplicaciones ClickOnce se pueden actualizar automáticamente; pueden comprobar si hay versiones más recientes cuando se publican y reemplazar automáticamente los archivos actualizados. El desarrollador puede especificar el comportamiento de actualización; los administradores de red también pueden controlar las estrategias de actualización, por ejemplo, marcando una actualización como obligatoria. El usuario final o un administrador también pueden revertir las actualizaciones a una versión anterior. Para obtener más información, vea Elegir una estrategia de actualización de ClickOnce.

Puesto que las aplicaciones ClickOnce están aisladas de manera inherente, instalar o ejecutar una aplicación ClickOnce no puede estropear aplicaciones existentes. Las aplicaciones ClickOnce son completamente independientes; cada aplicación ClickOnce se instala en una caché segura por usuario y por aplicación y se ejecuta desde ella. De forma predeterminada, las aplicaciones ClickOnce se ejecutan en las zonas de seguridad de Internet o Intranet. Si necesario, la aplicación puede solicitar permisos de seguridad elevados. Para obtener más información, vea Implementación y seguridad con ClickOnce.

Cómo funciona la implementación ClickOnce

La arquitectura central de implementación ClickOnce se basa en dos archivos de manifiesto XML: un manifiesto de aplicación y un manifiesto de implementación.

El manifiesto de aplicación describe la aplicación en sí. Incluye los ensamblados, las dependencias y los archivos que constituyen la aplicación, los permisos necesarios y la ubicación en que estarán disponibles las actualizaciones. El desarrollador de aplicaciones crea el manifiesto de aplicación utilizando el Asistente para publicación de Visual Studio 2008 o la herramienta de compilación de manifiestos (Mage.exe) de Kit de desarrollo de software de Windows (SDK). Para obtener más información, vea Cómo: Publicar aplicaciones ClickOnce.

El manifiesto de implementación describe cómo se implementa la aplicación. Esto incluye la ubicación del manifiesto de aplicación y la versión de la aplicación que los clientes deben ejecutar. Un administrador crea el manifiesto de implementación con la herramienta de compilación de manifiestos (Mage.exe) de Windows SDK.

Nota:

El Asistente para publicación de Microsoft Visual Studio 2005 también genera un manifiesto de implementación.

Una vez creado, el manifiesto de implementación se copia en la ubicación de implementación. Ésta puede ser un servidor Web, un recurso compartido de archivos de red u otros medios como un CD. El manifiesto de aplicación y todos los archivos de la aplicación también se copian en una ubicación de implementación que se especifica en el manifiesto de implementación. Ésta puede ser la misma que la ubicación de implementación o una ubicación diferente. Al utilizar el Asistente para publicación de Microsoft Visual Studio 2005, las operaciones de copia se realizan automáticamente.

Nota:

Si el desarrollador es también el administrador (es decir, tiene credenciales de administrador en el sitio web o el recurso compartido de archivos de red en el que se implementará el manifiesto de aplicación), este manifiesto es todo lo que necesita. Si el desarrollador no es el administrador, el administrador debe utilizar la herramienta de la línea de comandos para actualizar y firmar el manifiesto.

Una vez implementado en la ubicación de implementación, los usuarios finales pueden descargar e instalar la aplicación haciendo clic en un icono que representa el archivo de manifiesto de implementación que se incluya en una página Web o en una carpeta. En la mayoría de los casos, se presenta al usuario final un cuadro de diálogo sencillo que le pide que confirme la instalación, tras lo cual la instalación continúa y la aplicación se inicia sin necesidad de ninguna intervención posterior. En los casos en los que la aplicación requiere permisos elevados, el cuadro de diálogo también le pide al usuario que conceda permiso para que pueda continuar la instalación.

La aplicación se agrega al menú Inicio del usuario y al grupo Agregar o quitar programas del Panel de control. A diferencia de otras tecnologías de implementación, no se agrega nada a la carpeta Archivos de programa, al Registro ni al escritorio, y no se requieren derechos de administración para realizar la instalación.

Nota:

También es posible impedir que la aplicación se agregue al menú Inicio y al grupo Agregar o quitar programas, haciendo que de hecho se comporte como una aplicación web. Para obtener más información, vea Elegir una estrategia de implementación de ClickOnce.

Cuando el desarrollador de aplicaciones crea una versión actualizada de la aplicación, también genera un nuevo manifiesto de aplicación y copia archivos en una ubicación de implementación, normalmente una carpeta secundaria de la carpeta original de implementación de la aplicación. El administrador actualiza el manifiesto de implementación para que señale a la ubicación de la nueva versión de la aplicación.

Nota:

El Asistente para publicación de Microsoft Visual Studio 2005 se puede utilizar para realizar estos pasos.

Además de la ubicación de implementación, el manifiesto de implementación también contiene una ubicación de actualizaciones (una página web o recurso compartido de archivos de red) donde la aplicación comprueba si hay versiones actualizadas. Las propiedades Publish de ClickOnce se utilizan para especificar cuando y con qué frecuencia la aplicación debe comprobar si hay actualizaciones. El comportamiento de actualización se puede especificar en el manifiesto de implementación o se puede presentar como opciones del usuario en la interfaz de usuario de la aplicación por medio de las API de ClickOnce. Además, las propiedades Publish se pueden emplear para que las actualizaciones sean obligatorias o para deshacer la instalación y volver a una versión anterior. Para obtener más información, vea Elegir una estrategia de actualización de ClickOnce.

Tabla de comparación de ClickOnce y Windows Installer

La tabla siguiente compara las características de implementación de ClickOnce con la implementación de Windows Installer:

Característica

ClickOnce

Windows Installer

Actualización automática1

Deshacer cambios tras la instalación2

No

Actualizar desde el Web

No

No afectar a componentes compartidos u otras aplicaciones

No

Se conceden permisos de seguridad

Sólo concede los permisos necesarios para la aplicación (más seguro)

Concede plena confianza de forma predeterminada (menos seguro)

Permisos de seguridad requeridos

Zona Internet o intranet (plena confianza para la instalación de CD-ROM)

Administrador

Firma de manifiestos de aplicación e implementación

No

Interfaz de usuario del proceso de instalación

Indicador único

Asistente de varias partes

Instalación de ensamblados a petición

No

Instalación de archivos compartidos

No

Instalación de controladores

No

Sí (con acciones personalizadas)

Instalación en la caché de ensamblados global

No

Instalación para varios usuarios

No

Agregar la aplicación al menú Inicio

Agregar la aplicación al grupo Inicio

No

Agregar la aplicación al menú Favoritos

No

Registrar tipos de archivos

No

Acceso al Registro durante la instalación3

Limitado

Revisión de archivos binarios

No

Ubicación de instalación de aplicaciones

Caché de aplicaciones de ClickOnce

Carpeta Archivos de programa

Notas

1. Con Windows Installer, debe implementar las actualizaciones de programación en el código de aplicación.

2. Con ClickOnce, se puede revertir la instalación desde Agregar o quitar programas.

3. La implementación de ClickOnce sólo puede obtener acceso a HKEY_LOCAL_MACHINE (HKLM) con permisos de plena confianza.

Para obtener más información, vea Elegir una estrategia de implementación.

Vea también

Tareas

Cómo: Publicar aplicaciones ClickOnce

Conceptos

Elegir una estrategia de implementación de ClickOnce

Elegir una estrategia de actualización de ClickOnce

Implementación y seguridad con ClickOnce

Elegir una estrategia de implementación

Otros recursos

Implementación ClickOnce