2010-09-16 4 views
2

У меня есть OOB app, который не требует повышенного доверия и не был подписан. Многие люди загрузили его и использовали OOB.Приложение Silverlight 4 OOB с повышенным доверием и подписанным сертификатом не обновляется? Нужно переустановить?

Мне тогда нужно было использовать повышенные функции доверия, поэтому я bought a legitimate certificate от Comodo и я теперь подписываю его. Все отлично работает на localhost - оно доверено и признает сертификат.

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

Это очень важно, поскольку многие люди его установили - есть ли какое-то ограничение на изменение подписанного повышенного доверия в отношении загрузок? Имя .xap совпадает и в том же месте. Скрипачный поиск видит новое изменение, поэтому он «соплирует проблему кеширования». Конечно, я очистил все свои кеши с CCleaner.

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

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

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

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

ответ

1

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

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

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

Итак, мне кажется, что если вы измените «Повышенный траст», вы просто выделили всех людей, которые уже установили ваше приложение.

Итак, кажется, 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, и вы можете по крайней мере общаться с ними, сообщая им, что старый мертв.

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

2

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

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

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

Надеется, что это помогает ...

Крис

+0

эй Крис! Спасибо, я нашел эту статью в конце концов - спасибо за подтверждение. Это просто похоже на действительно странный пользовательский опыт; если вы когда-либо подписываете/повышаете доверие к своему приложению, в будущем вы будете изолировать все существующие установки OOB. Лучшим способом обращения с ним было бы показать пользователю «Эта программа требует повышенного доверия - вы хотите обновить» - на следующей проверке обновления версии OOB вместо того, чтобы просто останавливаться в воде ... Я обработал ее как я упомянутый выше в пункте 2 - по крайней мере, я не потеряю всех моих пользователей, если они приложат усилия для его переустановки. – Rodney

+0

Я полностью согласен - то, как это происходит в настоящее время, означает, что вам необходимо определить необходимость повышенного доверия * перед тем, как вы сначала развернете свое приложение. Вы добавили его в качестве запроса к голосовому сайту пользователя Silverlight? –

+0

Сделали - http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/1090321-handle-changed-elevated-trust-installations-better – Rodney

0

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