if (ApplicationDeployment.IsNetworkDeployed == true)

            {

                ApplicationDeployment thisDeployment = ApplicationDeployment.CurrentDeployment;

                // this.Text = "正在检测更新";

                this.txt_version.Text = thisDeployment.CurrentVersion.ToString();

                if (thisDeployment.CheckForUpdate() == true)

                {

                    thisDeployment.UpdateAsync();

                    thisDeployment.UpdateCompleted += (s, e) =>

                    {

                        if (e.Error == null)

                        {

                            MessageBox.Show("更新完毕,将要重启程序!");

                            Application.Current.Shutdown();

                            System.Windows.Forms.Application.Restart();

                        }

                        else

                        {

                            MessageBox.Show(e.Error.ToString());

                        }

                    };

                    thisDeployment.UpdateProgressChanged += (s, e) =>

                    {

                        string progressText = String.Format("{0:D}K out of {1:D}K downloaded - {2:D}% complete", e.BytesCompleted / 1024, e.BytesTotal / 1024, e.ProgressPercentage);

                        downloadStatus.Text = progressText;

                    };

                }

                else

                {

                    MessageBox.Show("并没有新的版本进行更新!");

                }

            }

            else

            {

                MessageBox.Show("这不是网络发布的程序");

            }

参考文章:

http://www.cnblogs.com/sucsy/archive/2011/09/23/2186218.html

http://www.cnblogs.com/luyu/archive/2005/12/03/289938.html

http://www.cnblogs.com/chenxizhang/archive/2009/05/22/1486736.html

ClickOnce手动更新的更多相关文章

  1. ios开发 数据库版本迁移手动更新迭代和自动更新迭代

    数据库版本迁移顾名思义就是在原有的数据库中更新数据库,数据库中的数据保持不变对表的增.删.该.查. 数据持久化存储: plist文件(属性列表) preference(偏好设置) NSKeyedArc ...

  2. ios开发数据库版本迁移手动更新迭代和自动更新迭代艺术(二)

    由于大家都热衷于对ios开发数据库版本迁移手动更新迭代和自动更新迭代艺术(一)的浏览下面我分享下我的源文件git仓库: 用法(这边我是对缓存的一些操作不需要可以省去):https://github.c ...

  3. Flash插件flashplugin-nonfree的手动更新

    Debian,nonfree库里有flashplugin-nonfree,这个就是网页浏览器的Flash插件了.不过它好像不会自动更新,每次更新网页浏览器后都会提示flashplugin版本过低.但f ...

  4. 分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验

    分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2 使用sv ...

  5. WPF: 使用CommandManager.InvalidateRequerySuggested手动更新Command状态

    WPF判断命令(Command)是否能够执行是通过ICommand.CanExecute事件,在实际程序中路由命令一般是通过CommandBinding来使命令得到实际操作代码,但是这个CanExec ...

  6. jenkins笔记:手动更新插件

    jenkins服务器连不了外网,需要手动更新插件.上https://wiki.jenkins-ci.org搜索相应的插件,下载Latest Release-最新版本的.hpi.在系统管理->插件 ...

  7. 小菜鸡deepin系统手动更新火狐浏览器

    前言 Deepin 是个好系统,让我看到国产系统的希望,也让我看到Linux桌面化和大众化的可能(如果你想抬杠:Deepin只是Linux魔改没什么好显摆的.那--你开心就好 ^ _ ^ ).虽然有一 ...

  8. android使用友盟第三方自动更新/手动更新

    最近项目用到自动更新,发现一个方便快捷的第三方组件非常好用,只需要几行代码搞定,非常适合新手使用.分享给大家一起学习. 本文档帮助您以最快速最简洁的方式集成使用自动更新组件. 一.申请友盟开发者账号创 ...

  9. ubuntu 手动更新源 以及使用sudo update与upgrade的作用及区别

    一.今天更新一下我的ubuntu系统,用了几个源发现不怎么好用 上网查了一下发现有说阿里云的源挺好用 然后我试了一下 下载速度还挺快,下面分享一下怎么手动添加源列表 1.最好先做一下备份 sudo c ...

随机推荐

  1. Java自定义注解使用和详解

    前言 我们在做开发springboot 项目时候会遇到各种各样注解,使用各种各样注解,极大的简便了我们开发流程,方式,从JDK5开始支持 注解是Java语言的一种强大的功能 可以理解为代码上的特殊标记 ...

  2. python中两种拷贝目录方法的比较

    首先是用python自己的api: shutil.copytree('./build/tested/doc', './build/tested/build/doc') 优点是改变平台时不需要修改代码, ...

  3. A Telnet Client Using Expect

    The following expect script achieves a simple telnet client: login -> send command -> exit. Th ...

  4. linux联网、远程

    使用VMware虚拟机创建linux系统CentOS 7,连接网络以及远程Moba工具. 一.首先安装好VMware虚拟机和CentOS系统,网上很多教程,不在赘述. 二.打开VMware进行配置 1 ...

  5. WooYun虚拟机的搭建及配置方法

    "当时代需要时,他们勇敢地站了出来.当潮水褪去时,他们等待新的使命.他们等待被抛弃或者被怀念,等待这个世界告诉他们善恶和对错." 记录一下复活乌云的过程. 第一步:虚拟机下载 网上 ...

  6. MATLAB—二维函数可视化

    本文主要总结一下MATLAB的一些常用二维绘图指令. 文章目录 一.plot绘图指令 1.离散数据点形设置值 2.连续线型设置值 3.颜色设置值 4.常用属性和属性值 5.例题 二.subplot绘图 ...

  7. docker 安装部署 redis(配置文件启动)

    获取 redis 镜像 docker pull redis:4.0.12 docker images 创建容器 创建宿主机 redis 容器的数据和配置文件目录 # 创建宿主机 redis 容器的数据 ...

  8. 并发容器之ConcurrentHashMap

    JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能.因为同步容器将所有对容器状态的访问都 串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低 ...

  9. Mac Ideal 常用快捷键

    智能提示 ⌘ -> command ⇧ -> shift ⌥ -> option -> 上箭头 -> 下箭头 ⌃ -> Control mac的option键  = ...

  10. 关于ByteArrayInputStream和ByteArrayOutputStream

    package stream.byte_; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; imp ...