基于Windows服务实现PC端软件静默升级的系统及方法技术方案

技术编号:15690633 阅读:91 留言:0更新日期:2017-06-24 03:11
本发明专利技术公开了一种基于Windows服务实现PC端软件静默升级的系统及方法,涉及软件升级技术领域。该系统的静默升级主服务模块宿主于Windows服务,长期在后台运行,其用于按照设置的循环检测时间定期自动检测是否有软件版本的更新情况,一旦有,则启动升级包下载模块;并在检测到软件未在运行时,启动静默升级模块。升级包下载模块,用于在后台完成升级包的下载,并将下载的升级包存放到指定的临时目录下。静默升级模块,用于解压临时目录下的升级包,将升级包内的文件更新到软件对应的目录下,完成静默升级。本发明专利技术能在不打扰用户的情况下自动完成升级,不但节省带宽、流量,而且用户体验佳。

System and method for realizing silent upgrade of PC end software based on Windows service

The invention discloses a system and a method for realizing silent upgrade of PC end software based on Windows service, relating to the technical field of software upgrading. The silence of the upgrading of the main host service module in Windows service running in the background for the long term, update, according to the circular detection time set automatically and periodically check whether there is a version of the software once launched, the upgrade package download module; and software is not in operation in the detection, start the silent upgrade module. The upgrade package download module is used to download the upgrade package in the background and to store the upgraded packages under the specified temporary directory. Silent upgrade module, used to extract the temporary directory under the upgrade package, the upgrade package files updated to the directory corresponding to the software, completed silent upgrade. The invention can automatically complete the upgrade without disturbing the user, not only saves bandwidth and traffic, but also has a better user experience.

【技术实现步骤摘要】
基于Windows服务实现PC端软件静默升级的系统及方法
本专利技术涉及软件升级
,具体来讲是一种基于Windows服务实现PC端软件静默升级的系统及方法。
技术介绍
目前,对于PC客户端软件进行升级/更新的方法是从服务器下载一个最新的软件包来进行升级/更新操作。具体来说,现有的软件程序在进行升级/更新时通常采用的是整体更新方式,即直接将完整的更新包放在软件网站上或官方提供下载,PC端用户首先卸载旧版本的软件,然后下载安装新版本的软件程序。这样的缺陷是,软件程序的整体更新占用的时间和带宽过大,特别是在进行小版本升级或缺陷修复时,会频繁的要求或引导用户进行手动下载和更新,为用户带来不便。以Windows系统为例,系统本身提供了一套程序升级/更新的机制。当有新版本发布时,用户会收到通知,让用户选择是否立即进行升级。但是,一个新的升级包至少有数兆大小,如果在软件产品无重大框架调整或增加特色功能的情况下就要用户下载完整的升级包进行安装,不仅会浪费用户时间、占用带宽和流量,而且一旦升级/更新过于频繁,会对用户形成骚扰,干扰了用户对软件的正常使用,影响用户体验。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足,提供一种基于Windows服务实现PC端软件静默升级的系统及方法,能在不打扰用户的情况下(不显示升级程序界面)自动完成升级,不但节省带宽、节约网络流量,而且不会干扰用户的正常使用,提高了用户体验。为达到以上目的,本专利技术提供一种基于Windows服务实现PC端软件静默升级的系统,该系统包括静默升级主服务模块、升级包下载模块和静默升级模块;所述静默升级主服务模块宿主于Windows服务,长期在后台运行,其用于:按照设置的循环检测时间定期自动检测是否有软件版本的更新情况,一旦有,则启动升级包下载模块;并在检测到软件未在运行时,启动静默升级模块;所述升级包下载模块用于:在后台完成升级包的下载,并将下载的升级包存放到指定的临时目录下;所述静默升级模块用于:解压临时目录下的升级包,将升级包内的文件更新到软件对应的目录下,完成静默升级。本专利技术还提供一种应用上述系统的基于Windows服务实现PC端软件静默升级的方法,包括以下步骤:A、在安装PC端软件时配套安装静默升级主服务模块;设置静默升级主服务模块的循环检测时间,并启动静默升级主服务模块;B、每当达到设置的循环检测时间后,静默升级主服务模块自动检测是否有软件版本的更新情况,一旦有,则启动升级包下载模块;C、升级包下载模块在后台完成升级包的下载,并将下载的升级包存放到指定的临时目录下;D、当静默升级主服务模块检测到软件未在运行时,启动静默升级模块;静默升级模块解压临时目录下的升级包,将升级包内的文件更新到软件对应的目录下,完成静默升级。本专利技术的有益效果在于:(1)本专利技术基于MicrosoftWindows服务来实现PC端软件的静默升级。其中,静默升级主服务模块宿主于Windows服务,长期在后台运行,用于按照设置的循环检测时间定期自动检测是否有软件版本的更新情况,一旦有,则启动升级包下载模块进行升级包的下载;并在检测到软件未在运行时,启动静默升级模块进行静默升级。与现有技术相比,本专利技术可在不打扰用户的情况下(不显示升级程序界面),根据设置的循环检测时间定期自动完成升级,不但节省带宽、节约网络流量,而且不会干扰用户的正常使用,提高了用户体验。特别在小版本功能的升级、功能缺陷的修复、客户端功能的临时上线或下线等情况时,无需引导用户去操作升级,而是在后台应用系统服务完成软件的升级流程,能在保证不干扰用户正常使用天软件的同时,完成对软件自身的升级/更新过程。(2)本专利技术中,升级包下载模块会对所下载的升级包进行MD5校验,有效保证了所下载的升级包的安全性和可靠性。(3)本专利技术的应用能够满足PC端上所有应用程序的静默升级需求,并能够根据用户的需求定制化静默升级服务,解决更多的产品需求,用户体验佳。附图说明图1为本专利技术实施例中基于Windows服务实现PC端软件静默升级的系统的结构框图;图2为本专利技术实施例中基于Windows服务实现PC端软件静默升级的方法的流程图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细描述。本专利技术是基于MicrosoftWindows服务来实现PC端软件静默升级的方案。MicrosoftWindows服务(即,以前的NT服务),是使软件能够创建在它们自己的Windows会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这种服务非常适合在服务器上使用,或为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用;还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。基于上述技术原理和技术特点,参见图1所示,本专利技术实施例提供一种基于Windows服务实现PC端软件静默升级的系统,该系统包括静默升级主服务模块(MainService)、升级包下载模块(Downloader)和静默升级模块(Updater)。静默升级主服务模块宿主于WindowsService(Windows服务),长期在后台运行,其用于:按照设置的循环检测时间定期自动检测是否有软件版本的更新情况(包括小版本功能的升级、功能缺陷的修复、客户端功能的临时上线或下线等情况),一旦有,则启动升级包下载模块;并在检测到软件未在运行时,启动静默升级模块。升级包下载模块用于:在后台完成升级包的下载,并将下载的升级包存放到指定的临时目录下。静默升级模块用于:解压临时目录下的升级包,将升级包内的文件更新到软件对应的目录下,完成静默升级。参见图2所示,本专利技术实施例还提供一种应用上述系统的基于Windows服务实现PC端软件静默升级的方法,包括以下步骤:步骤S1:在安装PC端软件时配套安装静默升级主服务模块;设置静默升级主服务模块的循环检测时间,并启动静默升级主服务模块,转入步骤S2。可以理解的是,在.Net开发平台下,Windows服务的应用程序中需要添加安装程序类。而在添加安装程序类时,有两个重要的组件:System.ServiceProcess.ServiceInstaller、System.ServiceProcess.ServiceProcessInstaller的对象。其中,ServiceProcessInstaller:安装一个可执行文件,该文件包含扩展ServiceBase的类;该类由安装实用工具(如InstallUtil.exe)在安装服务应用程序时调用。ServiceProcessInstaller:执行可执行文件中的所有服务的公共操作。ServiceInstaller:安装一个类,该类扩展ServiceBase来实现服务。在安装服务应用程序时由安装实用工具调用该类。ServiceInstaller执行特定于其所关联服务的操作。它由安装实用工具用来将与服务关联的注册表值写入HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services注册表项内的子项。服务由它在该子键内的“服务名”(ServiceName)标识。在此基础上,实际操作时本文档来自技高网...
基于Windows服务实现PC端软件静默升级的系统及方法

