• winform复制文件带进度条和制作安装包(转)


    原链接:http://www.cnblogs.com/yingpp/archive/2009/02/10/1387429.html

    最近做了一个winform程序,遇到程序更新的问题。【升级包】:简单的文件复制。此功能将程序中指定的文件复制到安装目录下达到升级程序,即简单的文件COPY,在网上有很多在线升级的功能。思路很清晰,但是内容有点点多,由于本人水平低,就用了一个比较笨的办法。

    贴上源代码:

    Code

     文件COPY的核心代码:

    addFile(string directory, string targetPath)中,其中要注意的是:进度条,需要用异步处理,通过事件委托执行,

     Application.DoEvents();【注释:处理当前在消息队列中所有的Window消息】这句代码是关键,如果无,则,再输出提示语句【this.label2.Text = "正在更新:" + fileName + " 已完成" + string.Format("{0:p}", (double)this.progressBar1.Value / this.progressBar1.Maximum);】的时候,虽然进度条一直再变化,但是label2.text 的值,一直到进度条执行完了,才显示。


     

    源码下载:

    /Files/yingpp/Updater.rar

    源码中有还有个安装包的制作:

    下面讲安装包中应该注意的事项:

    1,在解决方案下添加新项,选择:安装项目【安装向导也可以的】

    如图:

     2,选中新建安装项目,点右键,添加 项目输出:

    如图:

    添加 主输出、本地化资源、内容文件等即可!

    3,再次选择安装项目,右键,视图,-->文件系统

    可以创建文件夹,上传文件,

    创建桌面快捷方式:

    用户桌面-->添加-->项目输出

    然后 选择刚才添加的项目主输出,右键,创建快捷方式,设置属性即可

    注意:WorkingFolder 设置为 应用程序文件夹

    如图:

    设置安装项目的属性:

    RemovePreviousVersions设置为 True,在安装的时候,会先删除以前的版本。

    根据以上步骤,编译生成。然后安装 即完成安装包的制作。

  • 相关阅读:
    必须转载 PHP & memcached 太精彩了,看一遍就能入门
    SYSID 来指定当前system
    How to increase the JES2 spool size
    JOBPARM SYSAFF的用处
    使用多Volume来创建一个dataset
    如何解决db2nodes.cfg line number “1”, Reason code “10”
    epdf macro to remove comments
    如何停止重复的job
    mysql数值类型
    (九)solr实现autocomplete功能
  • 原文地址:https://www.cnblogs.com/glacier/p/1423674.html
Copyright © 2020-2023  润新知