关于自动更新 请问下:我用的是auAutoUpgrader来实现自动更新,请问怎么在升级新版本后将旧版本停用或者如何获取服务器上的版本号? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过webservice获得是否需要更新刚好最近也写了一个 ,大概思路如下:1、 启动程序MyApp.exe, 读取进程中是否已经存在多个MyApp.exe的进程,如果存在,则程序正常运行。2、 否则,读取MyApp.exe 的版本,通过WebService,把MyApp.exe名称和 版本号,到服务器端检测,是否有新版本程序存在;3、 如果没有新版本,则程序正常运行;4、 如果存在新版本,则返回有更新版本存在消息,当前系统提示选择是否更新新版本;否,则程序正常运行;5、 如选择需要更新,则调用webService把新版MyApp.exe下载到本地(Update.exe相同目录中的update 目录中),注:需要在命名后面加上.new,即 MyApp.exe.new, 下载完成,启动Update.exe程序( 需要把执行程序名MyApp.exe传给Update.exe),杀掉进程中的所有MyApp.exe 进程,删除掉MyApp.exe, 重命名MyApp.exe.new 为MyApp.exe;6、 启动MyApp.exe ,关闭Update.exe ; 米用过这组件。不用第三方控件,自己搞思路都差不多吧,也很简单写一个检测版本的checkver.exe,主程序启动后后天调用checkver.exe,checkver.exe如果发现服务器上的版本比主程序的版本新就下载到一个bak目录中后发消息通知主程序,然后继续驻留。主程序收到消息就提示用户新版本下载好了需要重新启动主程序,如果用户点击同意,就发消息给checkver.exe,然后关闭自身。checkver.exe得到消息后等到主程序关闭后复制bak目录中下载的新版本覆盖旧版本,然后checkver.exe启动主程序后关闭自身。 自己写,参考http://blog.csdn.net/bdmh/article/details/6120459 Cannot create file "D:\...\InitCC32.exe".另一个程序正在使用此文件,进程无法访问。 这个pos要怎么写 如何向菜单里动态添加子菜单 DbGrid显示问题 单独运行窗体? delphi中做报表,如果字段是布尔型的怎么弄啊,我想把布尔值的字段在报表中做未选中状态,没有直接的控件啊,急救 如何得到在某一控件上的鼠标点击次数。 我有一个图片,在delphi里异常显示 这样合理吗?(再线等候!!!) 数据库用不了:( 请教一个D7写的DLL,调用出现Stack OverFlow的问题,谢谢! 求代码
2、 否则,读取MyApp.exe 的版本,通过WebService,把MyApp.exe名称和 版本号,到服务器端检测,是否有新版本程序存在;
3、 如果没有新版本,则程序正常运行;
4、 如果存在新版本,则返回有更新版本存在消息,当前系统提示选择是否更新新版本;否,则程序正常运行;
5、 如选择需要更新,则调用webService把新版MyApp.exe下载到本地(Update.exe相同目录中的update 目录中),注:需要在命名后面加上.new,即 MyApp.exe.new, 下载完成,启动Update.exe程序( 需要把执行程序名MyApp.exe传给Update.exe),杀掉进程中的所有MyApp.exe 进程,删除掉MyApp.exe, 重命名MyApp.exe.new 为MyApp.exe;
6、 启动MyApp.exe ,关闭Update.exe ;
不用第三方控件,自己搞思路都差不多吧,也很简单
写一个检测版本的checkver.exe,主程序启动后后天调用checkver.exe,checkver.exe如果发现服务器上的版本比主程序的版本新就下载到一个bak目录中后发消息通知主程序,然后继续驻留。主程序收到消息就提示用户新版本下载好了需要重新启动主程序,如果用户点击同意,就发消息给checkver.exe,然后关闭自身。checkver.exe得到消息后等到主程序关闭后复制bak目录中下载的新版本覆盖旧版本,然后checkver.exe启动主程序后关闭自身。