首页 新闻 会员 周边

winform 自动升级

0
悬赏园豆:200 [已关闭问题]

我用smartclient software factory 做了一个模块化的winform的程序, 想要实现像firefox一样的自动更新功能。

1. 需要有下载-> 升级-> 重启 这几个步骤

2. 支持模块的升级(有时候只是一个模块有了新版本而已,不需要更新所有的 DLL。)

3. 升级数据库的时候不要覆盖access数据库文件以及licence。

4. 文件完毕升级以后, 要运行一个sql脚本来升级数据库。

It is already a problem to send clients improved versions of PE. What we need is a Forefox style Check for Updates feature (Auto or Manual) with download and installation as a simple click.
This is already supported by OneClick but that is too simplistic. However MS has an Update block for this.

This task is to implement auto updates for PE with the following features:

  1. Manual Only for now.
  2. Seemless download, update and restart sequence.
  3. Consideration made for future improvements to handle multiple modules in RWEB6 (but does not need support in this version).
  4. Database and license to be preserved of course!
  5. Provision for running an update script after first launch to make any required database changes and migrations.

 

 

我本来想要用ClickOnce的,但是ClickOnce安装过程不可以选择安装目录,也就是说不可以安装到C:\programe files 文件夹。安装向导也简单不能做提供界面给用户做一些设置(比如选择数据库等等)。

 

我看了看这个http://sourceforge.net/projects/csautoupdater/, 好像也不太好。还有那个微软的Updater Application Block 也太老了,而且看了看帖子也说这个不好。

有没有什么现成的东东可以支持上面说说的? 可以用XML 描述部署的模块的版本信息,然后用webserverce 与最新版本做比较。下载-> 升级->重启。

 

或者给一些建议也可以,实在不行就自己写了。但是还是希望有开源现成做好的可以用,毕竟自己写可能会有很多方面自己会疏忽掉。

 

所有分都给你们了,希望有经验的人能够帮帮我。

Yang Ching的主页 Yang Ching | 初学一级 | 园豆:40
提问于:2009-02-06 19:38
< >
分享
其他回答(2)
0

用注册表里的版本号与网上的版本号对比,如果不一样提示用户更新,这个更新过程呢,还不成熟,懒的去搞了,就是把新版本安装文件给下下来,新版本安装的时候会把旧版本的数据都导过来,安装完成后把旧版本自动卸载。

 

反正不管好不好,让用户升了级是关键,呵呵

404-error | 园豆:265 (菜鸟二级) | 2009-02-07 15:09
0

oh mark

Jared.Nie | 园豆:1940 (小虾三级) | 2009-02-07 16:30
0
Code
Code
Code

 

laaaaaa | 园豆:241 (菜鸟二级) | 2009-02-11 11:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册