一种应用程序检测及安装方法

文档序号:6514976阅读:185来源:国知局
专利名称:一种应用程序检测及安装方法
技术领域
本发明涉及计算机技术领域,更确切地说是涉及一种应用程序检测及安装方法方法。
背景技术
目前,计算机已经成为人们工作、学习和生活中必不可少的工具。为方便用户的使用,很多知名的计算机厂商在计算机出厂时,都会为计算机安装LINUX或DOS等操作系统,以及这些操作系统的相关应用。为进一步方便用户的使用,计算机厂商往往还会为用户提供基于某些系统的重要应用,这些重要应用可以是驱动程序、系统保护功能等,这些应用所提供的功能往往都是用户非常需要的。
用户在得到计算机后,往往都会根据自身的需要安装Windows之类的操作系统。但用户的操作系统安装程序只会安装操作系统最基本的功能,不会安装厂家为用户提供的那些重要应用,因此会导致厂商所提供的重要应用没有被安装到计算机上。用户还可能因没有找到厂商提供的光盘,或者是对厂商提供的功能不了解而没有安装重要应用。另外,即使厂商在计算机出厂时为用户安装了那些重要应用,也很可能会因用户在使用计算机过程中的误操作而卸载应用程序,或者因文件丢失而使得重要应用不能正常运行,还可能是因用户在重新安装新的系统时没有再次安装相关应用而导致无法使用该应用。
举例来说,很多电子教育用户、网吧用户都会使用硬盘保护功能,所谓硬盘保护功能是指在硬盘中设置一定的区间作为保护空间,在设置了硬盘保护功能后,相应保护空间的数据不能被随意访问,如果需要访问该保护空间,则需要用特定的指令来打开该硬盘保护空间。基于用户对硬盘保护的要求,一般的计算机在出厂时会预装DOS系统以及该硬盘保护功能所对应的应用软件,硬盘保护功能在DOS系统下可以正常工作。而大多数用户都会在计算机中安装Windows系统,并会设置计算机在开机时通过该硬盘保护功能对Windows进行保护,但如果用户在安装Windows系统的过程中忽略了安装硬盘保护程序,则会造成硬盘保护功能在Windows系统下的失效,影响了用户对硬盘保护功能的正常使用。