【技术保护点】
一种基于Windows服务实现PC端软件静默升级的系统,其特征在于:该系统包括静默升级主服务模块、升级包下载模块和静默升级模块;所述静默升级主服务模块宿主于Windows服务,长期在后台运行,其用于:按照设置的循环检测时间定期自动检测是否有软件版本的更新情况,一旦有,则启动升级包下载模块;并在检测到软件未在运行时,启动静默升级模块;所述升级包下载模块用于:在后台完成升级包的下载,并将下载的升级包存放到指定的临时目录下;所述静默升级模块用于:解压临时目录下的升级包,将升级包内的文件更新到软件对应的目录下,完成静默升级。

【技术特征摘要】
1.一种基于Windows服务实现PC端软件静默升级的系统,其特征在于:该系统包括静默升级主服务模块、升级包下载模块和静默升级模块;所述静默升级主服务模块宿主于Windows服务,长期在后台运行,其用于:按照设置的循环检测时间定期自动检测是否有软件版本的更新情况,一旦有,则启动升级包下载模块;并在检测到软件未在运行时,启动静默升级模块;所述升级包下载模块用于:在后台完成升级包的下载,并将下载的升级包存放到指定的临时目录下;所述静默升级模块用于:解压临时目录下的升级包,将升级包内的文件更新到软件对应的目录下,完成静默升级。2.如权利要求1所述的基于Windows服务实现PC端软件静默升级的系统,其特征在于:所述升级包下载模块在完成升级包的下载后,会对所下载的升级包进行MD5校验。3.如权利要求1或2所述的基于Windows服务实现PC端软件静默升级的系统,其特征在于:所述软件版本的更新情况包括小版本功能的升级、功能缺陷的修复、客户端功能的临时上线或下线的情况。4.如权利要求1或2所述的基于Windows服务实现PC端软件静默升级的系统,其特征在于:所述循环检测时间默认设置为30分钟。5.一种应用权利要求1所述系统的基于Windows服务实现PC端软件静默升级的方法,其特征在于,包括以下步骤:A、在安装PC端软件时配套安装静默升级主服务模块;设置静默升级主服务模块的循环检测时间,并启动静默升级主服务模块;B、每当达到设置的循环检测时间后,静默升级主服务模块自动检测是否有软件版本的更新情况,一旦有,则启动升级包下载模块;C、升级包下载模块在后台完成升级包的下载,并将下载的升级包存...

【专利技术属性】
技术研发人员:戴有勇
申请(专利权)人:武汉天喻教育科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1