Compartir a través de


Problemas de configuración de servidor y cliente en implementaciones de ClickOnce

Si usa Internet Information Services (IIS) en Windows Server y la implementación contiene un tipo de archivo que Windows no reconoce, como un archivo de Microsoft Word, IIS rechazará la transmisión de ese archivo y la implementación no se realizará correctamente.

Además, algunos servidores web y software de aplicación web, como ASP.NET, contienen una lista de archivos y tipos de archivo que no se pueden descargar. Por ejemplo, ASP.NET impide la descarga de todos los archivos Web.config. Estos archivos pueden contener información confidencial, como nombres de usuario y contraseñas.

Aunque esta restricción no debería causar problemas para descargar archivos ClickOnce principales, como manifiestos y ensamblados, sí puede impedir la descarga de archivos de datos incluidos como parte de la aplicación ClickOnce. En ASP.NET, puede resolver este error quitando el controlador que prohíbe la descarga de dichos archivos desde el administrador de configuración de IIS. Consulte la documentación del servidor IIS para obtener más información.

Algunos servidores web pueden bloquear archivos con extensiones como .dll, .config y .mdf. Las aplicaciones basadas en Windows suelen incluir archivos con algunas de estas extensiones. Si un usuario intenta ejecutar una aplicación ClickOnce que accede a un archivo bloqueado en un servidor web, se producirá un error. En lugar de desbloquear todas las extensiones de archivo, ClickOnce publica cada archivo de aplicación con una extensión de archivo .deploy de forma predeterminada. Por lo tanto, el administrador solo debe configurar el servidor web para desbloquear las tres extensiones de archivo siguientes:

  • .application

  • .manifest

  • .deploy

    Sin embargo, puede deshabilitar esta opción desactivando la opción Usar extensión de archivo ".deploy" en el cuadro de diálogo Opciones de publicación, en cuyo caso debe configurar el servidor web para desbloquear todas las extensiones de archivo usadas en la aplicación.

    Tendrá que configurar .manifest, .application y .deploy, por ejemplo, si usa IIS donde no ha instalado .NET Framework o si usa otro servidor web (por ejemplo, Apache).

ClickOnce y Capa de sockets seguros (SSL)

Una aplicación ClickOnce funcionará correctamente sobre SSL, excepto cuando Internet Explorer genera un mensaje sobre el certificado SSL. Se puede generar el mensaje cuando hay algún problema con el certificado, como cuando los nombres de sitio no coinciden o el certificado ha expirado. Para que ClickOnce funcione a través de una conexión SSL, asegúrese de que el certificado está actualizado y de que los datos del certificado coinciden con los datos del sitio.

ClickOnce y autenticación de proxy

ClickOnce proporciona compatibilidad con la autenticación de proxy integrada de Windows a partir de .NET Framework 3.5. No se requieren directivas machine.config específicas. ClickOnce no proporciona compatibilidad con otros protocolos de autenticación, como Basic o Digest.

También puede aplicar una revisión a .NET Framework 2.0 para habilitar esta característica. Para más información, consulte Error al intentar instalar una aplicación ClickOnce que creó en .NET Framework 2.0 en un equipo cliente que está configurado para usar un servidor proxy: "se requiere autenticación del proxy".

Para más información, consulte Elemento <defaultProxy> (configuración de red).

Compatibilidad con ClickOnce y el explorador web

Actualmente, las instalaciones de ClickOnce solo se iniciarán si la dirección URL al manifiesto de implementación se abre mediante Internet Explorer. Una implementación cuya dirección URL se inicia desde otra aplicación, como Microsoft Office Outlook, se iniciará correctamente solo si Internet Explorer está establecido como el explorador web predeterminado.

Nota:

Mozilla Firefox se admite si el proveedor de implementación no está en blanco o se instala la extensión Microsoft .NET Framework Assistant. Esta extensión se empaqueta con .NET Framework 3.5 SP1. Para la compatibilidad con XBAP, el complemento NPWPF se activa cuando es necesario.