发明内容
有鉴于此,本发明所要解决的主要问题在于提供一种应用程序检测方法,以帮助用户确定所需的应用程序是否已被安装在计算机上。
本发明还进一步提供了一种应用程序安装方法,直接为计算机自动安装应用程序的。
本发明的一种应用程序检测方法,该方法包括以下步骤a.在计算机中设置用于检测应用程序是否安装的检测模块;b.在计算机开机后,启动该检测模块,通过该检测模块判断应用程序的相关信息是否已被保存,如果是,则确定该应用程序已被安装,否则,确定该应用程序没有正确安装。
所述步骤a中,所述检测模块设置在计算机的基本输入输出系统(BIOS)中,或者设置在计算机的特定服务区中。
所述在计算机开机后启动检测模块为由计算机中的BIOS启动该检测模块。
所述步骤b中,所述应用程序的相关信息被保存包括相应目录下存有该应用程序,且注册表的相应分支下存有该应用程序的注册表信息;所述应用程序的相关信息没有被保存包括相应目录下没有保存该应用程序,和/或注册表的相应分支下没有保存该应用程序的注册表信息。
所述注册表信息包括该应用程序在注册表中的对应项,保存在该对应项下的应用程序值以及该值所对应的数据;步骤b中,所述注册表的相应分支下没有保存该应用程序的注册表信息为注册表的相应分支下不存在该应用程序的对应项,或该应用程序的对应项下不存在应用程序值和/或不存在应用程序值所对应的数据。
在所述步骤b确定该应用程序没有正确安装后,进一步包括计算机显示该应用程序没有正确安装的信息。
在所述步骤b确定该应用程序没有正确安装后,进一步包括根据计算机中预先保存的应用程序信息重新安装该应用程序。
所述根据计算机中预先保存的应用程序信息重新安装该应用程序包括将预先保存的应用程序信息复制到相应的目录下;和/或在注册表的相应分支下创建该应用程序的对应项,并在该对应项下创建该应用程序的值及该值所对应的数据;和/或在注册表相应分支的对应项下创建该应用程序的值;和/或在注册表相应分支的对应项下创建该应用程序的值所对应的数据。
所述步骤b中,在通过所述检测模块判断应用程序的相关信息是否被保存之前,进一步包括b1.通过所述检测模块判断该应用程序所基于的操作系统是否安装,如果是,则继续执行判断应用程序的相关信息是否被保存的步骤;否则,结束本处理流程。
所述步骤b1中,所述判断该应用程序所基于的操作系统是否安装包括以下步骤b11.检查系统引导硬盘上的激活分区;b12.查找该激活分区中目录下的操作系统相关目录,并读取该相关目录下的操作系统相关字符串,如果读取到,则根据读取到的相关字符串确定操作系统的安装目录,并通过检查该安装目录下文件的内容确定是否安装了相应的操作系统,否则,直接确定该应用程序所基于的操作系统没有安装。
本发明的一种应用程序安装方法,该方法包括以下步骤A、在计算机中设置用于安装应用程序的安装模块,并保存待安装的应用程序信息;B、计算机在开机后,启动该安装模块,该安装模块将保存的应用程序信息复制到相应的目录下,在注册表的相应分支下创建该应用程序的对应项,并在该对应项下创建该应用程序的值以及该值所对应的数据。
所述安装模块设置在计算机的BIOS中,或者设置在计算机的特定服务区中。
所述在计算机开机后启动安装模块为由计算机中的BIOS启动该安装模块。
所述步骤B中,在安装模块启动之后,并在执行后续复制应用程序信息及创建对应项之前,进一步包括B1、安装模块判断该应用程序所基于的操作系统是否安装,如果是,则继续执行后续复制应用程序信息及创建对应项的操作;否则,结束本处理流程。
所述步骤B1中,所述判断该应用程序所基于的操作系统是否安装包括B11、检查系统引导硬盘上的激活分区;B12、查找该激活分区中目录下的操作系统相关目录,并读取该相关目录下的操作系统相关字符串,如果读取到,则根据读取到的相关字符串确定操作系统的安装目录,并通过检查该安装目录下文件的内容确定是否安装了相应的操作系统,否则,直接确定该应用程序所基于的操作系统没有安装。
本发明方案通过在计算机中设置检测模块,通过该检测模块对相应的关键应用是否安装进行检测,实现了对应用程序是否安装的确定。
本发明方案还通过用BIOS启动检测模块,使得计算机可以在操作系统之外完成对应用程序是否安装的检测。
本发明还进一步提供了在确定应用程序没有安装后,自动安装该应用程序的方案,在实现安装应用程序的同时,减少了用户的操作,降低了产品的总保有成本(TCO),提高了产品的易用性。
本发明方案还提供了直接安装应用程序的方案,在简化了计算机处理的同时,还实现了应用程序的安装,使得用户不用作任何设置即可使用厂商提供的关键应用。
另外,本发明还进一步提供了在对应用程序是否安装进行检测之前,或者直接安装应用程序之前,对应用程序所基于的操作系统是否安装进行检测的方案。由于不同的应用程序对应不同的操作系统,应用程序只能在特定的操作系统下有效,如果是在非指定的操作系统下安装应用程序,不仅很可能会导致该应用程序无法正常工作,甚至还可能会造成此操作系统也无法正常工作,因此,本发明所提供的对操作系统是否安装进行检测的方案,进一步保证了应用程序在安装后能够正常工作。


