验证下载过程

时间:2010-01-27 13:26:25

标签: c# deployment

“在客户端计算机上更新新版应用程序的想法”

我使用WCF从DB服务器读取二进制数据,创建包含内容的zip文件,解压缩文件并更新我们的应用程序bin文件夹。

我想验证过程,如果一切正常,则更新bin或回滚旧文件。

有人能让我知道验证这个过程吗?

我们有任何支票总额的想法..

2 个答案:

答案 0 :(得分:1)

如果您使用SharpZipLib来扩充zip文件,那么ZipFile对象上会有一个TestArchive方法,它会对存档进行完整性检查,并告诉您它是否有效。

否则,您可以使用MD5对远程文件进行校验和,并将其与下载的文件进行比较,以查看内容是否相同。

答案 1 :(得分:0)

在服务器/网站上存储最新版本的在线项目。例如:在version.txt中,值为“2.1.0”,或者如果您也有访问权限,则查询数据库。

在客户端上运行的应用程序将定期读取version.txt文件的内容,然后与内置(自我)版本号进行比较。

  • 如果检测到补丁或次要版本,例如2.1.123,则会悄悄地旋转第二个应用程序(updater.exe)
    • 进行升级,
    • 它将从server / web下载更新的(首选压缩)项目。
    • 停止所有正在运行的实例。
    • 解压缩内容。
    • 备份现有文件(重命名)
    • 复制/安装新版本的项目,
    • 启动应用程序(成功重启应用程序后,它将删除自己的备份文件)。
  • 如果检测到主要版本,例如:3.0.0
    • 通知用户有重大升级
    • 如果用户接受,请下载安装程序
    • 运行完整的安装程序更新

这有帮助吗?