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,在安装的时候,会先删除以前的版本。

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

 

posted @ 2009-03-27 22:49  freezing  阅读(639)  评论(0编辑  收藏  举报