图1为本发明方案对应用程序是否安装进行检测的流程图;图2为本发明方案对操作系统是否安装进行检测的流程图。
具体实施例方式
由于在每种操作系统下安装的应用程序往往是安装在特定的目录下,具体来说往往是安装在根目录下的,并在注册表中设有相应的记录信息,可以通过查找该根目录及注册表来确定厂商所提供的重要应用是否被安装,因此,本发明方案的检测方法主要是在计算机中添加对关键应用是否安装进行检测的检测模块,并通过该检测模块查找相应的根目录及注册表来确定相应的应用是否被安装。
下面再结合附图及具体实施例对本发明方案作进一步详细的说明。
以针对Windows XP系统进行检测为例,其检测过程如图1所示,对应以下步骤步骤101、在计算机中设置对关键应用是否安装进行检测的检测模块。
具体来说,该检测模块可以直接设置在计算机的BIOS中,也可以设置在计算机硬盘的某个特定服务区中。
步骤102~103、计算机在每次开机后,自动启动该检测模块,并通过该检测模块检测根目录及注册表中是否存有该应用的相关信息来确定相应的应用是否被安装,如果根目录及注册表中均存有该应用的相关信息,则确定相应的应用被正确安装,并结束本处理流程;如果根目录和注册表中缺少任何一个与该应用相关的信息,则执行步骤104。
其中,计算机启动该检测模块可以是在每次开机启动BIOS时实现。当然,如果该检测模块是设置在计算机硬盘中,则还可以在计算机启动后由CPU来调用该检测模块。
对于Windows XP系统来说,厂商所提供的重要应用具体可以保存在Windows XP安装目录的System32子目录下的Proctec.DLL中,该应用在注册表文件中的分支可以为“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\LenovoSystemProcted\”下值为“ImagePath”,该值的数据为REG_EXPAND_SZ类型的“Proctec.DLL”。则检测模块在启动后,应该检查该System32子目录下是否具有Proctec.DLL,以及查找注册表的“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services”下是否存在“LenovoSystemProcted”项,如果存在该项,则进一步检测该项下是否存在值“ImagePath”,相应的数据为“Proctec.DLL”。只要该System32子目录下不存在该Proctec.DLL,或者该注册表的相应分支下没有“LenovoSystemProcted”项,或者该“LenovoSystemProcted”项下没有值“ImagePath”,或者该“LenovoSystemProcted”项下没有该值所对应的数据“Proctec.DLL”,就可以确定该应用没有被正确安装。
步骤104、检测模块确定该应用没有被正确安装。
在检测模块确定该应用没有被正确安装后,还可以通过计算机将该应用没有被正确安装提示给用户。
通过上述步骤,即可确定相关应用是否被安装。
上述步骤103在确定应用被安装时直接结束了处理,为更好地为用户提供服务,还可以通过计算机向用户提示相关应用已被安装。另外,如果是由BIOS执行的检测,则可以在确定相关应用被安装后,将系统的控制权交给硬盘上的操作系统。
用户在通过上述步骤104确定相关应用没有被安装后,可以在自身需要该应用时,通过手动方式安装该应用。但由用户自己安装应用时,容易出现因不知道如何安装,或没有安装程序而无法完成安装的问题。为解决这个问题,本发明方案还进一步提供了在检测出相关应用没有被安装后,自动安装该应用的方案。
下面以应安装在Windows XP安装目录的System32子目录下的应用程序Proctec.DLL为例,对自动安装应用的方案进行说明。其中,该应用程序在注册表的“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\LenovoSystemProcted\”下的值为“ImagePath”,该值的数据为REG_EXPAND_SZ类型的“Proctec.DLL”。
要想通过检测模块安装应用程序,则需要在计算机中预先保存该应用程序,为方便检测模块获取该应用程序,可以将该应用程序与检测模块保存在同一位置。之后,检测模块即可根据步骤102检测出的没有安装的信息进行安装。具体来说,如果是System32子目录下没有Proctec.DLL,则应该从计算机中获取该应用程序Proctec.DLL,并将该应用程序复制到System32子目录下;如果是注册表文件的“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\”下没有“LenovoSystemProcted”项,则根据计算机中保存的应用程序在注册表中创建“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\LenovoSystemProcted\”目录,并在该项下设置“ImagePath”,以及该值所对应的数据“Proctec.DLL”。另外,在注册表文件的“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\LenovoSystemProcted\”目录已经存在的情况下,还可能出现该目录下没有值“ImagePath”,和/或该值所对应的数据“Proctec.DLL”的情况,如果该目录下没有值“ImagePath”,则在该目录下创建“ImagePath”,同样,如果该目录下没有值“ImagePath”所对应的数据“Proctec.DLL”,则根据计算机中保存的应用程序创建该值所对应的数据,且该数据为REG_EXPAND_SZ类型的“Proctec.DLL”,当然,如果这两个信息都没有,则这两个信息都要创建。
通过上述处理方案,即可完成检查Windows XP系统中是否安装了相关的应用,并在该应用没有安装时,进一步为Windows XP系统安装该应用。如果该检测模块是通过设置在BIOS中实现的,则该检测是在Windows XP系统之外完成的,也即在Windows XP系统运行时,计算机已获知相关的应用程序是否被安装了。
上述处理方案都是在已经确定计算机安装了Windows XP之类的操作系统的情况下的处理,实际上,还可能出现操作系统没有被安装的情况,这种情况下,显然就不需要再对操作系统中是否安装特定应用进行检测了。基于这种情况,本发明方案在检测模块对根目录及注册表进行检测之前,还可以首先对操作系统是否安装进行检测。
对操作系统的检测如图2所示,具体包括以下步骤步骤201、检查系统引导硬盘上的激活分区。
之所以检查激活分区,是因为操作系统的目录信息保存在激活分区中。
步骤202、在查到激活分区后,查找该分区根目录下的Boot.ini。
步骤203、读取该Boot.ini下与操作系统相关的字符串,如果读取到,则进入步骤204;否则,执行步骤205。
对于Windows操作系统来说,该字符串为“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS”,或与之相似的字符串。这类字符串是微软规定的用于表示操作系统安装地点的安装目录,括号中的0或1也可能是其他数字,比如2、3、4等。rdisk后面括号中的数字表示系统的第几块磁盘,1为系统的第一个磁盘,2为系统的第二个磁盘。partition后面括号中的数字表示该磁盘的第几个分区,1为第一个分区,2为第二个分区。“\”后面的WINDOWS即为Windows的具体安装目录,可以是其他字母、数字、符号的组合,比如,为“Winnt”、“WinXP”、“123”等,以表示操作系统安装在相关目录下。这些信息的组合即可表示Windows系统在相应磁盘的安装目录。检测模块如果没有读取到该字符串,则可以确定系统中没有安装相应的操作系统,因此不用再对相应的应用程序是否安装进行检测了;如果读取到该字符串,则进入步骤204。
步骤204、查找安装目录下的文件,并通过分析该文件的内容确定该安装目录下是否安装了相应的操作系统,如果安装,则执行步骤206;否则,执行步骤205。
步骤205、确定系统没有安装相应的操作系统,并结束处理。
步骤206、执行上述对应用程序是否安装的检测处理。
从图2所示步骤可以看出,如果计算机没有安装操作系统,则没有必要再去检测基于该操作系统是否安装了有关的应用程序了。之所以提供这种对操作系统是否安装进行判断的处理方案,是因为由于不同的应用程序对应不同的操作系统,应用程序只能在特定的操作系统下有效,如果是在非指定的操作系统下安装应用程序,不仅很可能会导致该应用程序无法正常工作,甚至还可能会造成此操作系统也无法正常工作。
另外,为使计算机的处理简单化,还可以直接在计算机中安装关键应用程序,为此,本发明提供了另一种不对应用程序是否安装进行检测,直接安装应用程序的实现方案,该方案可以通过以下步骤实现步骤A、在计算机中设置用于安装应用程序的安装模块,并保存需要安装的应用程序信息。
该安装模块可以设置在BIOS中,也可以设置在计算机的特定服务区中。该安装模块可以通过BIOS启动。如果安装模块是设置在计算机的特定服务器中,则可以在计算机开机后,由CPU启动该安装模块。
为方便安装模块获取所保存的应用程序信息,可以将该应用程序信息与安装模块保存在同一位置。
步骤B、在计算机开机后,启动该安装模块,该安装模块将预先保存的应用程序信息复制到相应的根目录下,在注册表的相应分支下创建该应用程序的对应项,并在该对应项下创建该应用程序的值以及该值所对应的数据。
通过上述两个步骤即可实现计算机对应用程序的自动安装。
由于在操作系统没有安装的情况下,即使重新安装了该应用程序,该应用程序也无法针对该操作系统提供自身的功能,因此,本发明在上述步骤A及B的基础上,还添加了对操作系统是否安装进行检测的方案,该检测方案即为图2所示方案,因此不再赘述。以上所述仅为本发明方案的较佳实施例,并不用以限定本发明的保护范围。
权利要求
1.一种应用程序检测方法,其特征在于,该方法包括以下步骤a.在计算机中设置用于检测应用程序是否安装的检测模块;b.在计算机开机后,启动该检测模块,通过该检测模块判断应用程序的相关信息是否已被保存,如果是,则确定该应用程序已被安装,否则,确定该应用程序没有正确安装。
2.根据权利要求1所述的方法,其特征在于所述步骤a中,所述检测模块设置在计算机的基本输入输出系统BIOS中,或者设置在计算机的特定服务区中。
3.根据权利要求2所述的方法,其特征在于,所述在计算机开机后启动检测模块为由计算机中的BIOS启动该检测模块。
4.根据权利要求1所述的方法,其特征在于所述步骤b中,所述应用程序的相关信息被保存包括相应目录下存有该应用程序,且注册表的相应分支下存有该应用程序的注册表信息;所述应用程序的相关信息没有被保存包括相应目录下没有保存该应用程序,和/或注册表的相应分支下没有保存该应用程序的注册表信息。
5.根据权利要求4所述的方法,其特征在于,所述注册表信息包括该应用程序在注册表中的对应项,保存在该对应项下的应用程序值以及该值所对应的数据;步骤b中,所述注册表的相应分支下没有保存该应用程序的注册表信息为注册表的相应分支下不存在该应用程序的对应项,或该应用程序的对应项下不存在应用程序值和/或不存在应用程序值所对应的数据。
6.根据权利要求1所述的方法,其特征在于,在所述步骤b确定该应用程序没有正确安装后,进一步包括计算机显示该应用程序没有正确安装的信息。
7.根据权利要求1所述的方法,其特征在于,在所述步骤b确定该应用程序没有正确安装后,进一步包括根据计算机中预先保存的应用程序信息重新安装该应用程序。
8.根据权利要求7所述的方法,其特征在于,所述根据计算机中预先保存的应用程序信息重新安装该应用程序包括将预先保存的应用程序信息复制到相应的目录下;和/或在注册表的相应分支下创建该应用程序的对应项,并在该对应项下创建该应用程序的值及该值所对应的数据;和/或在注册表相应分支的对应项下创建该应用程序的值;和/或在注册表相应分支的对应项下创建该应用程序的值所对应的数据。
9.根据权利要求1至8中任意一项所述的方法,其特征在于所述步骤b中,在通过所述检测模块判断应用程序的相关信息是否被保存之前,进一步包括b1.通过所述检测模块判断该应用程序所基于的操作系统是否安装,如果是,则继续执行判断应用程序的相关信息是否被保存的步骤;否则,结束本处理流程。
10.根据权利要求9所述的方法,其特征在于,所述步骤b1中,所述判断该应用程序所基于的操作系统是否安装包括以下步骤b11.检查系统引导硬盘上的激活分区;b12.查找该激活分区中目录下的操作系统相关目录,并读取该相关目录下的操作系统相关字符串,如果读取到,则根据读取到的相关字符串确定操作系统的安装目录,并通过检查该安装目录下文件的内容确定是否安装了相应的操作系统,否则,直接确定该应用程序所基于的操作系统没有安装。
11.一种应用程序安装方法,其特征在于,该方法包括以下步骤A、在计算机中设置用于安装应用程序的安装模块,并保存待安装的应用程序信息;B、计算机在开机后,启动该安装模块,该安装模块将保存的应用程序信息复制到相应的目录下,在注册表的相应分支下创建该应用程序的对应项,并在该对应项下创建该应用程序的值以及该值所对应的数据。
12.根据权利要求11所述的方法,其特征在于,所述安装模块设置在计算机的BIOS中,或者设置在计算机的特定服务区中。
13.根据权利要求12所述的方法,其特征在于,所述在计算机开机后启动安装模块为由计算机中的BIOS启动该安装模块。
14.根据权利要求11至13中任意一项所述的方法,其特征在于所述步骤B中,在安装模块启动之后,并在执行后续复制应用程序信息及创建对应项之前,进一步包括B1、安装模块判断该应用程序所基于的操作系统是否安装,如果是,则继续执行后续复制应用程序信息及创建对应项的操作;否则,结束本处理流程。
15.根据权利要求14所述的方法,其特征在于所述步骤B1中,所述判断该应用程序所基于的操作系统是否安装包括B11、检查系统引导硬盘上的激活分区;B12、查找该激活分区中目录下的操作系统相关目录,并读取该相关目录下的操作系统相关字符串,如果读取到,则根据读取到的相关字符串确定操作系统的安装目录,并通过检查该安装目录下文件的内容确定是否安装了相应的操作系统,否则,直接确定该应用程序所基于的操作系统没有安装。
全文摘要
本发明公开了一种应用程序检测方法,该方法包括以下步骤在计算机中设置用于检测应用程序是否安装的检测模块;在计算机开机后,启动该检测模块,通过该检测模块判断应用程序的相关信息是否已被保存,如果是,则确定该应用程序已被安装,否则,确定该应用程序没有正确安装。本发明同时还公开了一种应用程序安装方法。本发明实现了确定应用程序是否安装。并进一步提供了自动安装应用程序的方案,在实现安装应用程序的同时,减少了用户的操作,降低了产品的TCO,提高了产品的易用性。
文档编号G06F9/445GK1815445SQ200510007510
公开日2006年8月9日 申请日期2005年2月5日 优先权日2005年2月5日
发明者杨文兵 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1