Silverlight实例教程 - Out of Browser在线更新和Silent安装
通过前几篇的学习和实践,相信大家可以很轻松的创建个性化Silverlight Out of Browser应用。上周,在银光中国网论坛有人问到对于Silverlight Out of Browser应用,如何进行在线更新?这篇将针对该问题,介绍一下Silverlight的Out of Browser应用如何进行在线更新的,另外,我们将介绍Silverlight 4中提供的一个新的Out of Browser应用安装方式。
首先说说Silverlight Out of Browser应用在线更新
在本系列开篇的时候,我们已经介绍,Silverlight Out of Browser和Silverlight Web应用有一些不同,Silverlight Web当更新了服务器端的XAP文件后,用户在重新载入时,会自动更新XAP文件到本地临时目录。而Silverlight Out of Browser应用的自动更新是通过调用CheckAndDownloadUpdateAsync方法和Application.CheckAndDownloadUpdateCompleted实现的,在判断UpdateAvailable属性为True时,说明一个新版本已经被发现和成功下载,相反则是False。如果在检测中发现异常,则可以通过Error属性查看异常实例信息。
按照常规方法,我们都会在应用启动时进行更新检测,所以,我们需要将代码添加到App.xaml的构造函数中,
首先创建OnCheckAndDownloadUpdateCompleted检测是否有新版本允许下载,
2 {
3 if (e.UpdateAvailable && e.Error == null)
4 {
5 MessageBox.Show("应用新版本已经下载成功,将在下次启动时生效。");
6 }
7 else if (e.Error != null)
8 {
9 MessageBox.Show("在检测应用更新时, 在"
10 + "出现以下错误信息:"
11 + Environment.NewLine
12 + Environment.NewLine
13 + e.Error.Message);
14 }
15 }
然后,添加声明在App的构造函数中,使其在安装时进行版本更新检查,
2 {
3 if (App.Current.InstallState == InstallState.Installed)
4 {
5 App.Current.CheckAndDownloadUpdateCompleted += OnCheckAndDownloadUpdateCompleted;
6 App.Current.CheckAndDownloadUpdateAsync();
7 }
8
9 this.Startup += this.Application_Startup;
10 this.Exit += this.Application_Exit;
11 this.UnhandledException += this.Application_UnhandledException;
12
13 InitializeComponent();
14 }
这样,在Silverlight OOB应用启动时,将检测是否是否有新版本下载,如果有则会自动更新,在下次启动应用时生效。
这里需要说明的是,Silverlight Out of Browser的自动更新,需要在信任应用(Trusted Application)下才能正常执行,否则将返回权限异常错误。
Silverlight Out of Browser的Silent安装模式
我们在Silverlight实例教程 - Out of Browser配置,安装和卸载中讨论过Silverlight OOB应用安装的两种方式,这里,我们将介绍Silverlight 4中新推出的一种安装方式,叫做Silent安装。这种安装方式是使用命令的方式安装Silverlight OOB应用到本地,该方式不会在客户端显示任何窗口提示信息,悄然的把应用安装到本地。通常,一些开发人员习惯该安装方式应用于一个BAT批处理文件中,让非专业用户简单的安装和使用其应用程序。其实这种安装方式,也就是将XAP文件安装到本地。
大家还记得开篇时介绍sllauncher.exe命令么"C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" 1359404922.localhost,我们使用sllauncher命令执行本地XAP文件,当我们添加/install参数时,即可实现silent安装OOB应用。
先看看具体的silent安装命令格式:
/install:"C:\SilverlightOOBDemo\SilverlightOOBDemo.xap"
/origin:http://localhost:29162/ClientBin/SilverlightOOBDemo.xap
/shortcut:desktop+startmenu
/overwrite
从上面的命令中可以看出sllauncher添加部分参数后,实现不同的功能操作,例如
/install:“XAP文件目的路径”,这个参数是允许开发人员自定义XAP文件安装路径,可以是本地磁盘,也可以是网络路径。这个参数是silent安装模式必需的参数。
/origin:"XAP文件源路径",这个参数是设置XAP文件的源URL,其目的是为了自动更新而设。作为官方推荐设置该参数,保证其应用自动更新。
/shortcut:desktop+startmenu,从字面意思就可以看出,这个参数是创建应用快捷方式的,desktop+startmenu为在桌面和开始菜单都创建该应用快捷方式,如果只想创建桌面快捷方式,使用/shortcut:desktop即可,创建开始菜单快捷方式与之同理。
/overwrite,这个选项是确认当前安装XAP文件是否覆盖已经安装过的XAP文件,通常来说,我们都会设置覆盖,这样保持应用为最新版本。
根据以上解释,可以对照看出上面silent安装命令的意思,运行sllauncher,安装SilverlightOOBDemo.xap到本地,源更新地址为http://localhost:29162/ClientBin/SilverlightOOBDemo.xap,创建桌面和开始菜单快捷方式,并且覆盖原有版本。
另外我们再介绍两个常用sllauncher命令参数:
/emulate:“XAP文件目的路径”,该命令参数允许安装OOB应用后,自动运行该应用,就像现在很多软件自带的autorun功能相似。
使用方法:
/emulate:"C:\SilverlightOOBDemo\SilverlightOOBDemo.xap"
/origin:http://localhost:29162/ClientBin/SilverlightOOBDemo.xap
/overwrite
/uninstall,该命令参数允许开发人员通过命令的方式卸载Silverlight OOB应用。其使用方法:
/uninstall
/origin:http://localhost:29162/ClientBin/SilverlightOOBDemo.xap
看到这里,我想大家应该有一些明白了,无论是安装还是运行Silverlight OOB应用都和sllauncher命令有关,
安装时,使用/install参数,
运行时,使用默认"C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" 1359404922.localhost,
卸载时,使用/uninstall参数。
这个就是Silverlight 4中Out of Browser应用特性之一,Silent Install。
写到这里,Silverlight 4 Out of Browser实例系列也应该结束了,在该系列中,我们结合着实际例程学习了Silverlight Out of Browser的基础知识以及开发技巧。
在以后的时间里,希望大家能够勤于动手,多实践,开发出更多个性化的Silverlight Out of Browser应用。
欢迎大家加入"专注Silverlight" 技术讨论群:
Silverlight实例教程 - Out of Browser在线更新和Silent安装相关推荐
- 一起谈.NET技术,Silverlight实例教程 - Out of Browser的Debug和Notifications窗口
Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇 Silverlight 实例教程 - Out of Browser配置,安装和卸载 Sil ...
- Silverlight实例教程 - Out of Browser开篇
众所周知,学习一门IT技术,最关键的是实践,无论是软件开发还是网络调试,只要在真实环境下勤于动手和思考,很快就能掌握一门技术,Silverlight也不例外.为了帮助更多朋友快速学习掌握Silverl ...
- Silverlight实例教程 - Out of Browser的自定义应用
在上两篇教程中,讲述了Silverlight的Out of Browser理论知识和基础实践.本节将讲述如何创建自定义的Out of Browser应用以及如何调试Silverlight的Out of ...
- Silverlight实例教程 - Out of Browser的Debug和Notifications窗口
熟悉Silverlight的朋友应该知道,Silverlight从1.0版本到现在的4.0版本,其功能性越来越强大,从下图我们可以看出,Silverlight的应用模型的一个转变过程,从Javascr ...
- Silverlight实例教程 - Validation数据验证开篇
Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...
- Silverlight实例教程 - Navigation导航框架系列汇总
Silverlight实例教程导航框架系列,结合实例讲述Silverlight导航开发基础,该教程不仅仅适用于Silverlight,而且可以被应用于Windows Phone开发领域. 文章列表: ...
- Silverlight实例教程 - Validation验证系列汇总
转自http://www.cnblogs.com/jv9/archive/2010/09/27/1836394.html Silverlight Validation验证系列教程,详细讲解Silver ...
- Silverlight实例教程 - 理解Navigation导航框架Frame类
通过"Navigation导航框架开篇"的介绍,可以了解到Silverlight导航框架可被应用于多种场合,最为常见的是实现Silverlight项目内部页面切换.在Silverl ...
- Silverlight实例教程 – Datagrid,Dataform数据验证和ValidationSummary
上一篇,我们讨论了,捕获用户提交数据验证.本篇将集中讨论Datagrid和Dataform两个数据控件的数据验证方法,其中,我们会附加介绍一个新的验证控件ValidationSummary. 概述 D ...
最新文章
- 进行将多张CAD图纸转换成高清WMF格式的操作是什么?
- 基础知识 一个工具给win7 win10的同学 或者MAC 可以跳过
- python爬取分页数据
- 三维重建13X:一些算法试题-今日头条AI-Lab
- 带你初窥谷歌TV的硬软之秘
- 掀开图片显示介绍的css效果
- mongodb安装及可视化工具robomongo安装
- 他是浙大 19 岁大一新生,三个月斩获 WWDC 19 奖学金!
- Vue的批量更新原理
- 利用OpenSSL创建自签名的SSL证书备忘
- HaDoop安装配置笔记
- 三菱PLC编程软件Work2的FB块加密后的解密方法
- sql server 2008 新建服务器注册,SQL Server 2008中不能注册服务器怎么回事
- 鬼谷八荒先天气运修改器
- 微信图片怎么添加竖排文字_微信图文排版怎么在图片上加文字?
- 产品经理的主要工作职责
- 迪斯尼计算机动画,迪斯尼经典动画的十大运动规律
- bilibili 哔哩哔哩 2018秋招试题
- 棒球·飞盘·MLB棒球创造营
- PMP 易错题汇总(二)
热门文章
- cocos2d-x-3.2 lua命名空间前缀
- 实现跨浏览器的HTML5占位符
- 学点 C 语言(19): 数据类型 - 数组
- matlab 最小二乘法拟合_机器学习十大经典算法之最小二乘法
- Linux Kernel TCP/IP Stack — Overview
- C 语言编程 — 结构化程序流的汇编代码与 CPU 指令集
- Ceph 的用户管理与认证
- Openstack_通用技术_RPC 远程异步调用
- 红帽虚拟化RHEV-PXE批量安装RHEV-H
- COGS 2353 2355 2356 2358 有标号的DAG计数