2010-08-04 19 views
7

Así que he desarrollado mi aplicación en C#. Estoy listo para implementarlo. Quiero que los usuarios siempre lo inicien desde mi sitio web (para que siempre obtengan actualizaciones, no se instalen, etc.).C# Despliegue de mi aplicación - haga clic solo desde la web

¿Es ClickOnce la forma correcta de hacerlo?

He intentado desplegar ClickOnce a mi servidor y algunas cosas que saltan a mí:

1) El usuario tiene la opción de ejecutar una instalación o iniciar el archivo .Application - ¿cuál es la diferencia? ¿No puede detectar esto por sí mismo?

2) Cuando intento "iniciar" la aplicación, solicita descargarla a mi computadora. De todos modos, para iniciar el archivo directamente desde el navegador?

3) Después de descargar y ejecutar el archivo .application recibo un mensaje de error con el siguiente mensaje: "Implementación y aplicación no tienen zonas de seguridad coincidentes".

Respuesta

9

Sí, ClickOnce se adapta perfectamente a sus necesidades.

  1. El setup.exe, o "programa previo" como se le llama, se utiliza para instalar los requisitos previos tales como el .NET Framework y Microsoft instalador, ya que es el marco .NET que contiene el tiempo de ejecución de ClickOnce, que es necesaria para instala tu aplicación El programa de arranque debe usarse solo una vez y solo en equipos que no tienen esos requisitos previos, después de eso, solo el archivo .application, llamado "manifiesto de implementación", se usa para las actualizaciones. Cuando publica utilizando ClickOnce, se crea un archivo Publish.htm, que contiene algún código JavaScript que detecta si el usuario tiene los requisitos previos instalados. Si el usuario no lo hace, presenta un botón que enlaza con setup.exe, de lo contrario, presenta un botón que enlaza directamente con el archivo .application. Puede usar esa página (o crear una basada en ella) para ofrecer la experiencia de instalación más corta posible para sus usuarios.

  2. O bien el .NET Framework no está instalado en el ordenador del cliente (en este caso, utilice el programa previo), o su servidor web no está configurado correctamente, y por lo tanto no asociar la extensión .application con el tipo MIME del application/x-ms-application . Crea esa asociación para resolver el problema. También recomiendo agregar algunos encabezados http para deshabilitar el caché en el manifiesto de implementación; de lo contrario, el navegador del usuario puede almacenarlo en caché y podría provocar que el usuario pierda actualizaciones.

  3. No puede descargar y ejecutar el archivo de manifiesto de implementación localmente para una instalación ClickOnce publicada en una ubicación web, ya que ClickOnce otorga un nivel de confianza mayor a la instalación local (como la computadora local o un recurso compartido de red). pero el manifiesto de la aplicación apunta a un origen de instalación en la web, que tiene un nivel de confianza inferior y, por lo tanto, falla. Una vez que resuelva el problema 2, este problema también se resolverá.

+0

Excelentes respuestas. Algunas preguntas más: 1) ¿Debo vincular a los usuarios con el archivo de instalación o el archivo .application? 2) Se inicia correctamente en IE pero no en Firefox. En Firefox, solicita descargar el archivo. ¿Es este un problema de configuración de tipo MIME? Cualquier consejo sobre eso (servidor Linux/Apache) –

+0

@whydna: ¡Gracias! 1. Edité la respuesta para hablar sobre 'Publish.htm', 2. La instalación de una aplicación ClickOnce de Firefox requiere un complemento, como el [provisto por Microsoft] (http://windowsclient.net/wpf/wpf35). /wpf-deploying-clickonce-ie-firefox.aspx) con .NET Framework 3.5 ** SP1 **, o un complemento de terceros, como [FFClickOnce] (https://addons.mozilla.org/en -US/firefox/addon/1608 /). –

+0

¿Cuáles son mis opciones con Firefox/Chrome/cualquier otro navegador? Además, no parece detectar si el usuario ha ejecutado la configuración como mencionó en su publicación. Simplemente presenta 2 enlaces y le pide al usuario que lo resuelva. Ejemplo: http://www.kirupafx.com/clickonce/publish.htm –

Cuestiones relacionadas