Activación de aplicaciones ClickOnce a través del scripting de explorador

Si ha desarrollado una página web personalizada que inicia una aplicación ClickOnce mediante Active scripting, es posible que la aplicación no se inicie en algunas máquinas. Internet Explorer contiene una configuración denominada Pedir intervención del usuario automática para descargas de archivo, que afecta a este comportamiento. Esta configuración está disponible en la pestaña Seguridad de su menú Opciones que afecta a este comportamiento. Se denomina Pedir intervención del usuario automática para descargas de archivo y aparece debajo de la categoría Descargas. La propiedad se establece en Habilitar de forma predeterminada para las páginas web de intranet y en Deshabilitar de forma predeterminada para las páginas web de Internet. Cuando esta configuración se establece en Deshabilitar, cualquier intento de activar una aplicación ClickOnce mediante programación (por ejemplo, asignando su dirección URL a la propiedad document.location) se bloqueará. En esta circunstancia, los usuarios solo pueden iniciar aplicaciones a través de una descarga iniciada por el usuario, por ejemplo, haciendo clic en un hipervínculo establecido a la dirección URL de la aplicación.

Incidencias adicionales de configuración del servidor

Se requieren permisos de administrador

Debe tener permisos de administrador en el servidor de destino si está publicando con HTTP. IIS requiere este nivel de permisos. Si no está publicando con HTTP, solo necesita permiso de escritura en la ruta de acceso de destino.

Incidencias de autenticación del servidor

Cuando publique en un servidor remoto con la opción "Acceso anónimo" desactivada, recibirá la siguiente advertencia:

"The files could not be downloaded from http://<remoteserver>/<myapplication>/.  The remote server returned an error: (401) Unauthorized."

Nota

Puede hacer que la autenticación NTLM (desafío/respuesta NT) funcione si el sitio solicita credenciales distintas de las credenciales predeterminadas y, en el cuadro de diálogo de seguridad, haga clic en Aceptar cuando se le solicite si desea guardar las credenciales proporcionadas para futuras sesiones. Sin embargo, esta solución alternativa no funcionará para la autenticación básica.

Uso de servidores web de terceros

Si va a implementar una aplicación ClickOnce desde un servidor web distinto de IIS, puede experimentar un problema si el servidor devuelve el tipo de contenido incorrecto para los archivos ClickOnce clave, como el manifiesto de implementación y el manifiesto de aplicación. Para resolver este problema, consulte la documentación de la Ayuda del servidor web sobre cómo agregar nuevos tipos de contenido al servidor y asegúrese de que todas las asignaciones de extensiones de nombre de archivo enumeradas en la tabla siguiente están en su lugar.

Extensión de nombre de archivo Tipo de contenido
.application application/x-ms-application
.manifest application/x-ms-manifest
.deploy application/octet-stream
.msu application/octet-stream
.msp application/octet-stream

ClickOnce y unidades asignadas

Si usa Visual Studio para publicar una aplicación ClickOnce, no puede especificar una unidad asignada como ubicación de instalación. Sin embargo, puede modificar la aplicación ClickOnce para instalar desde una unidad asignada mediante el Generador de manifiestos y el Editor (Mage.exe y MageUI.exe). Para más información, consulte Mage.exe (Herramienta de generación y edición de manifiestos) y MageUI.exe (Herramienta de generación y edición de manifiestos, cliente gráfico).

No se admite el protocolo FTP para instalar aplicaciones

ClickOnce admite la instalación de aplicaciones desde cualquier servidor web HTTP 1.1 o servidor de archivos. FTP, el protocolo de transferencia de archivos, no se admite para instalar aplicaciones. Puede usar FTP solo para publicar aplicaciones. En la tabla siguiente se resumen estas diferencias:

Tipo de dirección URL Descripción
ftp:// Puede publicar una aplicación ClickOnce mediante este protocolo.
http:// Puede instalar una aplicación ClickOnce mediante este protocolo.
https:// Puede instalar una aplicación ClickOnce mediante este protocolo.
file:// Puede instalar una aplicación ClickOnce mediante este protocolo.

