Silverlight OOB程序签名问题
浏览器外部署Silverlight时,为了让部署到本地的Silverlight应用程序保持最新,通常需要在应用程序中添加更新检查的功能。具体实现可参见这儿。
除了文中提到的“应用程序中使用了用户尚未安装的Silverlight新版本”会造成检查更新失败外,可能还会遇到“无法更新应用程序,已安装的应用程序和更新备选程序的证书/签名状态不同。”的错误。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应用程序到本地时仍会出现“无法验证发布者。”的警告,但通过以上步骤签名后的Silverlight应用程序已经可以满足“已安装的应用程序和更新备选程序必须具有相同的证书/签名状态”的要求。
Silverlight OOB程序签名问题的更多相关文章
- Silverlight OOB 程序自动更新
Silverlight OOB 程序 提供了非常方便的自动更新功能! 要让 Silverlight OOB 安装到客户端电脑后实现自动更新,必须实现以下两个条件: 一.为 程序的 xap 文件进行签 ...
- IONIC 开发的Android应用程序签名(或重新签名)详解
完全通过DOS命令来完成apk签名 给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool.jarsigner和zipalign,下面是对这3个工具的简单介绍: ...
- Android对应用程序签名
1.首先签名是个什么东西. 应用程序签名就是为你的程序打上一种标记,来作为你自己的标识. 2.为什么要进行数字签名 这是Android系统的要求,每一个应用程序必要要经过数字签名才可能安装到系统中,能 ...
- Android应用程序签名详解 简介
转自: http://blog.csdn.net/lyq8479/article/details/6401093 本文主要讲解Android应用程序签名相关的理论知识,包括:什么是签名.为什么要给应用 ...
- 错误代码2104:无法下载Silverlight应用程序。请查看Web服务器设置
今天调试Silverlight程序,把ClientBin文件夹下的.xap文件删除后遇到这样一个问题:错误代码2104:无法下载Silverlight应用程序.请查看Web服务器设置.在网上查了一下, ...
- android利用数字证书对程序签名
签名的必要性 1. 防止你已安装的应用被恶意的第三方覆盖或替换掉. 2. 开发者的身份标识,签名可以防止抵赖等事件的发生. 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同 ...
- 【转】android应用程序签名
概述 Android系统要求,所有的程序经过数字签名后才能安装.Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系.证书不是用于用户控制哪些程序可以安装.证书不需要授权中心来 ...
- 3、Android应用程序签名及发布
一.问个问题,为何我们需要签名以及版本控制? 程序做好了,我们要放到Market上进行商业发布. 二.发布步骤 [准备发布] 1)移除log , 设置版本编号和名称. 2)签名,通过ADT工具. 3) ...
- Silverlight应用程序中调用WCF Ria Services访问数据库图片
WCF Ria Services(通常称为RIA服务),专门设计让Silverlight应用程序访问数据库,网上有关其示例应用都是基于简单的数据显示,其中MSDN网站上有详细的解决方案介绍,地址htt ...
随机推荐
- 安装并运行hadoop
本文地址:http://www.cnblogs.com/archimedes/p/run-hadoop.html,转载请注明源地址. 欢迎关注我的个人博客:www.wuyudong.com, 更多云计 ...
- 在iOS 8中使用UIAlertController
iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...
- 自定义Dialog以及Dialog返回值到Activity
步骤: 1.定义自定义的Dialog的布局文件 2.写一个类MyDialog继承Dialog 3.Dialog 返回值到Activity的方法是定义一个接口,接口中定义返回值到Activity的方法, ...
- IOS开发之SVN的使用
关于SVN的一个使用细节
- json数组和List转换
package hb; import java.util.Date; public class Person { String id; int age; String name; Date birth ...
- Node.js Web框架收集
原文地址:http://geek.csdn.net/news/detail/4020 框架列表: http://nodeframework.com/ 与其他很多语言一样,Node.js也有很多Web框 ...
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
这篇文章主要介绍了CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)的方法,需要的朋友可以参考下 文章写的不错,很详细:IDO转载自网络: 准备篇: 1.配置防火墙,开启 ...
- mmap 与 read/write
mmap与read/write两条路线对文件的访问比较 我们知道无论是通过mmap或read/write访问文件在内核中都必须经过缓存, 当需要从文件读写内容时,都经过内存拷贝的方式与内核中的缓存进行 ...
- 读书笔记——Windows环境下32位汇编语言程序设计(5)模态对话框
资源可以用VC之类的生成,然后拷贝出来. 例如:每一个MFC工程都有一个resource.h,没有做任何修改时,这个resource.h文件是原来自带的.当对资源进行过修改添加之类的时,新添加的资源的 ...
- hdu 4612 Warm up 双连通+树形dp思想
Warm up Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total S ...