一起谈.NET技术,Silverlight实例教程 - Out of Browser在线更新和Silent安装

简介:   Silverlight 实例教程索引Silverlight 实例教程 - Out of Browser开篇Silverlight 实例教程 - Out of Browser配置,安装和卸载Silverlight 实例教程 - Out of Browser的自定义应用Silverligh...

  Silverlight 实例教程索引

  通过前几篇的学习和实践,相信大家可以很轻松的创建个性化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检测是否有新版本允许下载。

 1  private   void  OnCheckAndDownloadUpdateCompleted( object  sender, CheckAndDownloadUpdateCompletedEventArgs e)
 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的构造函数中,使其在安装时进行版本更新检查:

 1  public  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安装命令格式,从上面的命令中可以看出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功能相似。

  使用方法:

" C:\Program Files\Microsoft Silverlight\sllauncher.exe "   
/ emulate: " C:\SilverlightOOBDemo\SilverlightOOBDemo.xap "   
/ origin:http: // localhost: 29162 / ClientBin / SilverlightOOBDemo.xap 
/ overwrite   

  /uninstall,该命令参数允许开发人员通过命令的方式卸载Silverlight OOB应用。其使用方法:

" C:\Program Files\Microsoft Silverlight\sllauncher.exe "   
/ 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应用。

目录
相关文章
|
监控 Cloud Native 测试技术
.NET技术深度解析:现代企业级开发指南
每日激励:“不要一直责怪过去的自己,他曾经站在雾里也很迷茫”。我是蒋星熠Jaxonic,一名在代码宇宙中探索的极客旅人。从.NET Framework到.NET 8,我深耕跨平台、高性能、云原生开发,践行领域驱动设计与微服务架构,用代码书写技术诗篇。分享架构演进、性能优化与AI融合前沿,助力开发者在二进制星河中逐光前行。关注我,共探技术无限可能!
.NET技术深度解析:现代企业级开发指南
|
SQL 小程序 API
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
739 0
|
开发框架 算法 .NET
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
383 6
|
开发框架 Cloud Native .NET
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
433 6
|
机器学习/深度学习 人工智能 Cloud Native
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台。本文深入解析 .NET 的核心优势,探讨其在企业级应用、Web 开发及移动应用等领域的应用案例,并展望未来在人工智能、云原生等方面的发展趋势。
561 3
|
敏捷开发 缓存 中间件
.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素
本文深入探讨了.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素,并通过企业级应用和Web应用开发的实践案例,展示了如何在实际项目中应用这些模式,旨在为开发者提供有益的参考和指导。
281 3
|
开发框架 安全 Java
.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力
本文深入探讨了.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力。.NET不仅支持跨平台开发,具备出色的安全性和稳定性,还能与多种技术无缝集成,为企业级应用提供全面支持。
683 3