.NET ClickOnce-Erkennung auf dem IE 11 Edge Render / Spartan unter Windows 10

3153
MikeBaz - MSFT

Ich habe eine Webseite, die eine Pre-Launch-Seite für eine .NET-ClickOnce-Anwendung ist. Es wird versucht festzustellen, ob die ClickOnce-Unterstützung im Browser des Benutzers verfügbar ist. Im Moment prüfen wir die folgenden Möglichkeiten:

  1. Benutzeragent - dies funktioniert in vielen älteren Fällen
  2. navigator.mimeTypes["application/x-ms-application"] - Dies funktioniert in einigen Fällen von FF und Chrome
  3. Request.ServerVariables["HTTP_X_CLICKONCESUPPORT"] - Dies funktioniert für neuere IE-Versionen

Keine davon funktioniert jedoch für IE 11 im Edge-Modus oder in Spartan unter Windows 10 Technical Preview. Was ist ein gültiger Weg, dies in dieser Konfiguration zu tun? Gibt es einen gültigen Weg?

Ich sollte hinzufügen, dass ClickOnce im Allgemeinen (es ist eine .NET 4.x-App) gut funktioniert. Es funktioniert sogar auf Spartanisch. Ich scheine das einfach nicht für den Benutzer zu bestätigen.

-1
Haben Sie bestätigt, dass ClickOnce in der aktuellen Vorschau-Version ansonsten unterstützt wird? Ich hoffe, dass Sie nicht von vielen Stunden abhängig sind, wenn Sie versuchen, eine Vorschau-Version eines Betriebssystems zu unterstützen, das nicht einmal IE11 verwendet, sofern es nicht dafür konfiguriert ist. Welchen Build verwendest du? Ramhound vor 9 Jahren 0
Ja, ClickOnce funktioniert gut. Es funktioniert sogar in IE 11 (ich sollte hinzufügen, dass dies im Edge-Rendering-Modus ist; wenn Sie die Trident-Engine verwenden, ist das in Ordnung). Seit Spartan = IE 11 Edge hat es genau das gleiche Problem. Ich werde die Frage aktualisieren, um dies klar zu stellen. Und wir müssen IE 11 wegen Firmenanwendern sowieso unterstützen. MikeBaz - MSFT vor 9 Jahren 0
Spartan ist nicht gleich IE. IE11 Edge ist heute eine Option, wird jedoch nicht veröffentlicht. Wenn Sie IE11 unterstützen möchten, deaktivieren Sie Edge auf IE11 Ramhound vor 9 Jahren 0
Es ist nicht vernünftig, Kunden dazu aufzufordern, und das ist völlig außer Frage der Frage. Die spartanische Engine ist die IE 11 Edge-Engine (vgl. Http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview- build.aspx) und wir müssen diese Engine unterstützen können. Dies ist die ursprüngliche Frage. MikeBaz - MSFT vor 9 Jahren 0
Sie fragen nach einem Problem mit der Betasoftware in einem Browser, das sich in einem zukünftigen Build einer Vorschauversion von Windows ändern wird. Windows 10 enthält die beiden Browser Project Spartan und IE11, die unverändert bleiben. Sie haben auf einen alten ungültigen Artikel über IE und Spartan verlinkt. Haben Sie tatsächlich versucht, den Edge-Modus in IE11 auszuschalten? Sie müssen warten, bis Click Once den Kantenmodus unterstützt. Ramhound vor 9 Jahren 0
Ja, der Edge-Modus kann deaktiviert werden. Und Click Once unterstützt den Edge-Modus. Wie gesagt, die Anwendung funktioniert zu 100% im Non-Edge- und Edge-Modus. Der Artikel ist nicht "alt und ungültig" - er ist aktuell und genau. Das alles hat nichts mit der Beantwortung der tatsächlichen Frage zu tun, wie Click Once erkannt wird. MikeBaz - MSFT vor 9 Jahren 0
Es hat alles mit Ihrem Problem zu tun. Sie sagten, dass sich der IE11 im Edge-Modus befindet. Ab Version 10 von Windows 10 wird der IE11 den Edge-Modus NICHT unterstützen. Es wird nur der Legacy-Modus unterstützt. Die Option zum Aktivieren des Edge-Modus innerhalb des IE11 wird bis zur Veröffentlichung von Windows 10 entfernt. Vielleicht verstehe ich nicht, was nicht funktioniert, weil Sie behaupteten, dass die Erkennung nur dann NICHT funktioniert, wenn Sie entweder Project Spartan oder IE11 im Edge-Modus verwenden. Der Artikel stammt aus dem Januar, die Beschreibung des Kantenmodus ist nicht genau. Lesen Sie den neueren Artikel über den Kantenmodus. Ramhound vor 9 Jahren 0
Dieser [Artikel] (http://blogs.msdn.com/b/ie/archive/2015/03/24/updates-von-the-project-spartan-developer-workshop.aspx) ist genau, da Sie Edge sehen können Der Modus wird in IE11 nicht unterstützt, Project Spartan ist ** NOT ** IE11, und Project Spartan hat KEINE Unterstützung für Legacy-Modus. Daher sind Details, die Project Spartan und IE11 unter Windows 10 umgeben, wichtig, da Ihre Frage die Click-Once-Erkennung mit diesen beiden Browsern betrifft. Daher sind die genauen aktuellen Pläne wichtig. Warum können Sie nicht einfach feststellen, ob sich der Browser im Edge-Modus befindet, und da Sie bereits wissen, dass er den Browser unterstützt, fahren Sie dort fort. Ramhound vor 9 Jahren 0
Angenommen, Edge unterstützt Click Once ist wahrscheinlich eine vernünftige Antwort. Wenn Sie es zu einer Antwort machen, akzeptiere ich es. MikeBaz - MSFT vor 9 Jahren 0
Um für Klarheit ... Der Kantenmodus in IE11 ist nicht der gleiche wie der Kantenmodus in Spartan ... mehr als der Kantenmodus in IE10 ist der gleiche wie der Kantenmodus in IE9. Der Begriff "Kantenmodus" wurde zusammen mit "Dokumentenmodus" in IE8 eingeführt. Es bezieht sich auf die Unterstützung "höchster Standards". Die spartanische Rendering-Engine ist auch eine Abzweigung der IE Trident-Engine. Sie können Unterschiede zwischen dem spartanischen Kantenmodus und dem IE11.x-Kantenmodus erwarten, ähnlich wie der heutige IE11-Kantenmodus sich von dem unterscheidet, als IE11 ursprünglich veröffentlicht wurde. Bitte gehen Sie nicht davon aus, dass die Browser gleich sind. Lance Leonard vor 9 Jahren 0
Der Klarheit halber: Im Moment bei 10049 sind sie fast gleich - http://blogs.msdn.com/b/ie/archive/2015/03/30/quot-project-partan-quot-in-the-windows -technical-preview-build-10049.aspx sagt uns dies (Kommentar weist darauf hin, dass sie etwas anders sind) und stimmt mit dem vorherigen Link überein, den ich ebenfalls gesendet habe. In der Zukunft werden sie es nicht sein. Ich muss heute 10049 unterstützen. Zu einem momentan unbestimmten Zeitpunkt wird der IE die Möglichkeit verlieren, die neue Engine optional zu verwenden. MikeBaz - MSFT vor 9 Jahren 0

1 Antwort auf die Frage

0
Ramhound

Da funktioniert Ihre Erkennung mit IE11. Es funktioniert auch mit anderen Browsern als Project Spartan.

Man kann davon ausgehen, dass, da Project Spartan Click Once unterstützt, die spezifische Unterstützung der Click Once-Erkennung nicht unbedingt erforderlich ist. Anstatt herauszufinden, ob Project Spartan die Option "Einmal klicken" unterstützt, prüfen Sie, ob der Benutzeragent angibt, dass der Project Spartan verwendet wird

Der Vollständigkeit halber gilt: Dies setzt voraus, dass der Benutzer ClickOnce in .NET 4 nicht durch normale Aktionen in Windows 10 deaktivieren kann. Dies scheint der Fall zu sein. Wenn sich die App unter .NET 2.0 / 3.5 befand, wäre dies ein Problem, da diese Funktion in Windows 10 als Feature hinzugefügt / entfernt werden kann. MikeBaz - MSFT vor 9 Jahren 0
@MikeBaz - Selbst wenn Sie eine frühere Version von .NET verwendet haben, die zu diesem Zeitpunkt noch nicht die ursprüngliche Version von Windows 10 war, und der Benutzer das Windows-Feature nicht installiert hatte, können Sie es wie jeder andere Agent behandeln, bei dem die Unterstützung möglich ist nicht bekannt. Da Spartan nur sehr wenig "alte" Unterstützung anbieten wird, wäre es unwahrscheinlich, dass eine vorherige Version von Click Once darin sogar funktionieren würde [ich habe keine Möglichkeit, mich selbst zu überprüfen]. Ramhound vor 9 Jahren 0