ClickOnce部署(2):自动更新
上次我们说了如何用最基本的方式用ClickOnce技术部署应用程序项目,本篇我们来认识一下如何让应用程序具备自动更新的功能。
我们依然通过实例来学习。
第一步,随便建一个应用程序项目,至于是控制台、WPF还是WinForm就随意吧,我们的重点发布应用程序。比如这样:
为了更好的演示,我们可以在窗口上显示当前发布的版本号。我这里是一个WinForm项目,故我就用一个Label控件来显示当前发布版本。
注意,这里的版本号是ClickOnce发布的版本号,不是程序集的版本号。所以要使用ApplicationDeployment类(位于System.Deployment.Application命名空间,在程序集System.Deployment.dll中,如果没有引用,就引用吧)。通过静态属性CurrentDeployment可以得到一个与当前部署的应用程序有关的ApplicationDeployment对象。然后从ApplicationDeployment的CurrentVersion属性中就能得到当前版本号。代码如下,至于写在哪个地方,你自己想想吧,这是很基础的事了。
using System.Deployment.Application;
……
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 获取当前部署
ApplicationDeployment appd = ApplicationDeployment.CurrentDeployment;
// 取得版本号
this.lblVer.Text = appd.CurrentVersion.ToString();
}
}
好,OK,现在我们可以发布该应用程序了,因为我们要让它能够自动更新,一来我们要发布到IIS或其他服务器上,记得以管理员身份运行VS,不然发布不上去;另外,要开启检查更新功能,上一节中说过,操作也很简单。
在项目属性窗口中,切换到"发布"选项卡,单击"更新…"按钮,启用检查更新即可,至于如何更新,按照默认就可以了,没有必要去改了。
然后确定,这样就算配置好了。然后发布到服务器上。
第二步,通过浏览器输入地址,安装并运行应用程序,如下图所示,注意现在的版本是1.0.0.0。
第三步,关闭应用程序,回到VS,我们把刚才的程序改一下,来模拟升级。比如我在窗口上再加一个按钮,如下图。
第四步,同样,打开项目属性中的"发布"选项卡,再发布一次。
我们看到修订版本号变成1了。
然后直击点击下面的"立即发布"按钮即可。
第五步,发布成功后,从"开始"中再次运行刚才安装的应用程序,会看到提示更新的对话框。
点击确定,就会自动下载并安装更新。这时候我们看到版本号是1.0.0.1了。
相关文章
- 如何在 Linux 环境下配置 Nagios Remote Plugin Executor (NRPE)
- 来了!攻击者利用Shellshock漏洞入侵邮件服务器
- Storm-源码分析- Disruptor在storm中的使用
- 【云周刊】第119期:运维/DevOps在线技术峰会:文章、PDF+回顾视频!
- Storm-源码分析-LocalState (backtype.storm.utils)
- 【云周刊】第120期:麒麟来了!PUE逼近1.0,阿里展示液冷黑科技
- 在 Linux 中加密邮件
- Storm-源码分析- Messaging (backtype.storm.messaging)
- Storm-源码分析-Topology Submit-Worker
- Storm-源码分析-Streaming Grouping (backtype.storm.daemon.executor)
- 在基于RedHat与Debian的系统上安装Wine 最新的开发版本
- Storm-源码分析-Topology Submit-Task-TopologyContext (backtype.storm.task)
- Linux日志文件总管——logrotate
- Storm-源码分析-Stats (backtype.storm.stats)
- Linux 有问必答:在Linux桌面上创建视频DVD
- Storm-源码分析- metric
- 终端中的乐趣:6个有趣的Linux命令行工具
- Storm-源码分析- hook (backtype.storm.hooks)
- Storm-源码分析- spout (backtype.storm.spout)
- Storm-源码分析- bolt (backtype.storm.task)