浏览器外部署Silverlight更新检查失败的原因及对策
瀏覽器外部署Silverlight時,為了讓部署到本地的Silverlight應用程序保持最新,通常需要在應用程序中添加更新檢查的功能。具體實現可參見這兒。
除了文中提到的“應用程序中使用了用戶尚未安裝的Silverlight新版本”會造成檢查更新失敗外,可能還會遇到“無法更新應用程序,已安裝的應用程序和更新備選程序的證書/簽名狀態不同?!钡腻e誤。Silverlight的安全機制要求已安裝的應用程序和更新備選程序必須具有相同的證書/簽名狀態,如果未對XAP包進行簽名,則不能滿足該要求。因此,如果準備在正式環境中(本機開發環境中一般是遇不到的)實現Silverlight應用程序瀏覽器外部署時的更新檢查,必須對XAP包進行簽名。
如果能申請正式的數字證書當然是最好的解決方案,如果只是在企業內部或小范圍內應用,也可以采用自制證書對XAP包進行簽名,步驟如下:
1、使用makecert建立自制的數字簽名:
makecert -r -pe -ss Privatecertstore -n "CN=MyName" MyCert.cer如果出現“ ‘makecert’不是內部或外部命令... ”的提示,是因為makecert所在的路徑未加入到系統環境變量Path中,利用Visual Studio Command Prompt可以避免這個問題。
2、利用上一步生成的證書對XAP包進行簽名:
signtool sign /v /s Privatecertstore /n MyName MyApp.xap由于證書是自制的且未添加到受信任區域,安裝Silverlight應用程序到本地時仍會出現“無法驗證發布者?!钡木?#xff0c;但通過以上步驟簽名后的Silverlight應用程序已經可以滿足“已安裝的應用程序和更新備選程序必須具有相同的證書/簽名狀態”的要求。
轉載于:https://www.cnblogs.com/chinadhf/archive/2011/10/09/2203983.html
總結
以上是生活随笔為你收集整理的浏览器外部署Silverlight更新检查失败的原因及对策的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 河北承德木兰围场(承德木兰围场自驾游)
- 下一篇: 2017年html5行业报告,云适配发布