CN103914357B - 一种ie浏览器的修复方法及装置 - Google Patents
一种ie浏览器的修复方法及装置 Download PDFInfo
- Publication number
- CN103914357B CN103914357B CN201410145884.XA CN201410145884A CN103914357B CN 103914357 B CN103914357 B CN 103914357B CN 201410145884 A CN201410145884 A CN 201410145884A CN 103914357 B CN103914357 B CN 103914357B
- Authority
- CN
- China
- Prior art keywords
- repaired
- browser
- key plate
- registration table
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开一种IE浏览器的修复方法及装置,涉及计算机应用技术,能够模拟IE浏览器安装时的逻辑,解决现有技术中IE浏览器修复不成功的问题。所述IE浏览器的修复方法包括:获取当前系统安装的待修复IE浏览器的主版本;根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件;根据所述备用文件,查找所述待修复IE浏览器的待修复项;对所述待修复IE浏览器的待修复项进行修复。所述IE浏览器的修复装置包括:主版本获取单元,用于获取当前系统安装的待修复IE浏览器的主版本;备用文件获取单元,用于根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件;待修复项查找单元,用于根据所述备用文件,查找所述待修复IE浏览器的待修复项;修复单元,用于对所述待修复IE浏览器的待修复项进行修复。本发明适用于需要修复IE浏览器的场合。
Description
技术领域
本发明涉及计算机应用领域,尤其涉及一种IE浏览器的修复方法及装置。
背景技术
网络问题无疑是计算机使用过程中,最常见、最复杂的问题之一,而网络问题中,有一大类问题是与浏览器相关的问题。如网络连接没有问题,可以上QQ但是网页打不开、二级网页打不开、网页打开慢、IE浏览器打开报错等等。网页相关的问题都离不开一个软件——Internet Explorer(IE),正因为windows系统中捆绑自带了这款浏览器,使得IE浏览器的使用率一直处于世界前茅,甚至一度是全球使用率第一的浏览器。
然而,也正是IE浏览器的系统预装特性,使得IE浏览器和操作系统结合的过于紧密,IE浏览器不像第三方普通的浏览器软件一样,可以独立的安装卸载运行,IE浏览器往往改动都涉及到windows本身的改动,这也是IE浏览器不那么灵活的地方。
凡事有利必有弊,IE浏览器经常会由于系统文件或者系统环境改变,而出现异常,再加上IE浏览器的每一处改动都或多或少的牵连着操作系统,这使得IE浏览器一旦出现问题,修复不那么容易。好在微软给我们提供了一些版本的IE浏览器安装包,可是IE浏览器的安装有着太多的限制,比如IE浏览器的安装必须要安装包高于当前系统中的IE版本,IE卸载必须要重启,回滚到较低的版本等等。所以重装IE浏览器的成功率迟迟提高不上来。现有的IE修复技术,做的都十分简单,一般只有几种方式:
1.检查IE主进程及几个核心注册表,如果存在问题,则从云端下拉一个IE主程序替换,并恢复几个核心注册表。
2.下载主版本的IE浏览器安装包(这里主版本指的是IE浏览器版本号的第一段),使用静默参数来重装IE浏览器。
以上两种方法的弊端是,第一种方法只能修复几个核心位置,对于其他问题于事无补;第二种方法的弊端是,微软IE安装包有一个逻辑是,检测IE浏览器版本,如果发现当前已安装版本不小于安装包的版本,就会停止安装,这使得很多情况下,IE安装包都无法安装。
发明内容
有鉴于此,本发明实施例提供一种IE浏览器的修复方法及装置,能够解决现有技术中只能修复几个问题和现有IE浏览器修复技术中同版本IE浏览器无法修复的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明实施例提供一种IE浏览器的修复方法,包括:
获取当前系统安装的待修复IE浏览器的主版本;
根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件;
根据所述备用文件,查找所述待修复IE浏览器的待修复项;
对所述待修复IE浏览器的待修复项进行修复。
本发明实施例提供的IE浏览器的修复方法,通过获取当前系统安装的待修复IE浏览器的主版本,根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件,根据所述备用文件,查找所述待修复IE浏览器的待修复项,并对所述待修复IE浏览器的待修复项进行修复,这样能够对当前系统安装的待修复IE浏览器进行比较全面的修复,也就是说,本发明实施例提供的IE浏览器的修复方法,能够模拟IE浏览器安装时的逻辑,对当前系统的IE浏览器进行比较全面的修复,解决了现有IE浏览器修复技术中只能修复几个问题和现有IE浏览器修复技术中同版本IE浏览器无法修复的问题。
另一方面,本发明实施例提供一种IE浏览器的修复装置,包括:主版本获取单元,用于获取当前系统安装的待修复IE浏览器的主版本;备用文件获取单元,用于根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件;待修复项查找单元,用于根据所述备用文件,查找所述待修复IE浏览器的待修复项;修复单元,用于对所述待修复IE浏览器的待修复项进行修复。
本发明实施例提供的IE浏览器的修复装置,通过获取当前系统安装的待修复IE浏览器的主版本,根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件,根据所述备用文件,查找所述待修复IE浏览器的待修复项,并对所述待修复IE浏览器的待修复项进行修复,这样能够对当前系统安装的待修复IE浏览器进行比较全面的修复,也就是说,本发明实施例提供的IE浏览器的修复装置,能够模拟IE浏览器安装时的逻辑,对当前系统的IE浏览器进行比较全面的修复,解决了现有IE浏览器修复技术中只能修复几个问题和现有IE浏览器修复技术中同版本IE浏览器无法修复的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明IE浏览器的修复方法一实施例的流程示意图;
图2为图1中S1一实施例的流程示意图;
图3为图1中S1另一实施例的流程示意图;
图4为图1中S3一实施例的流程示意图;
图5为图1中S4一实施例的流程示意图;
图6为图1中S4另一实施例的流程示意图;
图7为图1中S3另一实施例的流程示意图;
图8为本发明IE浏览器的修复装置一实施例的方框结构示意图;
图9为图8中主版本获取单元一实施例的方框结构示意图;
图10为图8中主版本获取单元另一实施例的方框结构示意图;
图11为图8中待修复项查找单元一实施例的方框结构示意图;
图12为为本发明IE浏览器的修复装置一实施例中修复单元的方框结构示意图;
图13为本发明IE浏览器的修复装置一实施例中第三筛选模块的方框结构示意图;
图14为本发明IE浏览器的修复装置另一实施例中第三筛选模块的方框结构示意图;
图15为本发明IE浏览器的修复装置另一实施例中待修复项查找单元的方框结构示意图;
图16本发明IE浏览器的修复装置又一实施例中待修复项查找单元的方框结构示意图。
具体实施方式
下面结合附图对本发明实施例一种IE浏览器的修复方法及装置进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
参看图1,本发明的实施例提供一种IE浏览器的修复方法,可以包括:
S1、获取当前系统安装的待修复IE浏览器的主版本;
S2、根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件;
S3、根据所述备用文件,查找所述待修复IE浏览器的待修复项;
S4、对所述待修复IE浏览器的待修复项进行修复。
本发明实施例提供的IE浏览器的修复方法,通过获取当前系统安装的待修复IE浏览器的主版本,根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件,根据所述备用文件,查找所述待修复IE浏览器的待修复项,并对所述待修复IE浏览器的待修复项进行修复,这样能够对当前系统安装的待修复IE浏览器进行比较全面的修复,也就是说,本发明实施例提供的IE浏览器的修复方法,能够模拟IE浏览器安装时的逻辑,对当前系统的IE浏览器进行比较全面的修复,解决了现有IE浏览器修复技术中只能修复几个问题和现有IE浏览器修复技术中同版本IE浏览器无法修复的问题。
参看图2,在本发明IE浏览器的修复方法的另一实施例中,所述获取当前系统安装的待修复IE浏览器的主版本(S1),可以包括:
S10、获取当前系统安装的待修复IE浏览器的内核文件的主版本、以及所述待修复IE浏览器的主进程的主版本;
S11、将所述待修复IE浏览器的主进程的主版本与所述内核文件的主版本相比较,若二者相等,则确定所述待修复IE浏览器的主进程的主版本为所述待修复IE浏览器的主版本。
本实施例中,假设当前系统安装的待修复IE浏览器的内核文件%SystemRoot%\system32\ieframe.dll存在,且获取到的所述待修复IE浏览器的内核文件的版本号为10.0.9200.16798,获取到的所述待修复IE浏览器的主进程iexplore.exe的版本号为10.0.9200.16798,则所述待修复IE浏览器的内核文件的主版本和所述待修复IE浏览器的主进程的主版本相等,均为IE10,故所述待修复IE浏览器的主进程的主版本IE10即为所述待修复IE浏览器的主版本。
本实施例在当前系统安装的待修复IE浏览器的内核文件的主版本可以获知的情况下,将所述内核文件的主版本与所述待修复IE浏览器的主进程的主版本相比较,能根据所述比较的结果准确地判定出所述待修复IE浏览器的主版本。
参看图3,在本发明IE浏览器的修复方法的另一实施例中,所述获取当前系统安装的待修复IE浏览器的主版本(S1),可以包括:
S20、获取当前系统的注册表中IE浏览器的主版本,以及所述待修复IE浏览器的主进程的主版本;
S21、将所述待修复IE浏览器的主进程的主版本与所述注册表中IE浏览器的主版本相比较,若二者相等,则确定所述待修复IE浏览器的主进程的主版本为所述待修复IE浏览器的主版本;若二者不相等,则将二者中值大的主版本作为所述待修复IE浏览器的主版本。
本实施例中,假设获取到的当前系统的待修复IE浏览器的主进程iexplore.exe的版本号为10.0.9200.16798,又通过注册表HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer项下,Svcversion的值(除IE10浏览器外其它IE浏览器获取Version的值)获取到当前系统的注册表中IE浏览器的版本号为10.0.9200.16798,则所述注册表中IE浏览器的主版本与所述待修复IE浏览器的主进程的主版本相等,均为IE10,故所述待修复IE浏览器的主进程的主版本IE10即为所述待修复IE浏览器的主版本。
本实施例在当前系统安装的待修复IE浏览器的内核文件的主版本无法获知的情况下,将所述待修复IE浏览器的主进程的主版本与当前系统的注册表中IE浏览器的主版本相比较,能根据所述比较的结果准确地判定出所述待修复IE浏览器的主版本。
在本发明IE浏览器的修复方法的另一实施例中,所述根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件,可以包括:根据所述主版本,获取与所述主版本相对应的IE浏览器的备用文件列表;其中,所述备用文件列表中具有所述IE浏览器应该安装的所有文件以及这些所有文件的默认安装路径。
参看图4,在本发明IE浏览器的修复方法的另一实施例中,所述根据所述备用文件,查找所述待修复IE浏览器的待修复项(S3),可以包括:
S30、根据所述默认安装路径,遍历所述当前系统中的相应位置,判断所述备用文件列表中的所有文件,在当前系统中的所述相应位置是否均存在;
S31、若判断所述备用文件列表中的至少一个文件,在当前系统中的所述相应位置中不存在,则将所述不存在的至少一个文件作为待修复项记录在待修复文件列表中。
本实施例中,假设获取到的当前系统的待修复IE浏览器的主进程iexplore.exe的版本号为10.0.9200.16798,获取到的所述待修复IE浏览器的内核文件的版本号为10.0.9200.16798,则依前述实施例中的方法可以判定出当前系统的待修复IE浏览器的主版本为IE10。首先在当前系统中遍历IE10浏览器对应的备用文件列表中的所有文件的路径,判断所述路径对应的所述备用文件列表中的文件是否存在。假设发现IE10浏览器的一个关键文件不存在,路径为C:\Program Files\Internet Explorer\ielowutil.exe,则将所述不存在的文件记录在待修复文件列表中。
参看图5,在本发明IE浏览器的修复方法的另一实施例中,所述对所述待修复IE浏览器的待修复项进行修复(S4),可以包括:
S40、判断当前系统备份文件夹中,是否有与所述待修复文件列表中的文件同名的文件;若所述当前系统备份文件夹中,存在与所述待修复文件列表中的文件同名的文件,则将所述同名的文件存入临时列表中;
S41、对所述临时列表中的所述文件进行筛选,确定出符合修复条件的文件;
S42、利用所述符合修复条件的文件,对所述待修复文件列表中列出的同名文件进行修复。
本实施例中仍以前述实施例中的举例为例。首先判断系统备份文件夹中,是否有文件名为ielowutil.exe的文件。遍历%SystemRoot%\winsxs\目录,扫描到4个名为ielowutil.exe的文件,所述文件的路径及文件版本分别为:
C:\Windows\winsxs\x86_microsoft-windows-ie-ielowutil_31bf3856ad364e35_10.2.9200.16798_none_28310a372950e6b8\ielowutil.exe,文件版本为10.2.9200.16798;
C:\Windows\winsxs\x86_microsoft-windows-ie-ielowutil_31bf3856ad364e35_10.2.9200.16797_none_28310a372950e6b8\ielowutil.exe,文件版本为10.2.9200.16797;
C:\Windows\winsxs\x86_microsoft-windows-ie-ielowutil_31bf3856ad364e35_9.4.8112.16421_none_1ef5aee48b810ba0\ielowutil.exe,文件版本为9.4.8211.16421;
C:\Windows\winsxs\x86_microsoft-windows-ie-ielowutil_31bf3856ad364e35_8.0.7600.16385_none_2106a98149904819\ielowutil.exe,文件版本为8.0.7600.16385;
将所述名为ielowutil.exe的文件存入一个临时列表中,然后将所述临时列表中的文件中筛选出符合修复条件的文件,并利用所述符合修复条件的文件,对待修复文件列表中的名为ielowutil.exe的文件进行修复。
本实施例中首先从系统备份文件夹中筛选出与所述待修复文件列表中的文件同名的文件,接着在所述同名文件中进一步筛选出符合修复条件的文件,最后对所述待修复文件列表中列出的同名文件进行修复,按照此方法能够对待修复文件列表中列出的所有同名文件进行修复,解决了现有技术中只能在几个位置或仅能对几个文件进行修复的问题。
在本发明IE浏览器的修复方法的另一实施例中,所述对所述临时列表中的所述文件进行筛选,确定出符合修复条件的文件,可以包括:对所述临时列表中的所述文件进行筛选,确定出与当前系统的系统版本一致的文件。
本实施例中仍以前述实施例中的举例为例。假设本机操作系统为win732bit系统。因所述第一个至第四个名为ielowutil.exe的文件都在x86开头的文件夹下,故而都是32bit文件,与本机的系统一致,故满足要求。
本实施例中的系统版本过滤,能够更准确的筛选出符合修复条件的文件,提高修复的成功率。
在本发明IE浏览器的修复方法的另一实施例中,所述对所述临时列表中的所述文件进行筛选,确定出符合修复条件的文件,可以包括:对所述临时列表中的所述文件进行筛选,确定出与所述待修复文件列表中的文件的语言版本一致的文件。
本实施例中仍以前述实施例中的举例为例。因所述不存在的文件ielowutil.exe的路径中既不包含表示语言版本为中文语言版本的字符串zh-cn,也不包含表示语言版本为英文语言版本的字符串en-us,且所述第一个至第四个名为ielowutil.exe的文件的路径也未包含语言版本信息,故所述第一个至第四个文件在语言版本方面满足要求。
本实施例中的语言版本过滤,能够更准确的筛选出符合修复条件的文件,提高修复的成功率。
在本发明IE浏览器的修复方法的另一实施例中,所述对所述临时列表中的所述文件进行筛选,确定出符合修复条件的文件(S41),包括:对所述临时列表中的所述文件进行筛选,确定出与所述待修复文件列表中的同名文件的版本号相匹配的文件作为符合修复条件的文件。
参看图6,在本发明IE浏览器的修复方法的另一实施例中,所述对所述临时列表中的所述文件进行筛选,确定出与所述待修复文件列表中的同名文件的版本号相匹配的文件作为符合修复条件的文件,可以包括:
S4100、对所述临时列表中的所述文件进行筛选,确定出所述临时列表中文件版本号的第一段与所述待修复IE浏览器的主版本相一致的文件作为第一备选文件;
S4101、对所述第一备选文件进行再次的筛选,确定出与所述待修复文件列表中的同名文件的版本号相匹配的第二备选文件;
其中,对所述第一备选文件进行再次的筛选的过程包括:将所述第一备选文件的文件版本号的第三段和所述待修复文件列表中的同名文件的文件版本号的第三段做差值的绝对值,并将所述第一备选文件的文件版本号的第四段和所述待修复文件列表中的同名文件的文件版本号的第四段做差值的绝对值,若所述第一备选文件的文件版本号的第三段和所述待修复文件列表中的同名文件的文件版本号的第三段的差值的绝对值小于第一阈值,且所述第一备选文件的文件版本号的第四段和所述待修复文件列表中的同名文件的文件版本号的第四段的差值的绝对值小于或等于第二阈值,则将所述第一备选文件确定为与所述待修复文件列表中的同名文件的版本号相匹配的第二备选文件。
本实施例中,仍以前述实施例中的举例为例。因所述第一个和第二个名为ielowutil.exe的文件对应的IE浏览器主版本均为IE10,所述第三个和第四个名为ielowutil.exe的文件对应的IE浏览器主版本分别为IE9和IE8,故筛选出所述第一个和第二个名为ielowutil.exe的文件作为第一备选文件。假设第一阈值为10,第二阈值为2。所述第一个名为ielowutil.exe的文件的文件版本号的第三段、第四段分别和所述不存在的文件ielowutil.exe的文件版本号的第三段、第四段做差值的绝对值,分别为|9200-9200|=0<10、|16798-16798|=0<2,所述第二个名为ielowutil.exe的文件的文件版本号的第三段、第四段分别和所述不存在的文件ielowutil.exe的文件版本号的第三段、第四段做差值的绝对值,分别为|9200-9200|=0<10、|16798-16797|=1<2,则将所述第一个和第二个名为ielowutil.exe的文件均为与所述不存在的文件ielowutil.exe的版本号相匹配的第二备选文件。
本实施例首先在临时列表中筛选出文件版本号的第一段与所述待修复IE浏览器的主版本相一致的文件作为第一备选文件,进而在所述第一备选文件中筛选出的文件版本号的第三段、第四段分别和所述待修复文件列表中的同名文件的文件版本号的第三段、第四段做差值的绝对值均满足要求的文件,即为与所述待修复文件列表中的同名文件的版本号相匹配的第二备选文件。
在本发明IE浏览器的修复方法的另一实施例中,所述第一阈值为10,所述第二阈值为2,但本发明不限于此。
在本发明IE浏览器的修复方法的另一实施例中,所述对所述临时列表中的所述文件进行筛选,确定出与所述待修复文件列表中的同名文件的版本号相匹配的文件作为符合修复条件的文件(S410),还可以包括:
判断所述第二备选文件的数量;
若所述第二备选文件的数量为零,则停止对所述待修复的IE浏览器进行文件修复;或者
若所述第二备选文件的数量为一个,则利用所述第二备选文件对所述待修复的IE浏览器进行文件替换修复;或者
若所述第二备选文件的数量为两个或两个以上,则将所述第二备选文件进行再次筛选,分别将所述第二备选文件中的各个文件的文件版本号的第四段和所述待修复文件列表中的同名文件的文件版本号的第四段做差值的绝对值并进行比较,将所述差值的绝对值中的最小值对应的所述第二备选文件中的文件作为最终符合修复条件的文件。
本实施例中,仍以前述实施例中的举例为例。因所述第一个和第二个名为ielowutil.exe的文件均为第二备选文件,故需要将二者的文件版本号的第四段分别和所述不存在的文件ielowutil.exe的文件版本号的第四段的差值的绝对值并进行比较。所述第一个和第二个名为ielowutil.exe的文件的文件版本号的第四段分别与所述不存在的文件ielowutil.exe的文件版本号的第四段的差值的绝对值,分别为|16798-16798|=0,|16798-16797|=1。因0<1,故所述第一个名为ielowutil.exe的文件即为最终符合修复条件的文件。
本实施例中在所述第二备选文件的数量超过1时,通过将所述第二备选文件中的各个文件的文件版本号的第四段分别与所述待修复文件列表中的同名文件的文件版本号的第四段做差值的绝对值并进行比较,可以筛选出所述差值的绝对值中的最小值对应的所述第二备选文件中的文件,即为最终符合修复条件的文件。
在本发明IE浏览器的修复方法的另一实施例中,所述根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件,可以包括:根据所述主版本,获取与所述主版本相对应的IE浏览器的注册表修复库;其中,所述注册表修复库中具有所述IE浏览器应该安装的所有注册表项以及这些所有注册表项的各自所对应的值。
参看图7,在本发明IE浏览器的修复方法的另一实施例中,所述根据所述备用文件,查找所述待修复IE浏览器的待修复项(S3),可以包括:
S32、根据所述注册表修复库,遍历所述当前系统中的注册表,判断所述注册表修复库中的所有注册表项,在当前系统中的注册表中是否均存在;
S33、若判断所述注册表修复库中的至少一个注册表项,在当前系统中的注册表中不存在,则将所述不存在的至少一个注册表项记录为所述待修复IE浏览器的待修复项。
在本发明IE浏览器的修复方法的另一实施例中,所述对所述待修复IE浏览器的待修复项进行修复(S4),可以包括:在所述待修复IE浏览器的注册表中创建所述至少一个注册表项,以完成对所述待修复项的修复。
在本发明IE浏览器的修复方法的另一实施例中,所述对所述待修复IE浏览器的待修复项进行修复(S4),可以包括:根据所述注册表修复库,遍历所述当前系统中的注册表,判断所述注册表修复库中的所有注册表项下的值,在当前系统的注册表中对应的注册表项下是否均存在;若所述注册表修复库中的至少一个注册表项下的值,在当前系统的注册表中对应的注册表项下不存在,则在当前系统的注册表中对应的注册表项下进行所述值的创建;和\或
根据所述注册表修复库,遍历当前系统中的注册表,判断当前系统的注册表中各注册表项下的值是否均为原始值;若所述值不是原始值,则将所述值修复为对应的原始值。
本实施例中仍以前述实施例中的举例为例。首先载入IE10浏览器对应的注册表修复库,并进行扫描。假设检查到一个注册表项在当前系统的注册表中存在但所述注册表项下的值非原始值,错误值如下(阴影部分):
'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\LowRights\\ElevationPolicy\\{041a5213-ea64-4c45-99af-70d7d8e902ec}','AppName','vir us.exe'
则将该注册表项下的值修改为
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\LowRights\\ElevationPolicy\\{041a5213-ea64-4c45-99af-70d7d8e902ec}','AppName','iel owutil.exe'即完成注册表修复。
本实施例中通过对待修复的IE浏览器对应的注册表修复库中的在当前系统中的注册表中不存在的注册表项进行创建,将所述注册表修复库中的在所述当前系统中的注册表中存在但值不存在的注册表项的值进行创建,将所述注册表修复库中的在所述当前系统中的注册表中存在但值存在且不为原始值的注册表项的值修复为对应的原始值,可以快速的对所述待修复项进行修复。
参看图8,本发明的实施例提供一种IE浏览器的修复装置,包括:主版本获取单元1,用于获取当前系统安装的待修复IE浏览器的主版本;备用文件获取单元2,用于根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件;待修复项查找单元3,用于根据所述备用文件,查找所述待修复IE浏览器的待修复项;修复单元4,用于对所述待修复IE浏览器的待修复项进行修复。
本发明实施例提供的IE浏览器的修复装置,通过获取当前系统安装的待修复IE浏览器的主版本,根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件,根据所述备用文件,查找所述待修复IE浏览器的待修复项,并对所述待修复IE浏览器的待修复项进行修复,这样能够对当前系统安装的待修复IE浏览器进行比较全面的修复,也就是说,本发明实施例提供的IE浏览器的修复装置,能够模拟IE浏览器安装时的逻辑,对当前系统的IE浏览器进行比较全面的修复,解决了现有IE浏览器修复技术中只能修复几个问题和现有IE浏览器修复技术中同版本IE浏览器无法修复的问题。
本发明IE浏览器的修复装置的各个实施例中的方法和过程可以与本发明IE浏览器的修复方法的各个实施例中对应的方法和过程一样,下面不再详细赘述。
参看图9,在本发明IE浏览器的修复装置的另一实施例中,所述主版本获取单元1包括:第一主版本获取子单元10,用于获取当前系统安装的待修复IE浏览器的内核文件的主版本、以及所述待修复IE浏览器的主进程的主版本;第一主版本比较子单元11,用于将所述待修复IE浏览器的主进程的主版本与所述内核文件的主版本相比较,若二者相等,则确定所述待修复IE浏览器的主进程的主版本为所述待修复IE浏览器的主版本。
本实施例在当前系统安装的待修复IE浏览器的内核文件的主版本可以获知的情况下,将所述内核文件的主版本与所述待修复IE浏览器的主进程的主版本相比较,能根据所述比较的结果准确地判定出所述待修复IE浏览器的主版本。
参看图10,在本发明IE浏览器的修复装置的另一实施例中,所述主版本获取单元1包括:第二主版本获取子单元20,用于获取当前系统的注册表中IE浏览器的主版本,以及所述待修复IE浏览器的主进程的主版本;第二主版本比较子单元21,用于将所述待修复IE浏览器的主进程的主版本与所述注册表中IE浏览器的主版本相比较,若二者相等,则确定所述待修复IE浏览器的主进程的主版本为所述待修复IE浏览器的主版本;若二者不相等,则将二者中值大的主版本作为所述待修复IE浏览器的主版本。
本实施例在当前系统安装的待修复IE浏览器的内核文件的主版本无法获知的情况下,将所述待修复IE浏览器的主进程的主版本与当前系统的注册表中IE浏览器的主版本相比较,能根据所述比较的结果准确地判定出所述待修复IE浏览器的主版本。
在本发明IE浏览器的修复装置的另一实施例中,所述备用文件获取单元2包括:第一获取子单元,用于根据所述主版本,获取与所述主版本相对应的IE浏览器的备用文件列表;其中,所述备用文件列表中具有所述IE浏览器应该安装的所有文件以及这些所有文件的默认安装路径。
参看图11,在本发明IE浏览器的修复装置的另一实施例中,所述待修复项查找单元3包括:第一遍历子单元30,用于根据所述默认安装路径,遍历所述当前系统中的相应位置,判断所述备用文件列表中的所有文件,在当前系统中的所述相应位置是否均存在;第一判断子单元31,若判断所述备用文件列表中的至少一个文件,在当前系统中的所述相应位置中不存在,则将所述不存在的至少一个文件作为待修复项记录在待修复文件列表中。
参看图12,在本发明IE浏览器的修复装置的另一实施例中,所述修复单元4包括:第一筛选子单元40,用于判断当前系统备份文件夹中,是否有与所述待修复文件列表中的文件同名的文件;若所述当前系统备份文件夹中,存在与所述待修复文件列表中的文件同名的文件,则将所述同名的文件存入临时列表中;第二筛选子单元41,用于对所述临时列表中的所述文件进行筛选,确定出符合修复条件的文件;第一修复子单元42,用于利用所述符合修复条件的文件,对所述待修复文件列表中列出的文件进行修复。
本实施例中首先筛选出与所述待修复文件列表中的文件同名的文件,接着在所述同名文件中进一步筛选出符合修复条件的文件,最后对所述待修复文件列表中列出的同名文件进行修复,解决了现有技术中只能在几个位置或仅能对几个文件进行修复的问题。
在本发明IE浏览器的修复装置的另一实施例中,所述第二筛选子单元41包括:第一筛选模块,用于对所述临时列表中的所述文件进行筛选,确定出与当前系统的系统版本一致的文件。
本实施例中的系统版本过滤,能够更准确的筛选出符合修复条件的文件。
在本发明IE浏览器的修复装置的另一实施例中,所述第二筛选子单元41包括:第二筛选模块,用于对所述临时列表中的所述文件进行筛选,确定出与所述待修复文件列表中的文件的语言版本一致的文件。
本实施例中的语言版本过滤,能够更准确的筛选出符合修复条件的文件。
在本发明IE浏览器的修复装置的另一实施例中,所述第二筛选子单元41包括:第三筛选模块410,用于对所述临时列表中的所述文件进行筛选,确定出与所述待修复文件列表中的同名文件的版本号相匹配的文件作为符合修复条件的文件。
参看图13,在本发明IE浏览器的修复装置的另一实施例中,所述第三筛选模块410包括:第一筛选子模块4100,用于对所述临时列表中的所述文件进行筛选,确定出所述临时列表中文件版本号的第一段与所述待修复IE浏览器的主版本相一致的文件作为第一备选文件;第二筛选子模块4101,用于对所述第一备选文件进行再次的筛选,确定出与所述待修复文件列表中的同名文件的版本号相匹配的第二备选文件;其中,对所述第一备选文件进行再次的筛选的过程包括:将所述第一备选文件的文件版本号的第三段和所述待修复文件列表中的同名文件的文件版本号的第三段做差值的绝对值,并将所述第一备选文件的文件版本号的第四段和所述待修复文件列表中的同名文件的文件版本号的第四段做差值的绝对值,若所述第一备选文件的文件版本号的第三段和所述待修复文件列表中的同名文件的文件版本号的第三段的差值的绝对值小于第一阈值,且所述第一备选文件的文件版本号的第四段和所述待修复文件列表中的同名文件的文件版本号的第四段的差值的绝对值小于或等于第二阈值,则将所述第一备选文件确定为与所述待修复文件列表中的同名文件的版本号相匹配的第二备选文件。
本实施例首先在临时列表中筛选出文件版本号的第一段与所述待修复IE浏览器的主版本相一致的文件作为第一备选文件,进而在所述第一备选文件中筛选出的文件版本号的第三段、第四段分别和所述待修复文件列表中的同名文件的文件版本号的第三段、第四段做差值的绝对值均满足要求的文件,即为与所述待修复文件列表中的同名文件的版本号相匹配的第二备选文件。
在本发明IE浏览器的修复装置的另一实施例中,所述第一阈值为10,所述第二阈值为2。
参看图14,在本发明IE浏览器的修复装置的另一实施例中,所述第三筛选模块410还可以包括:文件数量判断子模块4102,用于判断所述第二备选文件的数量;若所述第二备选文件的数量为零,则通知所述修复单元停止对所述待修复的IE浏览器进行文件修复;或者若所述第二备选文件的数量为一个,则通知所述修复单元利用所述第二备选文件对所述待修复的IE浏览器进行文件替换修复;或者若所述第二备选文件的数量为两个或两个以上,则将所述第二备选文件进行再次筛选,分别将所述第二备选文件中的各个文件的文件版本号的第四段和所述待修复文件列表中的同名文件的文件版本号的第四段做差值的绝对值并进行比较,将所述差值的绝对值中的最小值对应的所述第二备选文件中的文件作为最终符合修复条件的文件。
本实施例中在所述第二备选文件的数量超过1时,通过将所述第二备选文件中的各个文件的文件版本号的第四段分别与所述待修复文件列表中的同名文件的文件版本号的第四段做差值的绝对值并进行比较,可以筛选出所述差值的绝对值中的最小值对应的所述第二备选文件中的文件,即为最终符合修复条件的文件。
在本发明IE浏览器的修复装置的另一实施例中,所述备用文件获取单元2包括:第二获取子单元,用于根据所述主版本,获取与所述主版本相对应的IE浏览器的注册表修复库;其中,所述注册表修复库中具有所述IE浏览器应该安装的所有注册表项以及这些所有注册表项的各自所对应的值。
参看图15,在本发明IE浏览器的修复装置的另一实施例中,所述待修复项查找单元3包括:第二遍历子单元31a,根据所述注册表修复库,遍历所述当前系统中的注册表,判断所述注册表修复库中的所有注册表项,在当前系统中的注册表中是否均存在;第二判断子单元32a,若判断所述注册表修复库中的至少一个注册表项,在当前系统中的注册表中不存在,则将所述不存在的至少一个注册表项记录为所述待修复IE浏览器的待修复项。
在本发明IE浏览器的修复装置的另一实施例中,所述修复单元4包括:注册表项创建子单元,用于在所述待修复IE浏览器的注册表中创建所述至少一个注册表项。
参看图16,在本发明IE浏览器的修复装置的另一实施例中,所述待修复项查找单元3可以包括:第三遍历子单元31b,用于根据所述注册表修复库,遍历所述当前系统中的注册表;第三判断子单元32b,用于判断所述注册表修复库中的所有注册表项下的值,在当前系统的注册表中对应的注册表项下是否均存在。
相应地,本实施例中,所述修复单元包括:值的创建子单元,用于根据所述第三判断子单元的判断结果,若确定所述注册表修复库中的至少一个注册表项下的值,在当前系统的注册表中对应的注册表项下不存在,则在当前系统的注册表中对应的注册表项下进行所述值的创建;和\或
值的修改子单元,用于根据所述第三判断子单元的判断结果,若判断当前系统的注册表中各注册表项下的值不是原始值,则将所述值修复为对应的原始值。
本实施例中通过对待修复的IE浏览器对应的注册表修复库中的在当前系统中的注册表中不存在的注册表项进行创建,将所述注册表修复库中的在所述当前系统中的注册表中存在但值不存在的注册表项的值进行创建,将所述注册表修复库中的在所述当前系统中的注册表中存在但值存在且不为原始值的注册表项的值修复为对应的原始值,可以快速的对所述待修复项进行修复。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种IE浏览器的修复方法,其特征在于,包括:
获取当前系统安装的待修复IE浏览器的主版本;
根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件;
根据所述备用文件,查找所述待修复IE浏览器的待修复项;
对所述待修复IE浏览器的待修复项进行修复;
所述根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件,包括:
根据所述主版本,获取与所述主版本相对应的IE浏览器的注册表修复库;其中,所述注册表修复库中具有所述IE浏览器应该安装的所有注册表项以及这些所有注册表项的各自所对应的值;
所述根据所述备用文件,查找所述待修复IE浏览器的待修复项,包括:
根据所述注册表修复库,遍历所述当前系统中的注册表,判断所述注册表修复库中的所有注册表项,在当前系统中的注册表中是否均存在;
若判断所述注册表修复库中的至少一个注册表项,在当前系统中的注册表中不存在,则将所述不存在的至少一个注册表项记录为所述待修复IE浏览器的待修复项。
2.根据权利要求1所述的IE浏览器的修复方法,其特征在于,所述获取当前系统安装的待修复IE浏览器的主版本,包括:
获取当前系统安装的待修复IE浏览器的内核文件的主版本、以及所述待修复IE浏览器的主进程的主版本;
将所述待修复IE浏览器的主进程的主版本与所述内核文件的主版本相比较,若二者相等,则确定所述待修复IE浏览器的主进程的主版本为所述待修复IE浏览器的主版本。
3.根据权利要求1所述的IE浏览器的修复方法,其特征在于,所述获取当前系统安装的待修复IE浏览器的主版本,包括:
获取当前系统的注册表中IE浏览器的主版本,以及所述待修复IE浏览器的主进程的主版本;
将所述待修复IE浏览器的主进程的主版本与所述注册表中IE浏览器的主版本相比较,若二者相等,则确定所述待修复IE浏览器的主进程的主版本为所述待修复IE浏览器的主版本;若二者不相等,则将二者中值大的主版本作为所述待修复IE浏览器的主版本。
4.根据权利要求1所述的IE浏览器的修复方法,其特征在于,所述对所述待修复IE浏览器的待修复项进行修复,包括:
在所述待修复IE浏览器的注册表中创建所述至少一个注册表项。
5.根据权利要求1或4所述的IE浏览器的修复方法,其特征在于,所述根据所述备用文件,查找所述待修复IE浏览器的待修复项,包括:
根据所述注册表修复库,遍历所述当前系统中的注册表,判断所述注册表修复库中的所有注册表项下的值,在当前系统的注册表中对应的注册表项下是否均存在;和\或
根据所述注册表修复库,遍历当前系统中的注册表,判断当前系统的注册表中各注册表项下的值是否均为原始值。
6.根据权利要求5所述的IE浏览器的修复方法,其特征在于,所述对所述待修复IE浏览器的待修复项进行修复,包括:
根据所述注册表修复库,遍历所述当前系统中的注册表,若确定所述注册表修复库中的至少一个注册表项下的值,在当前系统的注册表中对应的注册表项下不存在,则在当前系统的注册表中对应的注册表项下进行所述值的创建;和\或
根据所述注册表修复库,遍历当前系统中的注册表,若判断当前系统的注册表中各注册表项下的值不是原始值,则将所述值修复为对应的原始值。
7.一种IE浏览器的修复装置,其特征在于,包括:
主版本获取单元,用于获取当前系统安装的待修复IE浏览器的主版本;
备用文件获取单元,用于根据所述主版本,获取与所述主版本相对应的IE浏览器备用文件;
待修复项查找单元,用于根据所述备用文件,查找所述待修复IE浏览器的待修复项;
修复单元,用于对所述待修复IE浏览器的待修复项进行修复;
所述备用文件获取单元包括:
第二获取子单元,用于根据所述主版本,获取与所述主版本相对应的IE浏览器的注册表修复库;其中,所述注册表修复库中具有所述IE浏览器应该安装的所有注册表项以及这些所有注册表项的各自所对应的值;
所述待修复项查找单元包括:
第二遍历子单元,用于根据所述注册表修复库,遍历所述当前系统中的注册表;
第二判断子单元,用于判断所述注册表修复库中的所有注册表项,在当前系统中的注册表中是否均存在;若判断所述注册表修复库中的至少一个注册表项,在当前系统中的注册表中不存在,则将所述不存在的至少一个注册表项记录为所述待修复IE浏览器的待修复项。
8.根据权利要求7所述的IE浏览器的修复装置,其特征在于,所述主版本获取单元包括:
第一主版本获取子单元,用于获取当前系统安装的待修复IE浏览器的内核文件的主版本、以及所述待修复IE浏览器的主进程的主版本;
第一主版本比较子单元,用于将所述待修复IE浏览器的主进程的主版本与所述内核文件的主版本相比较,若二者相等,则确定所述待修复IE浏览器的主进程的主版本为所述待修复IE浏览器的主版本。
9.根据权利要求7所述的IE浏览器的修复装置,其特征在于,所述主版本获取单元包括:
第二主版本获取子单元,用于获取当前系统的注册表中IE浏览器的主版本,以及所述待修复IE浏览器的主进程的主版本;
第二主版本比较子单元,用于将所述待修复IE浏览器的主进程的主版本与所述注册表中IE浏览器的主版本相比较,若二者相等,则确定所述待修复IE浏览器的主进程的主版本为所述待修复IE浏览器的主版本;若二者不相等,则将二者中值大的主版本作为所述待修复IE浏览器的主版本。
10.根据权利要求7所述的IE浏览器的修复装置,其特征在于,所述修复单元包括:
注册表项创建子单元,用于在所述待修复IE浏览器的注册表中创建所述至少一个注册表项。
11.根据权利要求7或10所述的IE浏览器的修复装置,其特征在于,所述待修复项查找单元包括:
第三遍历子单元,用于根据所述注册表修复库,遍历所述当前系统中的注册表;
第三判断子单元,用于判断所述注册表修复库中的所有注册表项下的值,在当前系统的注册表中对应的注册表项下是否均存在;
其中,所述修复单元包括:
值的创建子单元,用于根据所述第三判断子单元的判断结果,若确定所述注册表修复库中的至少一个注册表项下的值,在当前系统的注册表中对应的注册表项下不存在,则在当前系统的注册表中对应的注册表项下进行所述值的创建;和\或
值的修改子单元,用于根据所述第三判断子单元的判断结果,若判断当前系统的注册表中各注册表项下的值不是原始值,则将所述值修复为对应的原始值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410145884.XA CN103914357B (zh) | 2014-04-11 | 2014-04-11 | 一种ie浏览器的修复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410145884.XA CN103914357B (zh) | 2014-04-11 | 2014-04-11 | 一种ie浏览器的修复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914357A CN103914357A (zh) | 2014-07-09 |
CN103914357B true CN103914357B (zh) | 2017-04-26 |
Family
ID=51040060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410145884.XA Active CN103914357B (zh) | 2014-04-11 | 2014-04-11 | 一种ie浏览器的修复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914357B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302654B (zh) * | 2014-07-25 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 一种修复浏览器内核的方法和装置 |
CN105279054A (zh) * | 2015-09-25 | 2016-01-27 | 北京金山安全软件有限公司 | 一种外设异常修复方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408861A (zh) * | 2007-10-11 | 2009-04-15 | 鸿富锦精密工业(深圳)有限公司 | 应用程序实时监控系统及方法 |
CN101562609A (zh) * | 2009-05-27 | 2009-10-21 | 西北大学 | Vpn网络安全漏洞检测全局准入控制系统 |
CN102902922A (zh) * | 2012-09-29 | 2013-01-30 | 北京奇虎科技有限公司 | 文件修复方法和系统 |
-
2014
- 2014-04-11 CN CN201410145884.XA patent/CN103914357B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408861A (zh) * | 2007-10-11 | 2009-04-15 | 鸿富锦精密工业(深圳)有限公司 | 应用程序实时监控系统及方法 |
CN101562609A (zh) * | 2009-05-27 | 2009-10-21 | 西北大学 | Vpn网络安全漏洞检测全局准入控制系统 |
CN102902922A (zh) * | 2012-09-29 | 2013-01-30 | 北京奇虎科技有限公司 | 文件修复方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103914357A (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8850393B2 (en) | Method and apparatus for testing software | |
CN104102643B (zh) | 一种进行页面快照的方法和装置 | |
US20070256056A1 (en) | Tool for automated extraction and loading of configuration settings | |
US9513901B2 (en) | Deploying incremental scripts | |
CN106406945A (zh) | 一种安卓系统so文件的加载方法及电子设备 | |
US9880924B2 (en) | Source code unit testing using an indexing tool | |
US9063742B1 (en) | Version histories for multiple portions of program code | |
CN103914357B (zh) | 一种ie浏览器的修复方法及装置 | |
CN105224674A (zh) | 一种基于移动设备的智能搜索方法及系统 | |
CN104216751A (zh) | 一种应用程序的功能组件界面资源的加载方法及系统 | |
CN101620573B (zh) | X86体系结构内存管理单元虚拟化方法 | |
CN106155832A (zh) | 一种数据恢复的方法、装置及Android设备 | |
CN104636480B (zh) | 重建备机数据库的方法及其装置 | |
CN107784055A (zh) | 基于非关系型数据库的事务处理方法和装置 | |
JP2000242672A (ja) | 形式的論理検証装置および形式的論理検証方法 | |
US8819626B2 (en) | Sharable development environment bookmarks for functional/data flow | |
CN105955586A (zh) | 一种在终端上显示关键词的释义的方法和装置 | |
CN105700899A (zh) | 一种人机命令脚本更新方法及装置 | |
CN115809193A (zh) | 前端逆向异常数据健壮性检测方法、装置及存储介质 | |
CN103927345B (zh) | 一种jsp标签嵌套的方法及装置 | |
CN107092490B (zh) | 水平列表的展示方法及装置 | |
CN109101242B (zh) | 数据库自动化部署方法及装置 | |
US20170032552A1 (en) | Implementing out of order access to reversal operations in images | |
CN103514089B (zh) | 软件管理器的软件安装检测方法和系统 | |
CN109002343B (zh) | 一种实现虚拟机批量创建的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181228 Address after: 519031 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Patentee after: Zhuhai Seal Interest Technology Co., Ltd. Address before: 519070, six level 601F, 10 main building, science and technology road, Tangjia Bay Town, Zhuhai, Guangdong. Patentee before: Zhuhai Juntian Electronic Technology Co.,Ltd. |