一种软件安装及升级方法和装置制造方法及图纸

技术编号:8387058 阅读:157 留言:0更新日期:2013-03-07 07:45
本发明专利技术公开了一种软件安装及升级方法和装置,方法包括:创建当前版本号的版本目录,将该版本目录放置在与软件的主程序文件同级的目录下,将当前版本软件的资源文件放置在该版本目录中;软件主程序开始运行时,搜索与主程序文件同级目录下版本号最新的版本目录,并加载该版本目录;在软件运行时下载并安装升级软件,创建新版本号对应的版本目录,将该新版本号的版本目录放置在与所述旧版本目录同级的目录下,将新版本软件的资源文件放置在该新版本号的版本目录中。所述装置包括:初始安装模块、主程序文件和升级进程模块。利用本发明专利技术,可以实现软件的静默升级,减少升级过程中的人机交互次数,方便用户使用软件。

【技术实现步骤摘要】

本专利技术涉及数据处理设备的软件
,尤其涉及一种软件安装及升级的方法和装置。
技术介绍
计算机软件经过了几十年的发展,慢慢地与互联网融合为一体。开放与合作已经成为互联网技术发展的必然趋势,未来的互联网可以“更多的融入”,也能更多地分享和收获。打造一个更加开发平台将使整个互联网的用户有一个全新的体验。同时用户的使用习惯不断在变化,软件的更新频率不断缩短,新的功能迭代速度很快,这就要求软件本身的升级足够强大,以便更好的满足用户需求。现有的计算机桌面软件安装及升级方法通常是在安装时,将主程序文件,即可执·行主程序(.exe格式)文件与资源文件比如所需要加载的.dll文件放在同级目录下,这样的好处是Windows操作系统会默认首先加载.exe文件同级的目录,方便快速找到相应的资源如dll文件。在进行软件升级时,通常都需要当前主程序(.exe)先退出,然后完成升级软件包的下载和安装过程,接下来需要用户再次启动软件才可以看到升级后的功能。现有的这种软件安装及升级方法的缺点是升级时必须首先人工退出当前主程序,才能完整升级软件的安装,不但导致需要用户进行过多的人机交互操作,而且严重干扰了用户使用当前软件,用户体验不好。同时,现有的大多数桌面软件需要用户手工触发软件升级,而实际上通过用户操作的数据来看,用户手动点击软件升级的比率并不大,给用户的使用带来了不必要的门槛。因此,现有技术无法做到在主程序运行的过程中完成整个软件的静默升级。所谓软件静默升级是指在正常使用软件的过程中,该软件可以做到自动升级,而用户在前端使用时完全没有感知该升级过程,升级完成后,用户下次启动软件,就能直接使用更新后的软件。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种软件安装及升级方法和装置,以实现软件的静默升级,减少升级过程中的人机交互次数,方便用户使用软件。本专利技术的技术方案是这样实现的一种软件安装及升级方法,包括创建当前版本号的版本目录,将该版本目录放置在与软件的主程序文件同级的目录下,将当前版本软件的资源文件放置在该版本目录中;软件主程序开始运行时,搜索与主程序文件同级目录下版本号最新的版本目录,并加载该版本目录;在软件主程序运行时启动升级进程下载并安装升级软件,在安装升级软件时,创建当前升级软件的新版本号对应的版本目录,将该新版本号的版本目录放置在与所述旧版本目录同级的目录下,将新版本软件的资源文件放置在该新版本号的版本目录中。一种软件安装及升级装置,包括初始安装模块,用于软件的初始安装,在初始安装时,创建当前版本号的版本目录,将该版本目录放置在与软件的主程序文件同级的目录下,将当前版本软件的资源文件放置在该版本目录中;主程序文件,用于启动运行软件主程序,并在开始运行时,搜索同级目录下版本号最新的版本目录,并加载该版本目录;升级进程模块,用于在软件运行时启动,启动后下载并安装升级软件,在安装升级 软件时,创建当前升级软件的新版本号对应的版本目录,将该新版本号的版本目录放置在与所述旧版本目录同级的目录下,将新版本软件的资源文件放置在该新版本号的版本目录中。与现有技术相比,本专利技术所提供的方案采用每个版本软件的资源文件放置在对应的版本目录中,所有版本目录放置在与软件的可执行文件同级的目录下,并且软件的所述可执行文件在开始执行时,搜索同级目录下版本号最新的版本目录,并加载该版本目录。因此,本专利技术可以实现在正常使用软件的过程中,不用退出软件,就可以做到自动升级安装,而用户在前端使用时完全感知不到该升级过程,升级完成后,用户下次启动软件,就能直接使用更新后的软件,从而实现软件的静默升级,减少升级过程中的人机交互次数,方便用户操作,提升用户的使用体验。附图说明图I为本专利技术所述软件安装及升级方法的流程图;图2为本专利技术所述软件初始安装时的目录结构示意图;图3为本专利技术所述软件升级安装后的目录结构示意图;图4为本专利技术所述升级过程的一种详细实施流程图;图5为本专利技术所述的软件安装及升级装置的一种实施示意图;图6为本专利技术所述的软件安装及升级装置的另一种实施示意图;图7为本专利技术所述升级进程模块的一种具体组成示意图。具体实施例方式下面结合附图及具体实施例对本专利技术再作进一步详细的说明。本专利技术不但适用于计算机,还可以适用于各种数据处理设备(如智能手机、平板电脑等)。图I为本专利技术所述软件安装及升级方法的流程图。参见图1,该方法包括步骤101、创建当前版本号的版本目录,将该版本目录放置在与软件的主程序文件同级的目录下,将当前版本软件的资源文件放置在该版本目录中。在优选实施方式中,本步骤可以在初始安装软件时执行,当然在其他实施方式中也可以在其它时机如服务器指定的时机执行。步骤102、软件主程序(即主exe程序)开始运行时,搜索与主程序文件同级目录下版本号最新的版本目录,并加载该版本目录。步骤103、在软件主程序启动运行后,启动升级进程,由升级进程下载并安装升级软件,在安装升级软件时,创建当前升级软件的新版本号对应的版本目录,将该新版本号的版本目录放置在与所述旧版本目录同级的目录下,将新版本软件的资源文件放置在该新版本号的版本目录中。所述升级进程在完成升级软件的下载和安装后,会自动退出,对主程序的进程完全没有影响。当主程序下次启动时,主程序会搜索与主程序文件同级目录下版本号最新的版本目录,并加载该版本目录,从而完成运行升级版本目录的过程,使用户可以看到更新后的软件功能,而整个升级过程对用户来说是完全透明的,用户察觉不到升级过程的发生。图2为本专利技术所述软件初始安装时的目录结构示意图。参见图2,本专利技术与现有技术的软件安装目录不同,现有技术通常是将主程序exe文件与资 源文件比如所需要加载的.dll放在同级目录下,而本专利技术将主程序exe文件外提到更外层目录,如图2所示的主程序exe文件201,设置在了软件的根目录下,而软件运行时需要加载的资源文件如.dll文件都放置在当前版本号的版本目录202中,该版本目录202放置在与所述主程序exe文件201同级的目录下,例如此处为根目录下。所述主程序exe文件201实际上只是个空壳,它的作用只是搜索同级目录下版本号更新的版本目录,并加载该版本目录。图3为本专利技术所述软件升级安装后的目录结构示意图。参见图3,利用本专利技术对升级软件进行下载并安装升级后,升级软件(通常为升级包)实际上会在安装目录下解压,所有资源文件都放置在当前升级软件的新版本号对应的版本目录301中,而旧版本目录202和主程序exe文件201的位置不变,因此在升级时,对当前运行的主程序完全没有影响,待用户下次启动时,自动加载更新的版本目录,即可运行新版本的软件。本专利技术在改变了主程序文件的放置目录后,操作系统会按自身的目录搜索顺序查找文件,Windows提供了一个应用程序编程接口(API)可以设置应用程序加载.dll资源文件的搜索顺序,该API为BOOL WINAPI SetDllDirectory(LPCTSTR IpPathName)软件主程序利用该API,可以使得主程序文件外提后,操作系统搜索.dll的目录顺序不变,从而可以顺利加载资源文件。本专利技术中,由于软件本身的静默升级的需要,当软件多次升级后,实际上在用户安装目录会有多个版本目录文件夹,如果按照现有的桌面软件本文档来自技高网
...

【技术保护点】
一种软件安装及升级方法,其特征在于,包括:创建当前版本号的版本目录,将该版本目录放置在与软件的主程序文件同级的目录下,将当前版本软件的资源文件放置在该版本目录中;软件主程序开始运行时,搜索与主程序文件同级目录下版本号最新的版本目录,并加载该版本目录;在软件主程序运行时启动升级进程下载并安装升级软件,在安装升级软件时,创建当前升级软件的新版本号对应的版本目录,将该新版本号的版本目录放置在与所述旧版本目录同级的目录下,将新版本软件的资源文件放置在该新版本号的版本目录中。

【技术特征摘要】

【专利技术属性】
技术研发人员:库宇魏亚民
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1