.NET ClickOnce обнаружение в IE 11 Edge Render / Spartan в Windows 10

2936
MikeBaz - MSFT

У меня есть веб-страница, которая является страницей перед запуском приложения .NET ClickOnce. Он пытается определить, доступна ли поддержка ClickOnce в браузере пользователя. Прямо сейчас мы проверяем, используя все следующие способы:

  1. Пользовательский агент - это работает во многих старых случаях
  2. navigator.mimeTypes["application/x-ms-application"] - это работает в некоторых случаях FF и Chrome
  3. Request.ServerVariables["HTTP_X_CLICKONCESUPPORT"] - это работает для более свежих версий IE

Тем не менее, ни один из них не работает для IE 11 в режиме Edge или в Spartan в Windows 10 Technical Preview. Каков правильный способ сделать это в этой конфигурации? Есть ли правильный способ?

Я должен добавить, что ClickOnce в целом (это приложение .NET 4.x) работает нормально. Это даже работает на спартанском языке. Я просто не могу подтвердить это для пользователя.

-1
Вы подтвердили, что ClickOnce в других версиях предварительного просмотра поддерживается в других случаях? Я надеюсь, что вы не зависите от многих часов, пытаясь поддержать предварительную версию операционной системы, которая даже не будет использовать IE11, если не настроена для этого. Какую сборку вы используете? Ramhound 9 лет назад 0
Да, ClickOnce работает отлично. Он даже работает в IE 11 (я должен добавить, что это в режиме рендеринга Edge; если вы используете движок Trident, это нормально). Так как Spartan = IE 11 Edge, у него точно такая же проблема. Я уточню вопрос, чтобы прояснить это. И мы все равно должны поддерживать IE 11 из-за корпоративных пользователей. MikeBaz - MSFT 9 лет назад 0
Спартанец не равен IE. IE11 Edge - вариант сегодня, но он не будет выпущен. Если вы хотите поддерживать IE11, отключите Edge на IE11 Ramhound 9 лет назад 0
Неразумно просить клиентов сделать это, и это совершенно не важно. Спартанский движок - это движок IE 11 Edge (см. Http://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview- build.aspx), и мы должны иметь возможность поддерживать этот движок, что является первоначальным вопросом. MikeBaz - MSFT 9 лет назад 0
Вы спрашиваете о проблеме с бета-версией программного обеспечения в браузере, которая изменится в будущей сборке предварительной версии Windows. Windows 10 будет содержать два браузера Project Spartan и IE11, которые останутся без изменений. Вы связались со старой недействительной статьей о IE и Spartan. Вы на самом деле пытались отключить режим Edge в IE11? Вам придется подождать, пока Click Once не поддержит режим Edge. Ramhound 9 лет назад 0
Да, отключение режима Edge работает. И Click Once поддерживает режим Edge. Как я уже сказал, приложение работает, 100%, в не-Edge и Edge-режиме. Статья не "старая и недействительная" - она ​​актуальна и точна. Ничто из этого не имеет ничего общего с ответом на актуальный вопрос о том, как обнаружить Click Once. MikeBaz - MSFT 9 лет назад 0
Это связано с вашей проблемой. Вы сказали, что IE11 находится в пограничном режиме, выйдет Windows 10, IE11 НЕ будет поддерживать пограничный режим. Он будет поддерживать только унаследованный режим, опция включения пограничного режима в IE11 будет удалена к моменту выхода Windows 10. Возможно, я не понимаю, что не работает, потому что вы утверждали, что единственное время, когда ваше обнаружение НЕ работает, это когда вы используете Project Spartan или IE11 в режиме Edge. Статья с января, описание режима Edge не является точным, прочитайте более свежую статью о режиме Edge. Ramhound 9 лет назад 0
Эта [статья] (http://blogs.msdn.com/b/ie/archive/2015/03/24/updates-from-the-project-spartan-developer-workshop.aspx) точна, как вы видите Edge режим не будет поддерживаться в IE11, Project Spartan - это ** НЕ ** IE11, а Project Spartan НЕ будет иметь поддержку устаревшего режима. Поэтому детали, которые касаются Project Spartan и IE11 в Windows 10, важны, поскольку ваш вопрос касается обнаружения Click Once с обоими этими браузерами, поэтому точные текущие планы важны. Почему вы не можете просто определить, находится ли браузер в пограничном режиме, и, поскольку вы уже знаете, что он поддерживает его, перейдите в форму. Ramhound 9 лет назад 0
Предполагая, что Edge поддерживает Click Once, это, вероятно, разумный ответ. Если вы сделаете это ответом, тогда я приму это. MikeBaz - MSFT 9 лет назад 0
Хм, для ясности ... краевой режим в IE11 не совпадает с краевым режимом в спартанском ... больше, чем краевой режим в IE10 не отличается от граничного режима в IE9. Термин «режим края» был введен вместе с «режимом документа» в IE8. Это относится к «поддержке высочайших стандартов». Кроме того, механизм рендеринга Spartan является форком движка IE Trident. Можно ожидать различий между спартанским граничным режимом и граничным режимом IE11.x, во многом так же, как сегодняшний краевой режим IE11 отличается от того, который был при первоначальном выпуске IE11. Пожалуйста, не думайте, что браузеры будут такими же. Lance Leonard 9 лет назад 0
Для ясности: сейчас, на 10049, они почти одинаковы - http://blogs.msdn.com/b/ie/archive/2015/03/30/quot-project-spartan-quot-in-the-windows -technical-preview-build-10049.aspx говорит нам об этом (комментарий указывает, что они немного отличаются) и соответствует предыдущей ссылке, которую я отправил. _В будущем_ их не будет. Мне нужно поддержать 10049 сегодня. В какой-то момент в настоящее время не определено, IE потеряет возможность опционально использовать новый движок. MikeBaz - MSFT 9 лет назад 0

1 ответ на вопрос

0
Ramhound

Так как ваше обнаружение работает с IE11. Он также работает с альтернативными браузерами, отличными от Project Spartan.

Можно предположить, что, поскольку Project Spartan поддерживает Click Once, эта конкретная поддержка обнаружения Click Once на самом деле не требуется. Вместо того, чтобы пытаться определить, поддерживает ли Project Spartan Click Once, проверьте, указывает ли пользовательский агент, что Project Spartan используется.

Для полноты картины: предполагается, что пользователь не может отключить ClickOnce в .NET 4 с помощью обычных действий в Windows 10, что, как представляется, имеет место. Если бы приложение было на .NET 2.0 / 3.5, это было бы проблемой, так как это можно добавить / удалить как функцию в Windows 10. MikeBaz - MSFT 9 лет назад 0
@MikeBaz - даже если вы использовали предыдущую версию .NET, которая в то время не была родной версией в Windows 10, и пользователь не установил эту функцию Windows, вы можете обрабатывать ее, как любой другой агент, для которого поддерживается Неизвестный. Конечно, поскольку Spartan будет предлагать очень небольшую «устаревшую» поддержку, маловероятно, что предыдущая версия Click Once даже будет работать в нем [у меня нет возможности проверить себя]. Ramhound 9 лет назад 0

Похожие вопросы