Silverlight 浏览器外运行及更新判断

Silverlight 起初的版本也是和Flash 一样只能在浏览器中运行,宿主在浏览器当中,从Silverlight 3 版本以后添加了可以脱离浏览器运行的功能,程序可以下载到本地离线去运行,通过快捷方式就可以打开Silverlight程序,这个功能非常的“Cool”,很新颖和时代性。

如果像实现脱离浏览器运行也非常的容易(这也是微软产品的共性,很多人还说微软的东西不灵活,其实这是技术实力的证明,而且扩展性考虑的非常好。)

右键Silverlight 项目->属性 打开项目属性窗口,如下图,然后选中红色框的复选框,注意XAP缓存和浏览器外运行是冲突的

当我们配置好了参数,项目文件夹下面的AppManifest.xml文件会记录这些配置s

通过代码来提示安装本地应用

private void InstallApp()
       {
           switch (Application.Current.InstallState)
           {
               case InstallState.Installed:
                   MessageBox.Show("应用程序已经安装");
                   break;
               case InstallState.InstallFailed:
                   MessageBox.Show("安装失败");
                   break;
               case InstallState.Installing:
                   MessageBox.Show("正在安装中");
                   break;
               case InstallState.NotInstalled:
                   Application.Current.Install(); //安装到本地                   
           
break; } }

检查更新

Application app = App.Current;
        public SC_App_CheckUpdate()
        {
            InitializeComponent();
            AddEvent();
        }

        //创建更新应用的事件
void AddEvent() { app.CheckAndDownloadUpdateCompleted += new CheckAndDownloadUpdateCompletedEventHandler (Current_CheckAndDownloadUpdateCompleted); //开始更新 app.CheckAndDownloadUpdateAsync(); } //更新完成
void Current_CheckAndDownloadUpdateCompleted(object sender , CheckAndDownloadUpdateCompletedEventArgs e) { if (e.UpdateAvailable) { MessageBox.Show("发现新版本,是否更新?“); } else if (e.Error != null && e.Error is PlatformNotSupportedException) { MessageBox.Show("更新失败!”)
} else { MessageBox.Show("没有新版本!"); } }

原文出处:http://www.cnblogs.com/finehappy/archive/2010/02/17/1668981.html
posted @ 2013-05-02 14:53  @大龙哥  阅读(388)  评论(0编辑  收藏  举报