好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

开源的.NET桌面程序自动更新组件 ——Sharp Updater 2.1发布

开源的.NET桌面程序自动更新组件 ——Sharp Updater 2.1发布

开源的.NET桌面程序自动更新组件 ——Sharp Updater 2.1发布

 SharpUpdater是一个基于.net Framework,将自动更新功能添加到您的windows桌面程序的引导程序。从2.0版本起,它也是一个解决方案,增加了一个示例服务端,提供了一组API供开发人员扩展。

 

一、工作原理

 

    Updater.exe 从服务端下载最新版本的发布清单配置文件,同本地发布清单进行比较,如果发现本地版本落后,则从服务端下载差异文件,覆盖到本地, 然后启动主程序。

 

二、服务端配置

 

    以IIS7.5为例

    1、新建一个IIS站点。

    2、禁用*.dll程序处理映射,以允许dll文件下载。

         

   3、在此站点下创建桌面程序子目录,如~/demo/。

 

三、客户端配置

 

      1、包括或引用SharpUpdater.Util.dll/Updater.exe,如果需要用到zip格式更新包,还需要包括ICSharpcode.SharpZipLib.dll/CnSharp.ZipUtil.dll

    
    2、主程序入口增加对Updater的互操作代码

      

 private   static   void  Main( string  [] args)
    {
              if  (args.Length ==  0  )
            {
                Process.Start(  "  updater.exe  "  );
                Application.Exit();
                  return  ;
            }
              if  (!args[ 0 ].StartsWith( "  ok  "  ))
            {
                Application.Exit();
                  return  ;
            }
 
 
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(  false  );
            Application.Run(  new   Form1());
        } 

 

四、打包发布

 

    1、SharpPack

         SharpPack是一个VS2010扩展,用于生成WinForm程序并发布清单

 

右击WinForm项目,选择Package and Publish命令

        

设置Assembly版本号


挑选需要发布的文件,填写Release List相关字段

    

2、将bin目录下生成的ReleaseList.xml和1.0.0.0文件夹上传到服务端的~/Demo/下

 

 

 

五、可扩展性

 

1、Updater的扩展

    1)实现 CnSharp.Windows.Updater.Util.UpdateProxy.IUpdateProxy

      在SharpUpdater的源代码中,我们没有实现此接口,参见CnSharp.Windows.Updater/Common.cs/Ln.14。因此默认情况下只显示待更新版本当前版本的更新日志;假设用户从V1.0升级到V1.4,则只能看到V1.4的更新日志,看不到V1.1~V1.3的。开发人员可自行实现它。

    2)SharpUpdater源码基于MIT协议,你可以自由修改。

 

2、SharpPack的扩展

     1)基类:  CnSharp.Windows.Updater.SharpPack.Connect

          提供了一组protected virtual方法,你可以重写它们自定义UI或操作。

     2)接口: IVersionControl

         此接口帮助你签出 AssemblyInfo.cs 以修改版本号。默认实现了TFS,你可以自行实现其他版本控制工具如SVN。

 

六、开源

 

http://sharpupdater.codeplex.com/

 

作者: CnSharp.com

出处: http://www.cnblogs.com/cnsharp/

本文版权归CnSharp.com和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

 

分类:  Open Source ,  Windows Forms

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于开源的.NET桌面程序自动更新组件 ——Sharp Updater 2.1发布的详细内容...

  阅读:66次