Seguridad e implementación ClickOnce

ClickOncees una tecnología de implementación que permite crear aplicaciones basadas en Windows auto-actualización que se pueden instalar y ejecutar con una interacción mínima del usuario. Visual Studioproporciona compatibilidad completa para publicar y actualizar aplicaciones implementadas con tecnología ClickOnce si ha desarrollado sus proyectos con Visual Basic y Visual C#. Para obtener información sobre la implementación de Visual C++, vea ClickOnce deployment for Visual C++ Applications.

ClickOnce la implementación supera tres problemas principales en la implementación:

  • Dificultades en la actualización de aplicaciones. Con la implementación de Microsoft Windows Installer, cada vez que se actualiza una aplicación, el usuario puede instalar una actualización, un archivo msp y aplicarla al producto instalado. con ClickOnce la implementación, puede proporcionar actualizaciones automáticamente. Solo se descargan las partes de la aplicación que han cambiado y, a continuación, se vuelve a instalar la aplicación completa y actualizada desde una nueva carpeta en paralelo.

  • Impacto en el equipo del usuario. Con Windows instalador, las aplicaciones a menudo se basan en componentes compartidos, con la posibilidad de conflictos de control de versiones. con ClickOnce la implementación, cada aplicación es independiente y no puede interferir con otras aplicaciones.

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

    En el pasado, estos problemas a veces provocaban que los desarrolladores decidiesen crear aplicaciones web en lugar de aplicaciones basadas en Windows, lo que sacrificaría una interfaz de usuario enriqueciendo para facilitar la instalación. Mediante el uso de aplicaciones ClickOnce implementadas mediante , puede tener lo mejor de ambas tecnologías.

¿Qué es una aplicación ClickOnce?

Una aplicación es cualquier Windows Presentation Foundation ClickOnce (.xbap), Windows Forms (.exe), aplicación de consola (.exe) o solución Office (.dll) publicada con ClickOnce tecnología. Puede publicar una aplicación de tres maneras diferentes: desde una página web, desde un recurso compartido de archivos de red o desde medios como ClickOnce un CD-ROM. Una aplicación se puede instalar en el equipo de un usuario final y ejecutarse localmente incluso cuando el equipo está sin conexión, o se puede ejecutar en un modo solo en línea sin instalar permanentemente nada en el equipo del usuario ClickOnce final. Para obtener más información, vea Elegir una ClickOnce de implementación.

ClickOnce las aplicaciones pueden ser de actualización automática; pueden buscar versiones más recientes a medida que estén disponibles y reemplazar automáticamente los archivos actualizados. El desarrollador puede especificar el comportamiento de actualización, y un administrador de red puede igualmente controlar las estrategias del proceso, por ejemplo, al marcar actualizaciones como obligatorias. 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 ClickOnce de actualización.

Dado ClickOnce que las aplicaciones están aisladas, la instalación o ejecución de una aplicación no puede interrumpir las aplicaciones ClickOnce existentes. ClickOnce las aplicaciones son independientes; cada aplicación se instala y se ejecuta desde una caché segura por ClickOnce usuario y por aplicación. ClickOnce las aplicaciones se ejecutan en las zonas de seguridad de Internet o intranet. Si resultara necesario, la aplicación puede solicitar permisos de seguridad elevados. Para obtener más información, vea Secure ClickOnce applications.

Funcionamiento ClickOnce seguridad

La seguridad principal se basa en certificados, directivas de seguridad de acceso de código y el ClickOnce ClickOnce de confianza.

Certificados

Los certificados Authenticode se usan para comprobar la autenticidad del publicador de la aplicación. Al usar Authenticode para la implementación de aplicaciones, ClickOnce ayuda a evitar que un programa perjudicial se retrase a sí mismo como un programa legítimo procedente de un origen establecido y de confianza. Opcionalmente, también se pueden usar certificados para firmar la aplicación y los manifiestos de implementación para demostrar que los archivos no se han alterado. Para obtener más información, vea ClickOnce y Authenticode. Los certificados también se pueden usar para configurar equipos cliente para que tengan una lista de publicadores de confianza. Si una aplicación procede de un publicador de confianza, se puede instalar sin interacción del usuario. Para más información, vea Introducción a la implementación de aplicaciones de confianza.

Seguridad de acceso del código

La seguridad de acceso del código ayuda a limitar el acceso que el código tiene a los recursos protegidos. En la mayoría de los casos, puede elegir las zonas de Internet o intranet local para limitar los permisos. Use la página Seguridad en ProjectDesigner para solicitar la zona adecuada para la aplicación. También puede depurar aplicaciones con permisos restringidos para emular la experiencia del usuario final. Para más información, vea Seguridad de acceso del código para aplicaciones ClickOnce.

Solicitud de fiabilidad de ClickOnce

Si la aplicación solicita más permisos de los que permite la zona, se puede solicitar al usuario final que tome una decisión de confianza. El usuario final puede decidir si ClickOnce aplicaciones como Windows Forms, aplicaciones de Windows Presentation Foundation, aplicaciones de consola, aplicaciones de explorador XAML y soluciones de Office son de confianza para ejecutarse. Para obtener más información, vea How to: Configure the ClickOnce trust prompt behavior.

Cómo funciona la implementación ClickOnce

La arquitectura ClickOnce de implementación principal se basa en dos archivos de manifiesto XML: un manifiesto de aplicación y un manifiesto de implementación. Los archivos se usan para describir la ClickOnce desde la que se instalan las aplicaciones, cómo se actualizan y cuándo se actualizan.

