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

Actualización: noviembre 2007

Si utiliza Internet Information Services (IIS) en Windows Server 2003 y la implementación contiene un tipo de archivo que Windows no reconoce, como un archivo de Microsoft Word, IIS no transmitirá dicho archivo y no se podrá completar la implementación.

Además, algunos servidores web y software de aplicaciones web, como ASP.NET, contienen una lista de archivos y tipos de archivo que no puede descargar. Por ejemplo, ASP.NET evita 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 básicos de ClickOnce, como manifiestos y ensamblados, puede impedir la descarga de los archivos de datos incluidos como parte de la aplicación ClickOnce. En ASP.NET, puede resolver este error quitando el controlador que impide la descarga de esos archivos del administrador de configuración de IIS. Consulte la documentación del servidor IIS para obtener información más detallada.

Algunos servidores Web podrían bloquear los archivos con extensiones como .dll, .config y .mdf. Las aplicaciones basadas en Windows normalmente incluyen archivos con algunas de estas extensiones. Si el usuario intenta ejecutar una aplicación ClickOnce que tiene acceso 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 de manera predeterminada con la extensión de archivo ".deploy". Por consiguiente, el administrador sólo necesita configurar el servidor Web para desbloquear las tres extensiones de archivo siguientes:

  • .application

  • .manifest

  • .deploy

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

Por ejemplo, tendrá que configurar .manifest, .application y .deploy si está utilizando IIS donde no se haya instalado .NET Framework, o si está utilizando otro servidor web (por ejemplo, Apache).

ClickOnce y Capa de sockets seguros (SSL)

Una aplicación ClickOnce funcionará eficazmente con SSL, excepto cuando Internet Explorer envía un mensaje acerca del certificado SSL. El mensaje puede aparecer cuando el certificado contiene un error, como cuando los nombres de los sitios no coinciden o el certificado ha caducado. Para que ClickOnce funcione con una conexión SSL, asegúrese de que el certificado esté actualizado y que sus datos coincidan con los datos del sitio.

ClickOnce y autorización del proxy

ClickOnce proporciona compatibilidad para la autenticación proxy de Windows integrada. No se requiere ninguna directiva machine.config concreta. ClickOnce no proporciona compatibilidad para otros protocolos de autenticación como básica o implícita.

Para obtener más información, vea <defaultProxy> (Elemento, Configuración de red).

ClickOnce y compatibilidad con el explorador web

Actualmente, las instalaciones de ClickOnce sólo se inician si la dirección URL del manifiesto de implementación se abre mediante Internet Explorer. Una implementación cuya dirección URL se inicia de otra aplicación, como Microsoft Office Outlook, sólo se iniciará correctamente si se establece Internet Explorer como explorador web predeterminado.

Nota:

También se admite Mozilla Firefox, pero sólo si el proveedor de implementación no está en blanco y se instala el complemento de ClickOnce para Firefox.

Activar las aplicaciones ClickOnce a través de secuencias de comandos del explorador

Si ha desarrollado una página web personalizada que inicia una aplicación ClickOnce mediante scripting activos, es posible que la aplicación no se inicie en algunos equipos. Internet Explorer contiene una configuración denominada Preguntar automáticamente si se debe descargar un archivo, que afecta a este comportamiento. Este valor está disponible en la ficha Seguridad del menú Opciones que afecta a este comportamiento. Se denomina Preguntar automáticamente para descargas de archivo y se encuentra en la categoría Descargas. La propiedad se establece de forma predeterminada en Habilitar para las páginas Web de la intranet y en Deshabilitar para las páginas Web de Internet. Cuando este valor es Deshabilitar, se bloqueará cualquier intento de activar una aplicación ClickOnce mediante programación (por ejemplo, asignando su dirección URL a la propiedad document.location). En estas circunstancias, los usuarios pueden iniciar las aplicaciones únicamente a través de una descarga iniciada por el usuario, por ejemplo, haciendo clic en un hipervínculo establecido en la dirección URL de la aplicación.

Problemas adicionales de configuración del servidor

Se requieren permisos de administrador

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

Problemas de autenticación de servidor

Al publicar en un servidor remoto con "Acceso anónimo" desactivado, recibirá la advertencia siguiente:

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

