Pregunta

Estoy tratando de lanzar mi aplicación ClickOnce mediante código C # con HttpWebRequest clase. La aplicación se puede implementar bien usar el IE. Pero cuando se hace el despliegue con mi código, parece que sólo el archivo .Application se descarga al cliente.

Mi código es la siguiente.

        HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create("http://localhost/test/test.application");
        getRequest.Method = "GET";
        getRequest.Timeout = 500000;                   //default is 100 seconds  

        HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse();
        string loginUrl = getResponse.ResponseUri.AbsoluteUri;
        StreamReader responseReader = new StreamReader(getResponse.GetResponseStream());
        string responseData = responseReader.ReadToEnd();
        responseReader.Close();

¿Hay algo que estoy haciendo mal con mi código?

Gracias! - Bruce

¿Fue útil?

Solución

Creo que hay algo especial que IE hace cuando ve un archivo .Application. Es por eso que se despliega ClickOnce no funcionaron desde Firefox hasta .NET 3.5 SP1 agrega un controlador para ello. Así que lo que estás viendo sería el comportamiento correcto - su aplicación es puramente tirando abajo el archivo como un flujo de bytes -. No sabe qué hacer con ella

Si usted quiere poner en marcha la aplicación mediante programación, me gustaría sugerir este lugar:

System.Diagnostics.Process.Start("http://localhost/test/test.application");

Actualizar

Hay un poco más de información acerca de todo esto ClickOnce / Firefox aquí . Al parecer, un manejador de tipo MIME está instalado para IE que reconoce el tipo de aplicación / -ms-aplicación y ejecuta el archivo con el programa de instalación de ClickOnce. Puede ser vale la pena mirar algunos de los viejos complementos de Firefox que permitió a esta antes de SP1 .NET 3.5 y ver lo que hicieron para iniciar el archivo .Application programación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top