Firewall de Windows

De valor predeterminado, Windows habilita el Firewall de Windows. Si está desarrollando la aplicación en un equipo con Windows instalado, todavía puede publicar y ejecutar aplicaciones ClickOnce desde el servidor local que ejecuta IIS. Sin embargo, no puede acceder a ese servidor que ejecuta IIS desde otro equipo a menos que abra el Firewall de Windows. Consulte la Ayuda de Windows para obtener instrucciones sobre cómo administrar el Firewall de Windows.

Windows Server: habilitar Extensiones de servidor de FrontPage

Las Extensiones de servidor de FrontPage de Microsoft es necesario para publicar aplicaciones en un servidor web Windows que usa HTTP.

De forma predeterminada, Windows Server no tiene instaladas las Extensiones de servidor de FrontPage. Si desea usar Visual Studio para publicar en un servidor web de Windows Server que usa HTTP con Extensiones de servidor de FrontPage, primero debe instalar dichas extensiones. Puede realizar la instalación mediante la herramienta administrativa Administre su servidor en Windows Server.

Windows Server: tipos de contenido bloqueados

IIS en Windows Server 2003 bloquea todos los tipos de archivo excepto ciertos tipos de contenido conocidos (por ejemplo, .htm, .html, .txt, etc.). Para habilitar la implementación de aplicaciones ClickOnce mediante este servidor, debe cambiar la configuración de IIS para permitir la descarga de archivos de tipo .application, .manifest y cualquier otro tipo de archivo personalizado usado por la aplicación.

Si implementa mediante un servidor IIS, ejecute inetmgr.exe y agregue nuevos tipos de archivo para la página web predeterminada:

  • Para las extensiones .application y .manifest, el tipo MIME debe ser "application/x-ms-application". Para otros tipos de archivo, el tipo MIME debe ser "application/octet-stream".

  • Si crea un tipo MIME con la extensión "<em>" y el tipo MIME "application/octet-stream", permitirá descargar archivos de tipo de archivo desbloqueado. (Sin embargo, los tipos de archivo bloqueados como *.aspx y *.asmx no se pueden descargar).

    Para obtener instrucciones específicas sobre cómo configurar tipos MIME en Windows Server, consulte Cómo agregar un tipo MIME a un sitio web o una aplicación.

Asignaciones de tipos de contenido

Al publicar a través de HTTP, el tipo de contenido (también conocido como tipo MIME) para el archivo .application debe ser "application/x-ms-application". Si tiene .NET Framework 2.0 instalado en el servidor, se establecerá automáticamente. Si esto no está instalado, debe crear una asociación de tipo MIME para vroot de la aplicación ClickOnce (o todo el servidor).

Si implementa mediante un servidor IIS, ejecute inetmgr.exe y agregue un nuevo tipo de contenido de "application/x-ms-application" para la extensión .application.

Problemas de compresión HTTP

Con ClickOnce, puede realizar descargas que usan compresión HTTP, una tecnología de servidor web que usa el algoritmo GZIP para comprimir un flujo de datos antes de enviar la secuencia al cliente. En este caso (en este caso, ClickOnce) descomprime el flujo antes de leer los archivos.

Si usa IIS, puede habilitar fácilmente la compresión HTTP. Sin embargo, cuando se habilita la compresión HTTP, solo se habilita para determinados tipos de archivo, es decir, archivos HTML y de texto. Para habilitar la compresión para ensamblados (.dll), XML (.xml), manifiestos de implementación (.application) y manifiestos de aplicación (.manifest), debe agregar estos tipos de archivo a la lista de tipos para que IIS los comprima. Hasta que agregue los tipos de archivo a la implementación, solo se comprimirán los archivos HTML y de texto.

Para obtener instrucciones detalladas para IIS, consulte Cómo especificar tipos de documento adicionales para la compresión HTTP.