La autenticación NTLM (desafío/respuesta de NT) funcionará si el sitio solicita credenciales distintas de las predeterminadas y, en el cuadro de diálogo de seguridad, hace clic en Aceptar si desea guardar las credenciales proporcionadas para futuras sesiones. Sin embargo, esta misma solución no funcionará para la autenticación básica.

Usar servidores Web de terceros

Si está implementando una aplicación ClickOnce desde un servidor web distinto de IIS, puede que surjan problemas 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 extensión de nombre de archivo que se muestran en la siguiente tabla 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

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 la instalación de aplicaciones. Puede utilizar FTP para sólo publicar aplicaciones. La tabla siguiente proporciona un resumen de estas diferencias.

Tipo de 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.

SP2 de Windows XP: Firewall de Windows

De manera predeterminada, SP2 de Windows XP habilita el Firewall de Windows. Si está desarrollando su aplicación en un equipo con Windows XP instalado, todavía puede publicar y ejecutar las aplicaciones ClickOnce desde el servidor local que esté ejecutando IIS. Sin embargo, no puede obtener acceso al servidor que está ejecutando IIS desde otro equipo, a menos que abra el Firewall de Windows. Vea en la Ayuda de Windows las instrucciones para administrar Windows Firewall.

Windows Server 2003: Habilitar las Extensiones de servidor de FrontPage

Se requieren las Extensiones de servidor de Microsoft FrontPage 2002 para publicar aplicaciones en un servidor Web de Windows que utiliza HTTP.

De forma predeterminada, Windows Server 2003 no tiene instaladas las Extensiones de servidor de FrontPage 2002. Si desea utilizar Visual Studio para publicar en un servidor web de Windows Server 2003 que utilice HTTP con las Extensiones de servidor de FrontPage 2002, deberá instalar primero las Extensiones de servidor de FrontPage 2002. Puede realizar la instalación mediante la herramienta de administración Administre su servidor de Windows Server 2003.

Windows Server 2003: tipos de contenido bloqueados

IIS en Windows Server 2003 bloquea todos los tipos de archivo salvo algunos tipos de contenido conocidos (por ejemplo, .htm, .html, .txt, entre otros). Para habilitar la implementación de aplicaciones ClickOnce mediante este servidor, hay que cambiar la configuración de IIS para permitir la descarga de archivos de tipo .application, .manifest y cualquier otro tipo de archivo personalizado utilizado 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:

  • En el caso de 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 extensión "*" y el tipo MIME es "application/octet-stream", podrá descargar archivos de tipo de archivo desbloqueado. (Sin embargo, no se pueden descargar tipos de archivo bloqueados como .aspx y .asmx.)

Para obtener instrucciones concretas sobre la configuración de tipos MIME en Windows Server 2003, consulte el artículo de Microsoft Knowledge Base KB326965, "IIS 6.0 no sirve tipos desconocidos MIME" en https://support.microsoft.com/default.aspx?scid=kb;es-es;326965.

Asignaciones de tipo de contenido

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

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, podrá realizar descargas que utilicen la compresión HTTP, una tecnología de servidor web que utiliza el algoritmo GZIP para comprimir una secuencia de datos antes de enviársela al cliente. El cliente, en este caso ClickOnce, descomprime la secuencia antes de leer los archivos.

Si está utilizando IIS, podrá habilitar la compresión HTTP con facilidad. No obstante, cuando se habilita la compresión HTTP, sólo se habilita para determinados tipos de archivo, concretamente archivos HTML y archivos de texto. Para habilitar la compresión de 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 de IIS que se pueden comprimir. Hasta que agregue los tipos de archivo a la implementación, sólo se comprimirán archivos HTML y archivos de texto.

Para obtener instrucciones detalladas para IIS, consulte el artículo "How to Specify Additional Document Types for HTTP Compression" en MSDN Online Knowledge Base (en la página de búsqueda de Knowledge Base, busque "234497").

Vea también

Conceptos

Solucionar problemas en implementaciones ClickOnce

Información general sobre la implementación de ClickOnce

Elegir una estrategia de implementación de ClickOnce

Requisitos previos para la implementación de aplicaciones