Приложение Silverlight 4 OOB с повышенным доверием и подписанным сертификатом не обновляется? Нужно переустановить? - PullRequest
2 голосов
/ 16 сентября 2010

У меня есть OOB-приложение , которое не требовало повышенного доверия и не было подписано.Многие люди скачали его и использовали OOB.

Затем мне понадобилось использовать функции повышенного доверия, поэтому я купил законный сертификат у Comodo и теперь я его подписываю.На localhost все отлично работает - он является доверенным и распознает сертификат.

Однако, как только я загрузил новую версию мою существующую установку OOB (которая была старым неподписанным приложением без повышенных доверия)) не выполнял обычную «проверку и обновление новой версии».

Это очень важно, поскольку многие установили его - есть ли ограничения при переходе на подписанное, повышенное доверие в отношении загрузок?Имя .xap такое же и в том же месте.Поиск Fiddler видит новое изменение, так что это не проблема кеширования.Я очистил все свои кеши с помощью CCleaner, чтобы быть уверенным.

Я удалил старое приложение OOB на другом компьютере, и подписанный сертификат работает нормально при установке (т. Е. Я получаю приятное сообщение об установке «доверенного издателя»), поэтомуэто не проблема подписания.Вы можете видеть это в прямом эфире здесь (Я оставлю новую версию, так как нет никакого вреда - старые пользователи просто не узнают об этом!)

Я считаю, что это как-то связаноизменение уровня повышенного доверия?

Обновление : я провел еще одно тестирование: я удалил значение повышенного доверия и снова загрузил его.Старый, который не обновлялся, затем обновлялся DID, а новый (повышенное доверие + подписанный) на другом компьютере НЕ обновлялся.Похоже, что процесс обновления не может обработать изменение уровня доверия, независимо от того, подписано оно или нет.Это БОЛЬШАЯ проблема со всеми пользователями, которые застряли на старой версии и никогда ее не знают.

Другая проблема заключается в том, что НОВОЕ подписанное приложение считает, что приложение установлено на моем компьютере (старая неподписанная).тот, который не обновляется) и, следовательно, не будет отображать опцию установки.И очень немногие пользователи будут знать, как удалить и переустановить его, если они даже зашли на сайт, чтобы проверить.Это действительно серьезная ошибка, если это так.

Ответы [ 3 ]

2 голосов
/ 25 сентября 2010

К сожалению, ваши пользователи должны будут удалить и переустановить приложение. Это не ошибка как таковая (я не верю), но больше в дизайне. Если вы посмотрите на эту статью на MSDN: http://msdn.microsoft.com/en-us/library/dd550721(VS.95).aspx,, вы увидите, что она гласит:

Silverlight 4 обеспечивает поддержку запуска приложений вне браузера с повышенным доверием. Доверенные приложения не могут использовать механизм обновления, описанный в этом разделе, если только приложение и обновление не подписаны одним и тем же действительным сертификатом для подписи кода. Чтобы обновить доверенное приложение, которое не имеет действительной подписи, пользователи должны удалить старую версию и установить новую версию вручную.

В последнем предложении (в обходном порядке) более или менее указывается, что пользователям с неподписанным приложением потребуется удалить приложение, а затем установить приложение с повышенным доверием для его обновления. Я прочитал что-то, в котором это было сказано более точно, но не могу вспомнить, где это было извините: (.

Надеюсь, это поможет ...

Chris

1 голос
/ 18 сентября 2010

После получения ответа / лидов, к сожалению, я пришел к выводу, что это ошибка в SL4.

Я предполагаю, что, поскольку приложение теперь требует подтверждения пользовательского интерфейса для подтверждения повышенного доверия, нет никакого способадля существующего ненадежного приложения для обработки этого пользовательского интерфейса при обновлении, поэтому оно просто не загружает его.

По какой-то причине удаление повышенного доверия имеет ту же проблему (доверенные приложения OOB не обновляют не повышенныеобновление доверия тоже, что еще более странно).

Итак, суть в том, что если вы измените Elevated Trust, вы только что изолировали всех людей, которые уже установили ваше приложение.

Итак, кажется, есть 2 варианта:

  1. Просто обновите приложение и положитесь на блоги и т. Д., Чтобы сообщить им, что им нужно удалить его и переустановить.Это отстой, потому что они не знают, что существует известная версия и могут использовать старую версию еще 10 лет, не зная.Плюс, если они переходят на онлайн-версию, он думает, что она уже установлена, поэтому не буду предлагать меню «Установка» снова, пока вы не удалите старую версию - очень грязно!Я думаю, что именно по этому пути Тим Хойер пошел с подписанным приложением Facebook - http://timheuer.com/blog/archive/2010/04/15/silverlight-client-for-facebook-updated-for-silverlight-4-release.aspx

  2. Переименуйте файл .XAP и запустите новый проект для него.Сделайте так, чтобы в старом файле .xap было сообщение «Есть новая версия» с инструкциями / ссылками для удаления и переустановки.Затем, если они просматривают новую, не удалив старую, она все равно будет установлена, так как это другое имя XAP, и вы можете по крайней мере связаться с ними, сказав, что старая мертва.

Любые другие предложения?!

0 голосов
/ 26 февраля 2013

Хороший способ исправить тех пользователей, которым необходимо выполнить обновление, - это предоставить им небольшое приложение для автоматического обновления. Используя эту статью: Установите Silverlight-out-of-browser Таким образом, конечные пользователи просто скачают маленький exe-файл, который удалит «ненадежный», а затем переустановят с новым.

...