PB自动升级的实现

转载 2007年01月13日 02:59:00
sync.exe运行时的界面

Synchronizer简称Sync
如果你正在开发一个多用户系统,例如pb/vb/delphi开发的MIS系统,需要在客户端安装exe,dll,并且处于频繁的修改/升级/修改/升级....,用Sync将极大减轻发布最终程序的工作量,你不必为了每次升级或修正错误,而在每台电脑上跑来跑去升级/复制文件,还要担心某台因为忘记升级新程序而导致版本不一致, 最终功能失效或导致数据有差错.

Sync是PowerBuilder 6.5带的一个由Sybase开发的ActiveX
c:/program files/sybase/pb6/sync目录下,sync.ocx在/windows/system目录下


或直接从PB 6.5的工具栏进入sync.exe界面
(如果没有安装pb没关系,本站提供下载,请见下方)

sync体积非常小,只有60多KB

sync有几个重要功能可以满足以上要求:

1.自动比较本机文件和指定路径(可以是网络服务器)或ftp服务器中文件的不同

2.自动复制(从指定路径或网络路径unc)或下载(从ftp服务器)

3.比较文件基于三种方式,文件修改日期/时间,文件尺寸,文件版本(版本只对于标准EXE或DLL才有效),例如VB在编译为最终EXE的时候可以选择版本号,PB的EXE就无此功能.

4.提供二种方式给最终程序调用:
  ActiveX(除通常这些pb/vb/delphi/vc,还可用于Html页面),
  syncCRT.EXE, 直接调用此exe和Synchronizer定义文件完成更新
5.提供sync.exe来定义需要同步的文件,生成最终(.syc文件),你无需在程序中逐个定义需要同步的文件,只需利用sync.exe,使用图形界面定义每个需要同步文件名.(同时还可以在一个syc文件中直接嵌入多个syc文件)


调用非常方便
pb的调用方式:
Ole_1.object.SyncFileName = "exam.syc" 此文件可用sync.exe生成,非常简单,选择源文件和目标文件,这样Execute的时候就会自动检查源文件和目标文件,不同即会自动copy.
ole_1.object.Execute()

更多使用方法可以查询sync60.hlp, 还可以设置是否显示同步过程,对于文件较大,copy时间比较长的,建议显示,以免用户以为死机. 

pb实现自动升级

SatRDA介绍 SatRDA是目前最高效的远程数据访问组件,大数据量测试比外网直连数据库速度提升10-200倍。使用它无需要改动原来的数据连接访问代码就可以支持外网访问远程数据库。能够为and...
  • pcwe2002
  • pcwe2002
  • 2017年03月17日 15:55
  • 1491

通用HTTP升级程序

     利用两天时间,完成了通用升级 程序。程序主要利用了WININET API,能通过代理,避免了IDHTTP不能通过代理的问题。可以自己设置升级参数,设置升级时是否关闭主程序,在升级完成后是否自...
  • pbcao
  • pbcao
  • 2007年12月06日 11:31
  • 305

PB使用WININET的FTP方式自动更新(四、下载)

四、下载(只是处理二级目录)global type f_connect_ftpcopyfile from function_objectend typeforward prototypesglobal...
  • handycyw
  • handycyw
  • 2004年11月23日 19:18
  • 1351

pb一步步开发APP

APP越来越流行,客户需要开发APP,对习惯了pb开发者来说,如何开发APP是个让人头大的问题。其实pb开发APP是完全可行的。 下面就通过示例,一步步都大家如何开发一个APP。先上几张最后的效果图 ...
  • pcwe2002
  • pcwe2002
  • 2017年01月18日 17:29
  • 2636

用PB实现客户端程序的自动升级

C/S结构的运行模式虽然没有B/S结构更加容易扩展和简便,但由于其稳定性好、安全性高、运行速度快等特点,现在仍然被广泛应用于各种大型应用系统中,有些则和B/S形成混合的运行模式。  B/S优越于C/S...
  • minisunny
  • minisunny
  • 2007年09月26日 14:51
  • 1059

用PB实现客户端程序的自动升级

用PB实现客户端程序的自动升级 C/S结构的运行模式虽然没有B/S结构更加容易扩展和简便,但由于其稳定性好、安全性高、运行速度快等特点,现在仍然被广泛应用于各种大型应用系统中,有些则和B/S形成混合...
  • sqlove
  • sqlove
  • 2014年03月27日 14:23
  • 427

在C#中实现软件自动升级

winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,本文结合实际情况,通过软件实现自动升级,弥补了这一缺陷,有较好的参考价值。由于程序在运行时...
  • tongdoudpj
  • tongdoudpj
  • 2007年08月09日 17:58
  • 667

可复用的自动升级系统C#实现(二)

上一篇文章解决了实现可复用的自动升级系统的思路,这篇文章将给出UpdateActionSystem.exe的参考实现及相关的牵涉主程序的代码。 UpdateActionSystem.exe的主窗体U...
  • zhuweisky
  • zhuweisky
  • 2005年07月06日 12:00
  • 8269

pb 程序之间的消息传递

一、发送消息long   ll_handle,ll_rtnstring ls_msg,ls_lenBlob   lblob_sndll_handle = long(profilestring(guo_...
  • hsfeng75
  • hsfeng75
  • 2010年04月01日 11:45
  • 441

Python 实现简单的C/S在线更新程序

使用urllib 直接下载html 服务端 Respones把 安装包msi 的二进制流 输出,客户端判断下载下来的文件大小, 一般很小 就有可能是404等信息,只需判断文件大小来决定是否运行更新...
  • xugangjava
  • xugangjava
  • 2013年01月25日 16:24
  • 3766
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PB自动升级的实现
举报原因:
原因补充:

(最多只允许输入30个字)