Publicación de aplicaciones ClickOnce

El manifiesto de aplicación describe la propia aplicación. Esto incluye los ensamblados, las dependencias y los archivos que forma la aplicación, los permisos necesarios y la ubicación donde estarán disponibles las actualizaciones. El desarrollador de aplicaciones crea el manifiesto de aplicación mediante el Asistente para publicación Visual Studio o el Herramienta de generación y edición de manifiestos (Mage.exe) en Kit de desarrollo de software de Windows (SDK) . Para obtener más información, vea Cómo: Publicar una aplicación ClickOnce mediante el Asistente para publicación.

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.

Implementación de ClickOnce aplicaciones

Una vez creado, el manifiesto de implementación se copia en la ubicación de implementación. Puede tratarse de un servidor web, un recurso compartido de archivos de red o algún otro medio (por ejemplo, un CD-ROM). El manifiesto de aplicación y todos los archivos de aplicación también se copian en una ubicación de implementación especificada en el manifiesto de implementación. Puede ser la misma que la ubicación de implementación o una ubicación diferente. Cuando se usa el Asistente para publicación Visual Studio, las operaciones de copia se realizan automáticamente.

Instalación de ClickOnce aplicaciones

Después de implementarla 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 en una página web o en una carpeta. En la mayoría de los casos, al usuario final se le presenta un cuadro de diálogo simple que le pide que confirme la instalación, después de lo cual la instalación continúa y la aplicación se inicia sin intervención adicional. En los casos en los que la aplicación requiere permisos elevados o si la aplicación no está firmada por un certificado de confianza, el cuadro de diálogo también pide al usuario que conceda permiso antes de que pueda continuar la instalación. Aunque ClickOnce instalación por usuario, puede ser necesaria la elevación de permisos si hay requisitos previos que requieren privilegios de administrador. Para obtener más información sobre los permisos elevados, vea Securing ClickOnce applications.

Los certificados pueden ser de confianza en el nivel de máquina o empresa, de modo que ClickOnce aplicaciones firmadas con un certificado de confianza se puedan instalar en modo silencioso. Para más información sobre los certificados de confianza, consulte Introducción a la implementación de aplicaciones de confianza.

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

Nota

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

Actualización de ClickOnce aplicaciones

Cuando los desarrolladores de aplicaciones crean una versión actualizada de la aplicación, generan un nuevo manifiesto de aplicación y copian los archivos en una ubicación de implementación, normalmente una carpeta del mismo nivel en la carpeta de implementación de la aplicación original. El administrador actualiza el manifiesto de implementación para que apunte a la ubicación de la nueva versión de la aplicación.

Nota

El Asistente para publicación Visual Studio puede usarse 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 actualización (una página web o un recurso compartido de archivos de red) donde la aplicación comprueba si hay versiones actualizadas. ClickOnceLas propiedades de publicación se usan para especificar cuándo 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 de usuario en la interfaz de usuario de la aplicación mediante ClickOnce las API. 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 Elección de una ClickOnce de actualización.

Instaladores de terceros

Puede personalizar el instalador ClickOnce para instalar componentes de terceros junto con la aplicación. Debe tener el paquete redistribuible (archivo .exe o .msi) y describir el paquete con un manifiesto de producto neutro en el idioma y un manifiesto de paquete específico del idioma. Para obtener más información, vea Crear paquetes de programa previo.

ClickOnce herramientas

En la tabla siguiente se muestran las herramientas que puede usar para generar, editar, firmar y volver a firmar los manifiestos de aplicación e implementación.

Herramienta Descripción
Página Seguridad, Diseñador de proyectos Firma los manifiestos de aplicación e implementación.
Panel Publicar, Diseñador de proyectos Genera y edita los manifiestos de aplicación e implementación para Visual Basic aplicaciones de Visual C#.
Mage.exe (Herramienta de generación y edición de manifiestos) Genera la aplicación y los manifiestos de implementación para Visual Basic, Visual C# y Visual C++ aplicaciones.

Firma y vuelve a firma los manifiestos de aplicación e implementación.

Se puede ejecutar desde scripts por lotes y el símbolo del sistema.
MageUI.exe (Herramienta de generación y edición de manifiestos, cliente gráfico) Genera y edita la aplicación y los manifiestos de implementación.

Firma y vuelve a firma los manifiestos de aplicación e implementación.
GenerateApplicationManifest (tarea) Genera el manifiesto de aplicación.

Se puede ejecutar desde MSBuild. Para obtener más información, vea MSBuild referencia.
GenerateDeploymentManifest (tarea) Genera el manifiesto de implementación.

Se puede ejecutar desde MSBuild. Para obtener más información, vea MSBuild referencia.
SignFile (tarea) Firma la aplicación y los manifiestos de implementación.

Se puede ejecutar desde MSBuild. Para obtener más información, vea MSBuild referencia.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Desarrolle su propia aplicación para generar la aplicación y los manifiestos de implementación.

En la tabla siguiente se muestra la .NET Framework necesaria para admitir ClickOnce aplicaciones en estos exploradores.

Browser Versión de .NET Framework
Internet Explorer 2.0, 3.0, 3.5, 3.5 SP1, 4
Firefox 2.0 SP1, 3.5 SP1, 4
Chrome 3,5
Microsoft Edge 3,5

Vea también