Compartir a través de


Problemas de configuración del servidor y del 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 se negará a transmitir ese archivo y la implementación no se realizará correctamente.

Además, algunos servidores web y software de aplicaciones 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 debe causar problemas para descargar archivos ClickOnce principales, como manifiestos y ensamblados, esta restricción puede impedir que descargue 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, .configy .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 todos los archivos de aplicación con una extensión de archivo .deploy de forma predeterminada. Por lo tanto, el administrador solo necesita configurar el servidor web para desbloquear las tres extensiones de archivo siguientes:

  • .application

  • .manifiesto

  • .desplegar

    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 e .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 a través de SSL, excepto cuando el explorador genere 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á up-to-date y de que los datos del certificado coinciden con los datos del sitio.

Autenticación de proxy y ClickOnce

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 actualización a .NET Framework 2.0 para habilitar esta característica. Para obtener más información, vea FIX: Mensaje de error al intentar instalar una aplicación ClickOnce que creó en .NET Framework 2.0 en un equipo cliente configurado para usar un servidor proxy: "Se requiere autenticación de proxy".

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

Compatibilidad de ClickOnce y explorador web

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

Nota:

Mozilla Firefox es compatible si el proveedor de implementación no está vacío o la extensión del Asistente de Microsoft .NET Framework está instalada. 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 mediante 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. El explorador contiene una configuración como solicitud automática de descargas de archivos, lo que afecta a este comportamiento. Esta configuración del explorador suele aparecer debajo de la categoría Descargas y está habilitada de forma predeterminada. Cuando esta configuración está deshabilitada, cualquier intento de activar una aplicación ClickOnce mediante programación (por ejemplo, mediante la asignación de su dirección URL a la document.location propiedad) 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 en la dirección URL de la aplicación.

Problemas adicionales de configuración del servidor

Permisos de administrador necesarios

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

Problemas de autenticación del servidor

Cuando publique en un servidor remoto que tenga desactivado "Acceso anónimo", 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 (NT challenge-response) 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 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 obtener más información, vea 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 Description
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.
archivo:// Puede instalar una aplicación ClickOnce mediante este protocolo.

Firewall de Windows

De forma predeterminada, Windows habilita el Firewall de Windows. Si va a desarrollar la aplicación en un equipo que tiene 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 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 son necesarias para publicar aplicaciones en un servidor web de Windows que use 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 use HTTP con extensiones de servidor de FrontPage, primero debe instalar extensiones de servidor de FrontPage. Puede realizar la instalación mediante la herramienta Administrar la administración del servidor en Windows Server.

Windows Server: tipos de contenido bloqueados

IIS en Windows Server 2003 bloquea todos los tipos de archivo, excepto para determinados tipos de contenido conocidos (por ejemplo, .htm, .html, .txt, etc.). Para habilitar la implementación de aplicaciones ClickOnce con 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 que use 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, vea Cómo agregar un tipo MIME a un sitio web o una aplicación.

Asignaciones de tipos de contenido

Al publicar en 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 el 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. El cliente, en este caso, ClickOnce, descomprime la secuencia 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 está habilitado 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 se comprima. Hasta que agregue los tipos de archivo a la implementación, solo se comprimirán los archivos HTML y texto.

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