Question

Je suis en train de lancer mon application ClickOnce en utilisant le code C # avec classe HttpWebRequest. L'application peut être déployée en utilisant IE bien. Mais lorsque vous faites le déploiement avec mon code, il semble que le fichier est téléchargé .Application au client.

Mon code est comme ci-dessous.

        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();

Est-ce que je fais mal avec mon code?

Merci! - Bruce

Était-ce utile?

La solution

Je crois qu'il ya quelque chose de spécial que IE fait quand il voit un fichier .Application. Voilà pourquoi Déploie ClickOnce ne fonctionnait pas de FireFox jusqu'à .NET 3.5 SP1 ajouté un gestionnaire pour elle. Donc, ce que vous voyez serait le comportement correct - votre application est purement tirant vers le bas le fichier comme un flux d'octets -. Il ne sait pas quoi faire avec elle

Si vous voulez lancer l'application programatically, je vous suggère ceci:

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

Mise à jour

Il y a un peu plus d'informations sur toute chose ClickOnce / FireFox . Apparemment, un gestionnaire de type MIME est installé pour IE qui reconnaît le type application / -ms-application et exécute le fichier avec le programme d'installation ClickOnce. Il peut être utile de vérifier certains des anciens FireFox add-ons qui a permis à cette avant .NET 3.5 SP1 et de voir ce qu'ils ont fait pour lancer le fichier .Application programatically.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top