winform软件版本更新问题,如何在卸载旧版程序的时候保留配置文件和数据文件

txgaozhao 2009-08-06 12:12:47
最近用winform做了一个个人财务软件,目前遇到了一个问题
因为软件要持续的完善更新,用户在安装新版本时要删除旧版本。
请问如何在卸载旧版本的时候,不删除程序的配置文件和数据文件?
这样我只要更新程序部分就可以了,用户也不会丢失以前的数据了
请问项目打包的时候如何实现这个需求?
...全文
547 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzuomin 2009-08-07
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
自定义卸载事件,指定要卸载文件
txgaozhao 2009-08-07
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 littlegang 的回复:]
打包的内容中不要包含配置文件等需要保留的文件
这样卸载时这些文件是不会被删除掉的
[/Quote]
=======================================
那这些文件怎么在安装的时候添加啊?
littlegang 2009-08-07
  • 打赏
  • 举报
回复
如果你是用vs2005里面自带的安装程序 做的包的话
littlegang 2009-08-07
  • 打赏
  • 举报
回复
打包的内容中不要包含配置文件等需要保留的文件
这样卸载时这些文件是不会被删除掉的
txgaozhao 2009-08-07
  • 打赏
  • 举报
回复
继续努力学习
wuyq11 2009-08-06
  • 打赏
  • 举报
回复
通过web services查询软件版本实现软件升级
替换相关文件
不卸载,直接替换文件参考
lovvver 2009-08-06
  • 打赏
  • 举报
回复
不过一般来讲,自动更新的程序要和你的软件主程序分开。
Snowdust 2009-08-06
  • 打赏
  • 举报
回复
打包的时候不包含用户数据的文件,用户数据用程序去控制,也就是说在程序中读写。
lovvver 2009-08-06
  • 打赏
  • 举报
回复
那最好就不要重新安装,在你的软件上增加一个自动更新/手动更新的功能,来下载更新的dll或其他文件就好了。
txgaozhao 2009-08-06
  • 打赏
  • 举报
回复
我以前都是做asp.net的,最近刚转过来,我该怎么样努力才能最快的掌握呢
迈克揉索芙特 2009-08-06
  • 打赏
  • 举报
回复
看看ClickOnce方面的文章,很简单的。
lovvver 2009-08-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 txgaozhao 的回复:]
那最好就不要重新安装,在你的软件上增加一个自动更新/手动更新的功能,来下载更新的dll或其他文件就好了。
-----------------------------------------
怎么增加呢?

[/Quote]

你在你的webservice中提供一个DownLoad的方法,用于更新服务器上某目录(支持配置到web.config)的文件到客户端。
然后你写一个updater.exe,来调这个webservice的download方法,当然这里面你要过滤掉已经存在的文件信息,那么你就要获取文件的时间戳来检查两个文件是否一致。
客户端在启动的时候,先启动updater。exe,先更新文件,再启动软件程序。如果软件已经启动,或者说在软件内部点更新,那么你需要把更新文件下载下来放在临时文件夹(软件已启动,dll无法覆盖),然后提示重新启动,并且做文件覆盖(包括重新启动都可以重新用一个process来做)。
txgaozhao 2009-08-06
  • 打赏
  • 举报
回复
顶一下
txgaozhao 2009-08-06
  • 打赏
  • 举报
回复
那最好就不要重新安装,在你的软件上增加一个自动更新/手动更新的功能,来下载更新的dll或其他文件就好了。
-----------------------------------------
怎么增加呢?

打包的时候不包含用户数据的文件,用户数据用程序去控制,也就是说在程序中读写。
---------------------
具体怎么控制,一般用什么方案

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