一种安装方法及系统的制作方法_2

文档序号:9375278阅读:来源:国知局
装引擎。
[0057]具体的,当用户想要在操作系统中安装软件时,双击安装包,安装包进入运行状态,由于安装包本身不需要较高的管理员权限,因此可以从所述安装包中解压出安装引擎。
[0058]需要说明的是,安装包(Install Pack),一般指的是软件安装包,是一种可自行解压缩文件的可执行文件,可以包括安装软件时所需要的所有文件。运行安装包后,可以将软件的所有文件释放到硬盘上,再进行相应的修改和/或创建工作后,即可实现安装包的安装操作。
[0059]举例说明,本发明实施例中,运行安装包的过程中,从所述安装包中解压出安装弓I擎的方法可以包括但不限于以下两种:
[0060]第一种:请参考图2,其为本发明实施例所提供的安装包的结构示例图,如图2所示,本发明实施例中,所述安装包可以包括文件头、解压引擎、安装引擎、安装包资源的唯一标识和安装包资源。
[0061]如图2所示,运行所述安装包的过程中,所述安装包先从所述安装包中释放出解压引擎,然后使用所述解压引擎从所述安装包中解压出所述安装引擎。
[0062]第二种:若安装包中没有包含解压引擎,则所述安装包可以调用所述安装包所在操作系统中的解压缩算法,以便于所述解压缩算法从所述安装包中解压出所述安装引擎。
[0063]例如,所述解压缩算法可以包括但不限于:LZMA算法或者zip算法等。
[0064]S102,启动所述安装引擎。
[0065]具体的,在从所述安装包中解压出安装引擎后,所述安装包可以启动所述安装引擎,用以触发所述安装引擎对所述安装包执行安装操作。
[0066]S103,对启动的所述安装引擎进行检查,以获得所述安装引擎的权限信息。
[0067]具体的,举例说明,本发明实施例中,对启动的所述安装引擎进行检查,以获得所述安装引擎的权限信息的方法可以包括但不限于:
[0068]所述安装包所在操作系统对所述安装引擎进行监测,当所述操作系统监测到所述安装引擎被启动时,所述操作系统对启动的所述安装引擎进行UAC检查,以获得所述安装引擎的权限信息。
[0069]在一个具体的实现过程中,当所述安装包启动所述安装引擎后,所述安装包所在操作系统可以获知这一事件的发生,从而可以对所述安装引擎进行UAC检查,以获得所述安装引擎的权限信息。
[0070]可以理解的是,本发明实施例中,先释放出需要较高权限的安装引擎,然后操作系统仅对需要较高权限的安装引擎进行UAC检查,相当于将UAC检查放在安装引擎上,而不是对整个安装包进行UAC检查。而且,安装引擎一般不带有安装包资源,因此安装引擎一般比较小,只有几M大小,因此,仅对安装引擎进行UAC检查时,速度会比较快。
[0071 ] S104,根据所述安装引擎的权限信息,进行所述安装包的安装操作。
[0072]具体的,举例说明,根据所述安装引擎的权限信息,进行所述安装包的安装操作的方法可以包括但不限于:
[0073]所述操作系统判断获得的所述安装引擎的权限信息是否为较高的管理员权限,如果判断出所述安装引擎的权限信息为管理员权限,则说明需要用户进一步授权,则可以显示权限确认信息,如权限确认框,用于请求用户确认是否给与安装引擎管理员权限。
[0074]如果用户点击权限确认框中的“是”,则说明用户根据所述权限确认信息,对所述安装引擎的管理员权限进行授权,这样,所述安装引擎就具有了较高的管理员权限,然后,所述安装引擎才可以开始进行所述安装包的安装操作。
[0075]反之,如果用户没有点击权限确认框中的“是”,说明用户没有对所述安装引擎的管理员权限进行授权,这样,所述安装引擎就没有较高的管理员权限,不能进行所述安装包的安装操作。
[0076]需要说明的是,所述安装引擎只有在获取了较高的管理员权限后,才能修改所述操作系统中较为敏感的信息,以完成所述安装包的安装操作。
[0077]在一个具体的实现过程中,可以预先利用VS2010编译工具对所述安装引擎进行编译,在编译时,对于选项 “UAC Execut1n Level ”,可以选中 “requireAdministrator (/level = ’ requireAdministrator’) ”,选中该选项,表示在编译过程中请求将安装引擎的权限信息编译成管理员权限,这样,编译出所述安装引擎的权限信息为管理员权限。
[0078]在一个具体的实现过程中,所述操作系统可以利用以下方式中至少一种来对所述安装引擎进行UAC检查,以判断所述安装引擎是否为管理员权限:
[0079]1、安装引擎的名称是否包含关键字install、setup或者update等,若包含关键字,则认为安装引擎的权限信息是管理员权限。
[0080]2、安装引擎的资源区的版本资源中以下字段内是否包含关键字:厂商(Vendor)、公司名(CompanyName)、产品名(ProductName)、文件说明(File Descript1n)、初始文件名(Original Filename)、内部文件名(Internal Name)、导出名(Export Name)。若包含关键字,则认为安装引擎的权限信息是管理员权限。
[0081]3、安装引擎的SXS清单中是否包含关键字。若包含关键字,则认为安装引擎的权限信息是管理员权限。
[0082]4、安装引擎的String Table是否包含关键字。若包含关键字,则认为安装引擎的权限信息是管理员权限。
[0083]5、安装引擎是否包含特征字节流,若包含特征字节流,所述安装引擎产的权限信息是管理员权限。
[0084]举例说明,所述安装包进行所述安装包的安装操作的方法可以包括但不限于:
[0085]首先,所述安装包可以将所述安装包的路径信息作为参数,传输给所述安装引擎,这样,所述安装引擎就可以获得所述安装包传输的所述安装包的路径信息。然后,所述安装引擎根据所述路径信息,可以找到所述安装包里面携带的安装包资源,进而将找到的安装包资源解压到指定文件夹中。最后,所述安装引擎进行修改操作和/或创建操作,以完成所述安装包的安装操作。
[0086]可以理解的是,所述安装包的路径信息指的是所述安装包在计算机磁盘上的存储地址。
[0087]在一个具体的实现过程中,所述安装包资源是压缩文件,因此,所述安装引擎可以调用预先释放出的解压引擎,以便于解压引擎将所述安装包所包含的安装包资源解压到指定文件夹中。
[0088]在一个具体的实现过程中,所述指定文件夹可以是默认文件夹,或者,还可以是用户配置的文件夹。
[0089]在一个具体的实现过程中,所述安装包在启动所述安装引擎后,可以判断所述安装引擎是否正常启动,若安装引擎已经正常启动,则所述安装包可以退出运行。其中,运行安装引擎的进程可以利用进程间通信机制,将安装引擎是否正常启动的信息发送给运行所述安装包的进程,以使得所述安装包能够获知所述安装引擎是否正常启动。
[0090]可选的,所述安装引擎可以在进行安装包的安装过程中,调起安装界面,所述安装界面用于显示所述安装包的安装进度信息。可以理解的是,在静默安装模式下,所述安装引擎可以不调起所述安装界面。
[0091]优选的,所述安装引擎进行的修改操作可以包括但不限于:注册表修改或者系统设置修改等。所述安装引擎进行的创建操作可以包括但不限于创建快捷方式等。
[0092]本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
[0093]请参考图3,其为本发明实施例所提供的安装系统的结构示意图。如图所示,该系统包括:
[0094]安装包301,用于运行所述安装包的过程中,从所述安装包中解压出安装引擎302 ;
[0095]所述安装包301,还用于启动所述安装引擎302 ;
[0096]操作系统303,用于对启动的所述安装引擎302进行检查,以获得所述安装引擎的权限信息;
[0097]所述安装引擎302,还用于根据所述安装引擎的权限信息,进行所述安装包301的安装操作。
[0098]优选的,所述安装包301具体用于:
[0099]运行所述安装包的过程中,从所述安装包中释放解压引擎,并使用所述解压引擎从所述安装包中解压出所述安装引擎;或者,
[0100]调用所述安装包所在操作系统中的解压
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1