背景技术
目前,例如手机等移动终端得到了相当广泛的普及和发展,因此,围绕移动终端的各种软件应用也层出不穷,吸引用户在终端中安装了越来越多的软件文件。
特别是智能手机出现后,用户可以通过大量第三方服务商提供的程序不断对手机功能进行扩充,并可以通过移动通讯网络来实现无线网络接入,越来越多的软件提供商投入到智能手机平台上,各种各样的手机应用软件运应而生。
但用户在享受丰富多彩的软件应用所带来的愉悦的时候,也遇到一些问题,例如:
1、由于经常会有软件本身在安装过程中不能选择存储路径而只能安装到手机存储中的情况,这样会很快占满有限的手机存储空间;
2、用户希望将一款已经安装在手机存储中的软件程序重新安装到存储卡中,但是已经找不到安装的源文件了,这时就无法重新安装;
3、由于原存储卡的容量太小,希望换一张容量大的存储卡,但是重新换卡后就无法使用原卡中的软件来;
4、随着手机存储,特别是系统盘中安装的软件越来越多,会造成读取速度过慢的问题。
总之,手机的内部存储空间毕竟是有限的,特别是一些软件程序只能安装到手机的内部存储器中,随着安装的软件程序越来越多,势必会影响手机的运行速度,而且在现有技术下,用户更换存储卡时也会对使用原卡中的软件程序造成不便。
发明内容
本发明所要解决的技术问题在于提供一种用于移动终端的软件转移安装方法及系统,以克服现有技术下无法对已安装软件的存储空间进行管理的问题。
为了解决上述问题,本发明提供了一种用于移动终端的软件转移安装方法,包括如下步骤:
检测移动终端中各盘符下的存储分区可用容量及各分区中已经安装的软件;
根据所述检测结果,为可转移安装软件生成对应的转移提示,所述转移提示包括提示用户可转移的目标分区和目录;
接收用户通过所述转移提示所选择的可转移安装软件及其目标分区和目录,搜索该软件的可转移信息,并根据所述可转移信息将该软件文件转移安装至该目标分区和目录。
本发明还提供一种用于移动终端的软件转移安装系统,包括:
检测模块,用于检测移动终端中各盘符下的存储分区可用容量及各分区中已经安装的软件;
提示模块,根据所述检测结果,为可转移安装软件生成对应的转移提示,所述转移提示包括提示用户可转移的目标分区和目录;
转移模块,用于接收用户通过所述转移提示所选择的可转移安装软件及其目标分区和目录,搜索该软件的可转移信息,并根据该可转移信息将该软件文件转移安装至该目标分区和目录。
应用本发明,可方便的对已经安装的软件的存储空间进行管理,既可以保留手机中已安装软件又不会影响手机的运行速度。当系统空间内安装的软件过多导致运行速度降低时,可方便的将其转移安装至其他存储区域。同时,利用本发明,在用户需要更换存储卡时,可以将原卡中的已安装软件先转移至其他存储区域,换卡后再转移回新卡内的存储区域,提高了使用者的满意度。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步说明。
本发明的主要技术思路在于,将手机中已安装的软件程序从一个盘符转移存储到另一个盘符,其中各个盘符可以是不同的存储器或存储分区,例如可以通过将手机中安装的软件程序转移存储到外部存储器,既节省了手机内部存储空间,又保留了手机中安装的软件程序,最终提高手机的运行速度。
如图1所示,为根据本发明实施例所述的用于移动终端的软件转移安装方法流程图,首先检测移动终端中各盘符下的存储分区可用容量及各分区中已经安装的软件(步骤101);然后根据所述检测结果,生成可转移安装软件列表,及可转移安装软件的对应转移提示,所述转移提示包括提示用户可转移的目标分区和目录(步骤102);之后接收用户通过所述转移提示所选择的可转移安装软件及其目标分区和目录,搜索该软件的可转移信息,并根据该可转移信息将该软件文件转移安装至该目标分区和目录(步骤103)。
对于有些应用程序,可以简单的将它们从一个文件夹直接移动到另一个目录文件夹,而不会影响到该程序的运行,但对于很多程序来说,是不能直接转移的,因为它们在上一次安装时会对注册表和/或系统文件作出修改,写入的注册表信息可能包含程序的所在文件夹信息,或者写入一些配置文件(通常是.ini文件)等。还有一些软件在安装过程中会把部分程序和驱动安装在系统目录下,这些文件不能被转移。
因此,本发明所述可转移信息可以包括该软件在上一次安装过程所添加的文件中可以被转移的文件,以及对注册表和/或系统文件和/或系统配置的修改。
所述根据该可转移信息将该软件文件转移安装至该目标分区和目录的步骤,可以包括将该软件的所述可以被转移的文件转移至目标分区和目录,并将对注册表和/或系统文件和/或系统配置的修改根据目标分区和目录再次进行修改。
例如,如果需要对安装于原分区目录C:\360中的360软件转移到目标分区目录D:\360,就可以将该软件程序所添加的文件从原文件夹目录转移至目标分区目录,同时,将注册表中的有关可转移信息也做相应的修改。例如,通过运行注册表编辑程序Regedit.exe,通过“编辑→查找”菜单查找应用程序原安装文件夹(C:\360),找到后,将其修改为目标文件夹(D:\360),继续查找、修改,直至改完所有文件夹信息为止。
而对于一些配置文件,一般可能存放在安装文件夹下或C:\Windows文件夹下,有时该文件中也会包含关于安装文件夹的信息,转移安装时也要将它修改过来。
而对所述可转移信息的搜索,可以是在本终端中执行目录文件及注册表项的扫描,也可以是事先将一些分析后的常用软件的可转移信息存储于一预置的数据文件中,通过在该数据文件中的搜索来获得对应的可转移信息。
这些可转移信息,可以是经过分析后确定的例如该软件是否是强制安装于C盘还是可选择安装于其他盘符下,会建立怎样的文件目录和路径,安装过程会释放哪些文件,释放的位置在哪里,是否可以被移动,以及对注册表项或系统文件或系统配置进行了哪些修改等,这些可转移信息都可以事先收集确定出来,并存储于数据文件中。当然,也可以将可能的安装文件目录信息放入一个脚本中,并据此执行扫描过程以确定可转移信息。
所述数据文件可以是数据库的形式,也可以是列表或文本等信息格式。根据本发明的实施例,数据文件可以是位于本机,也可以位于远程服务器。
如果数据文件位于远程服务器时,本机可以从服务器获得可转移信息的方式,可以有多种,例如,当执行转移前,首先由本机向服务器请求与该软件相对应的可转移信息;服务器收到该请求后,将该软件的可转移信息发送至终端。还可以是事先由终端定期将本机已安装软件信息告知服务器;服务器将与该终端已安装软件对应的可转移信息发送至终端存储。这样当终端执行转移安装时,即使不能与服务器连线,也可以直接调出本机内存储的可转移信息。
此外,本发明实施例所述将该软件文件转移安装至该目标分区和目录之前,还可以进一步判断该软件文件是否正在被其他程序所占用;如果是,则解除该占用程序的锁定。关于解除锁定的方式,可以是通过进程扫描,强制关闭该占用程序,终止其进程或服务等方式实现。
而对于一些手机中存在的自启动文件,是不能随意移动的,否则将导致无法正常启动。因此,本发明实施例所述将该软件文件转移安装至该目标分区和目录之前,还可以进一步判断该软件文件中是否包含自启动文件;如果包含,则保留自启动文件在原存储分区中,只移动除此文件外的其他文件,以保证移动后的软件自启动功能仍可正常使用。
而对于一些与软件相应的配置文件和日志文件,由于这些文件通常会比较大,或者随着软件的使用不断的增加,默认情况下是不建议用户移动到手机内存中的。
如图2所示,为根据本发明另一实施例所述的用于移动终端的软件转移安装方法流程图。
步骤210:接收到用户指定的转移安装操作后,在终端的存储器中搜索与待转移安装的软件程序相关的可转移信息;
步骤220:判断需要移动的软件程序中是否有文件在运行或被占用中,如果是,则执行步骤230;否则,执行步骤240;
步骤230:结束所述文件的运行或解除对该文件的占用锁定,执行步骤240;
步骤240:判断需要移动的软件程序是否在手机的内部存储器中,如果是,则执行步骤250;否则,执行步骤280;
步骤250:判断需要移动的软件程序是否存在自启动文件,如果是,则执行步骤260;否则,执行步骤270;
例如,可以根据C:\private\101f875a目录下是否存在相应的.rsc文件来判断需要移动的软件程序是否有自启动功能。如果有,则移动除.rsc文件外的其他文件,以保证移动后的软件程序的自启动功能仍可正常使用。
步骤260:保留自启动文件在原存储器中,根据可转移信息将需要移动的其他文件从原存储分区移动到目标存储分区中,包括根据可转移信息对注册表和/或系统文件进行修改。
步骤270:根据可转移信息将需要移动的程序文件从原存储分区移动到目标存储分区中,包括根据可转移信息对注册表和/或系统文件或系统配置进行修改。
步骤280:判断是否存在程序配置文件或日志文件,如果存在,则执行步骤290;否则,执行步骤270。
步骤290:保留程序配置文件和日志文件在原存储器中,将需要移动的其他文件从原存储分区移动到目标存储分区中,包括根据可转移信息对注册表和/或系统文件或系统配置进行修改。
如图3所示,为根据本发明实施例所述的用于移动终端的软件转移安装系统示意图,包括检测模块301,提示模块302,及转移模块303,其中:
检测模块301,用于检测移动终端中各盘符下的存储分区可用容量及各分区中已经安装的软件;
提示模块302,用于根据所述检测结果,生成可转移安装软件列表,及可转移安装软件的对应转移提示,所述转移提示包括提示用户可转移的目标分区和目录;
转移模块303,用于接收用户通过所述转移提示所选择的可转移安装软件及其目标分区和目录,搜索该软件的可转移信息,并根据该可转移信息将该软件文件转移安装至该目标分区和目录。
其中,所述可转移信息包括该软件通过安装过程所添加的文件中可以被转移的文件,以及对注册表和/或系统文件和/或系统配置的修改;
所述转移模块,用于将该软件的所述可以被转移的文件转移至目标分区和目录,并将对注册表和/或系统文件和/或系统配置的修改根据目标分区和目录再次进行修改。
同样,所述软件的可转移信息可以存储于一预置的数据文件中。所述数据文件可以位于终端本机或远程服务器。
所述转移模块在将该软件文件转移安装至该目标分区和目录之前,可进一步用于判断该软件文件是否正在被其他程序所占用;如果是,则解除该占用程序的锁定。
所述转移模块在将该软件文件转移安装至该目标分区和目录之前,可进一步用于判断该软件文件中是否包含自启动文件;如果包含,则保留自启动文件在原存储分区中。
应用本发明,用户可以将那些在安装过程中不能选择存储路径而只能安装到手机存储里的软件,转移到存储卡内,以节约手机的存储空间,提升速度。用户即使没有一款软件的原安装文件,只要该软件已经安装于手机存储中,就可以重新将其安装到存储卡中,而且,当用户需要更换存储卡时,也可以利用本发明来腾挪里面的软件程序。而对于一些经常使用的软件,用户可以将其转移到手机存储中以提高手机对其的读取速度。