ClickOnce es un componente de Microsoft .NET Framework 2.0 y versiones posteriores, y admite la implementación de aplicaciones creadas con Windows Forms o Windows Presentation Foundation . Es similar a Java Web Start para la plataforma Java o Zero Install para Linux .
El principio básico de ClickOnce es facilitar la implementación de aplicaciones de Windows. Además, ClickOnce pretende resolver otros tres problemas de los modelos de implementación convencionales: la dificultad de actualizar una aplicación implementada, el impacto de una aplicación en el equipo del usuario y la necesidad de permisos de administrador para instalar aplicaciones.
Las aplicaciones implementadas con ClickOnce se consideran de "bajo impacto", ya que se instalan por usuario, no por máquina. No se requieren privilegios de administrador para instalar estas aplicaciones. Cada aplicación ClickOnce está aislada de las demás. Esto significa que una aplicación ClickOnce no puede "romper" a otra. ClickOnce emplea seguridad de acceso por código (CAS) para evitar que una aplicación ClickOnce llame a funciones del sistema desde la web, lo que garantiza la seguridad de los datos y del sistema cliente en general.
El modelo ClickOnce admite tanto aplicaciones instaladas (similares a las aplicaciones convencionales de Windows con integración con el menú Inicio) como aplicaciones en línea (aplicaciones alojadas en el navegador que no se instalan, solo se ejecutan y almacenan en caché). Las aplicaciones ClickOnce se pueden implementar en una computadora desde una ubicación de Internet, un recurso compartido de red o una ubicación de archivo local, como un CD-ROM.
La tecnología de implementación ClickOnce se ha integrado en Visual Studio 2005 y versiones posteriores. También es compatible de forma nativa con MSBuild , la tecnología de administración de compilaciones de Microsoft.
Una implementación de ClickOnce se controla mediante el uso de dos archivos de manifiesto XML : un manifiesto de implementación y un manifiesto de aplicación. Los manifiestos tienen el mismo formato XML que la implementación del ensamblaje en paralelo . El manifiesto de implementación (archivo *.application) describe el modelo de implementación: la versión actual, el comportamiento de actualización, la identidad del editor junto con una firma digital; este manifiesto está destinado a ser creado por los administradores que manejan la implementación. El manifiesto de aplicación (archivo *.exe.manifest) describe los ensamblajes de la aplicación, las bibliotecas dependientes y los permisos requeridos por la aplicación. Este archivo está destinado a ser creado por el desarrollador de la aplicación. Para iniciar una aplicación ClickOnce, un usuario hace clic en su archivo de manifiesto de implementación.
Actualmente, ClickOnce solo se iniciará si la URL del manifiesto de implementación se abre con Internet Explorer o Edge. Si la URL de implementación se inicia desde otra aplicación, como Outlook, Word o Excel, la aplicación solo se iniciará correctamente si Internet Explorer o Edge están configurados como el navegador predeterminado. [1]
Las aplicaciones ClickOnce pueden actualizarse automáticamente. Pueden buscar versiones más nuevas a medida que estén disponibles y reemplazar automáticamente los archivos actualizados. Según el tipo de instalación, ClickOnce presenta varias opciones de actualización. Las aplicaciones se pueden configurar para buscar actualizaciones al iniciarse o después de iniciarse. ClickOnce también expone API programáticas para personalizar el comportamiento de actualización. También hay soporte para actualizaciones obligatorias, lo que garantiza que toda la base de usuarios pueda pasarse a una nueva versión de manera oportuna.
El soporte nativo para aplicaciones ClickOnce solo está disponible a través de Internet Explorer y Edge.
Con el lanzamiento de .NET Framework 3.5 con Service Pack 1, Microsoft incluyó un complemento de Firefox llamado .NET Framework Assistant que habilitaba la compatibilidad con ClickOnce en Firefox 3 y versiones posteriores. [2] La primera versión de esta extensión tenía un problema que impedía a los usuarios desinstalar el complemento de la misma manera que se desinstalan otros complementos; el botón Desinstalar correspondiente en el cuadro de diálogo Complementos estaba deshabilitado. [3] El 6 de mayo de 2009, Microsoft lanzó una actualización que solucionaba este problema y también publicó un artículo de soporte que ayudaba a los usuarios a eliminar manualmente este componente. Además, las versiones posteriores de Microsoft .NET Framework Assistant incluidas con Windows 7 y .NET Framework 4 no tenían este problema. [4]
Es posible que otros navegadores tengan extensiones de terceros disponibles que agreguen compatibilidad con ClickOnce, como ClickOnce de Menarva Ltd para Google Chrome.
El complemento Windows Presentation Foundation (WPF) para Firefox y el Asistente de .NET Framework para Firefox permiten que las aplicaciones de navegador XAML (XBAP), XAML libre y las aplicaciones ClickOnce funcionen con el navegador Mozilla Firefox. [~snip~] El Asistente de .NET Framework para Firefox permite que las aplicaciones ClickOnce independientes se ejecuten desde el navegador Firefox. El Asistente de .NET Framework para Firefox funciona de forma idéntica cuando se instala antes y después del navegador Firefox.
Problemas conocidos [~snip~] Problema 2: el asistente de .NET Framework para Firefox tiene el botón Desinstalar deshabilitado. En .NET Framework 3.5 SP1, el Asistente de .NET Framework permite a Firefox utilizar la tecnología ClickOnce que se incluye en .NET Framework. El Asistente de .NET Framework se agrega a nivel de equipo para que su funcionalidad pueda ser utilizada por todos los usuarios a nivel de equipo en lugar de a nivel de usuario. Por lo tanto, el botón Desinstalar no está disponible en el menú Complementos de Firefox porque a los usuarios estándar no se les permite desinstalar componentes a nivel de equipo.
Para resolver este problema, utilice uno de los métodos siguientes: Método 1: Descargue la actualización a .NET Framework 3.5 SP1 para el Asistente de .NET Framework 1.0 para Firefox [~snip~] Nota: Esta actualización está incluida en Windows 7 y en .NET Framework 4.0. [~snip~] Método 2: Elimine el Asistente de .NET Framework para Firefox [~snip~]