CN102955689B - 软件安装包的制作方法和软件安装包装置 - Google Patents

软件安装包的制作方法和软件安装包装置 Download PDF

Info

Publication number
CN102955689B
CN102955689B CN201110243058.5A CN201110243058A CN102955689B CN 102955689 B CN102955689 B CN 102955689B CN 201110243058 A CN201110243058 A CN 201110243058A CN 102955689 B CN102955689 B CN 102955689B
Authority
CN
China
Prior art keywords
software
logic
installation
resource bag
installation kit
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
Application number
CN201110243058.5A
Other languages
English (en)
Other versions
CN102955689A (zh
Inventor
库宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201110243058.5A priority Critical patent/CN102955689B/zh
Publication of CN102955689A publication Critical patent/CN102955689A/zh
Application granted granted Critical
Publication of CN102955689B publication Critical patent/CN102955689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种软件安装包的制作方法,包括:A、利用脚本将软件资源文件制作成安装资源包;B、为所述安装资源包增加个性化处理逻辑;并设置视窗操作系统安装工具(Windows Installer)的应用程序编程接口(API),该API用于在安装包执行时读取所述安装资源包和个性化处理逻辑进行安装操作;C、将所述安装资源包、个性化处理逻辑以及API封装成可执行格式的软件安装包。本发明还公开了一种软件安装包装置,包括安装资源包、个性化处理逻辑模块以及API。利用本发明,既可以使软件包能顺利安装,又能为用户提供更多个性化的软件信息。

Description

软件安装包的制作方法和软件安装包装置
技术领域
本发明涉及数据处理设备的软件技术领域,尤其涉及一种软件安装包的制作方法和软件安装包装置。
背景技术
计算机软件经过了几十年的发展,慢慢地与互联网融合为一体。开放与合作已经成为互联网技术发展的必然趋势,未来的互联网可以“更多的融入”,也能更多地分享和收获。打造一个更加开发平台将使整个互联网的用户有一个全新的体验。
目前软件安装包的主要任务是:压缩程序文件到资源中,并在安装时释放程序文件到客户机。更为细粒度的任务是设定安装信息、产品名、组织文件映射,源目录到目标目录、展现用户界面,供用户查看许可协议、软件序列号、功能特性展示、安装进度等,并要配置快捷方式、注册路径、版本、控制面版“添加删除”等信息。
现有技术中,制作软件安装包通常是通过专用的制作软件来完成,常用的软件安装包的制作软件包括:
1)Nullsoft脚本安装系统(NSIS,Nullsoft Scriptable Install System),NSIS是一个开源的Windows操作系统下安装程序的制作软件。它提供了安装、卸载、系统设置、文件解压缩等功能。
2)InstallShield系统,InstallShield是行业标准工具,用于确保在客户系统上正确安装、配置、更新以及最终卸载Windows操作系统的软件产品。
3)Microsoft软件安装(MSI)文件制作工具(Windows Installer),即Windows操作系统安装管理系统,MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI是相应安装信息和操作指令的载体,是关系数据库文件,并支持回滚。
现有软件安装包制作技术的缺陷为:
现有任何一种软件安装包制作工具所制成的软件安装包都是标准的、单一的处理逻辑,例如Windws操作系统标准的安装界面以及安装进度逻辑等,在安装软件的过程中不能提供个性化定制的处理逻辑。如何使软件安装包既能在windows操作系统中顺利安装运行,又能在安装过程中为用户提供更多更个性化的软件信息,例如提供个性化的安装介绍界面逻辑、个性化的人机交互逻辑、以及个性化的产品功能处理逻辑等,已经成为目前需要迫切解决的一个技术问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种软件安装包的制作方法,既可以使软件安装包在Windows操作系统中能顺利安装,又能在安装过程中为用户提供更多个性化的软件信息。
本发明的另一目的在于提供一种软件安装包装置,可以在Windows操作系统中能顺利安装,又能在安装过程中为用户提供更多个性化的软件信息。
本发明的技术方案是这样实现的:
一种软件安装包的制作方法,包括:
A、利用脚本将软件资源文件制作成安装资源包;
B、为所述安装资源包增加个性化处理逻辑;并设置视窗操作系统安装工具Windows Installer的API,该API用于在安装包执行时读取所述安装资源包和个性化处理逻辑进行安装操作;
C、将所述安装资源包、个性化处理逻辑以及API封装成可执行格式的软件安装包。
一种软件安装包装置,包括安装资源包、个性化处理逻辑模块以及API;其中:所述安装资源包为利用脚本将软件资源文件制作成的安装资源包;所述个性化处理逻辑模块中包括为所述安装资源包对应配置的个性化处理逻辑;所述API为Windows Installer的API,用于在软件安装包装置执行时读取所述安装资源包和个性化处理逻辑进行安装操作。
与现有技术相比,本发明所的软件安装包中包括由软件资源文件制成安装资源包即MSI文件,以及为该安装资源包配置的个性化处理逻辑,还包括Windows Installer的API以在安装包执行时读取所述安装资源包和个性化的处理逻辑,从而使软件安装包既能在windows操作系统中顺利安装运行,又能在安装过程中为用户提供更多更个性化的软件信息,例如提供个性化的安装介绍界面逻辑、个性化的人机交互逻辑、以及个性化的产品功能处理逻辑等。
附图说明
图1为本发明所述软件安装包制作方法的流程图;
图2为本发明所述制作软件安装包的一种技术架构示意图;
图3为制作封装了卸载程序的软件安装包的一种技术架构示意图;
图4为本发明所述软件安装包装置的一种示意图;
图5为封装了卸载程序的所述软件安装包装置的一种示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明不但适用于计算机,还可以适用于各种数据处理设备(如智能手机、平板电脑等)。
图1为本发明所述软件安装包制作方法的流程图。参见图1,该流程包括:
步骤101、利用脚本将软件资源文件制作成安装资源包。
步骤102、为所述安装资源包增加个性化处理逻辑;并设置视窗操作系统安装工具(Windows Installer)的API,该API用于在安装包执行时读取所述安装资源包和个性化处理逻辑进行安装操作。
步骤103、将所述安装资源包、个性化处理逻辑以及API封装成可执行格式的软件安装包。
图2为本发明所述制作软件安装包的一种技术架构示意图。参见图2,下面对本发明的方法进一步说明。
首先在步骤101中,利用InstallShield脚本工具201,将软件的所有资源文件制作成一个安装资源包即以.MSI为后缀的资源文件202,在制作的过程中,软件的相关资源文件在用户机上的真实安装路径、目录结构等描述信息、快捷方式、注册表信息都由所述InstallShield脚本工具通过脚本配置在该.MSI文件202中。
然后在步骤102中,建立微软基础类(MFC,Microsoft Foundation Classes)工程,并接受所述安装资源包202即所述.MSI文件作为本MFC的资源文件,再利用MFC工具根据软件安装程序本身的个性化需求,为所述.MSI文件增加对应的个性化处理逻辑203,例如:所述个性化处理逻辑可以包括以下任意个处理逻辑:界面处理逻辑、人机交互处理逻辑、产品功能处理逻辑。
所述各个个性化处理逻辑可以根据软件需要在软件的安装过程中显示预先设定的界面和信息,或执行特定的处理。例如,所述界面处理逻辑和人机交互处理逻辑可以控制具体的安装界面过程和人机交互信息,如第一步进行用户机器安装环境的检查,第二步让用户选择安装目录,第三步让用户选择是否开机自动运行,显示桌面快捷方式等等。再例如,所述产品功能处理逻辑可以在安装过程中控制产品的一些特殊逻辑,如写某些注册表项等操作。
接着利用所述MFC工具设置Windows Installer的API 204,该API 204用于在安装包执行时读取所述.MSI文件和个性化处理逻辑以进行安装操作。此处,所述API具体为Windows Installer的组件Msiexec.exe程序。
在步骤103中,将所述安装资源包202、个性化处理逻辑203以及API 204封装成可执行格式的软件安装包205。
当所述软件安装包205执行时,则调用所述API 204即Msiexec.exe程序,Msiexec.exe程序用Msi.dll读取所述安装资源包202即.MSI文件和所述个性化处理逻辑203,从而依照所述个性化处理逻辑执行安装流程,并由WindowsInstaller执行与安装有关的任务:包括将文件复制到硬盘、修改注册表、创建桌面快捷方式,最终将软件程序206安装到用户机上。
本发明中,软件的目录结构也可以自定义设定,所述安装资源包202中包括软件目录结构的描述信息,在安装软件时按照这些目录结构描述信息在用户机上创建软件目录结构。软件卸载的时候,如果按照现有的桌面软件的安装、卸载的过程则通常需要一一配对,例如使用Microsoft软件安装(MSI)工具制作的安装包,在卸载软件的时候只能卸载与该版本匹配的安装目录文件,而并不能达到整个软件不留痕迹的彻底清除。因此本发明可以利用Nullsoft脚本安装系统(NSIS,Nullsoft Scriptable Install System)脚本重新编写卸载程序来控制软件的卸载行为。
图3为制作封装了卸载程序的软件安装包的一种技术架构示意图。参见图3,本发明可以利用Nullsoft脚本安装系统(NSIS,Nullsoft Scriptable InstallSystem)的脚本工具208,制作用于删除所述安装资源包202中所描述的软件目录结构的删除逻辑,并将该删除逻辑编译成可执行的卸载程序207,将该卸载程序207封装到所述软件安装包205中。
所述NSIS为Windows下支持脚本的安装程序,完全免费,开放源代码,支持脚本,可以通过编写脚本来控制安装过程的任何细节。所述利用NSIS生成的卸载程序可封装到软件安装包中,在该卸载程序启动后即可实施对软件的卸载,卸载的实质操作就是将所述安装资源包中所描述的软件目录结构删除,从而可以将整个软件(包括各个版本的软件)不留痕迹地彻底清除。
而当软件目录结构发生变化时,只需简单的修改相应InstallShield脚本的配置信息即可,所述安装资源包202中的软件目录结构描述信息也相应发生改变,从而可以达到针对不同软件目录结构的安装配置过程。
当所述安装资源包202中的软件目录结构描述信息发生改变时,本发明进一步更改所述删除逻辑用以删除所述更改后的软件目录结构,将更改后的所述删除逻辑编译成可执行的卸载程序,并将该卸载程序封装到所述软件安装包中。
图4为本发明所述软件安装包装置的一种示意图。参见图4,该软件安装包装置400包括安装资源包401、个性化处理逻辑模块402以及API 403;其中:所述安装资源包401为利用InstallShield脚本将软件资源文件制作成的安装资源包即.MSI文件;所述个性化处理逻辑模块402中包括为所述安装资源包202对应配置的个性化处理逻辑;所述API 403为Windows Installer的API,用于在软件安装包执行时读取所述安装资源包和个性化处理逻辑进行安装操作。
在一种具体实施例中,所述个性化处理逻辑包括以下任意个处理逻辑:界面处理逻辑、人机交互处理逻辑、产品功能处理逻辑。
图5为封装了卸载程序的所述软件安装包装置的一种示意图。参见图5,所述安装资源包401中包括软件目录结构描述信息;且该装置400中进一步包括卸载程序404,用于删除所述安装资源包中所描述的软件目录结构。所述卸载程序为NSIS脚本程序。
本发明尤其可以适用于桌面开放软件,采用本发明的桌面开放软件除了具有普通软件安装,卸载的通常功能外,还可结合软件自身特点向用户展现更多个性化的信息和处理逻辑。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (6)

1.一种软件安装包的制作方法,其特征在于,包括:
A、利用Install Shield脚本将软件资源文件制作成安装资源包,所述安装资源包为MSI文件,所述安装资源包中包括软件目录结构的描述信息;
B、为所述安装资源包增加个性化处理逻辑;并设置视窗操作系统安装工具Windows Installer的应用程序编程接口API,该API用于在安装包执行时读取所述安装资源包和个性化处理逻辑进行安装操作;
C、将所述安装资源包、个性化处理逻辑以及API封装成可执行格式的软件安装包;
还包括利用脚本制作用于删除所述安装资源包中所描述的软件目录结构的删除逻辑,将该删除逻辑编译成可执行的卸载程序,将该卸载程序封装到所述软件安装包中,当所述安装资源包中的软件目录结构描述信息发生改变时,进一步更改所述删除逻辑用以删除所述更改后的软件目录结构,将更改后的所述删除逻辑编译成可执行的卸载程序,并将该卸载程序封装到所述软件安装包中。
2.根据权利要求1所述的方法,其特征在于,所述个性化处理逻辑包括以下任意个处理逻辑:
界面处理逻辑、人机交互处理逻辑、产品功能处理逻辑。
3.根据权利要求1所述的方法,其特征在于,所述制作删除逻辑的脚本为NSIS脚本。
4.一种软件安装包的制作装置,其特征在于,包括:
用于利用Install Shield脚本将软件资源文件制作成安装资源包的模块,所述安装资源包为MSI文件,所述安装资源包中包括软件目录结构的描述信息;
用于为所述安装资源包增加个性化处理逻辑的模块;并用于设置视窗操作系统安装工具Windows Installer的应用程序编程接口API的模块,该API用于在安装包执行时读取所述安装资源包和个性化处理逻辑进行安装操作;
用于将所述安装资源包、个性化处理逻辑以及API封装成可执行格式的软件安装包的模块;
还包括用于利用脚本制作删除所述安装资源包中所描述的软件目录结构的删除逻辑的模块,将该删除逻辑编译成可执行的卸载程序,将该卸载程序封装到所述软件安装包中,当所述安装资源包中的软件目录结构描述信息发生改变时,进一步更改所述删除逻辑用以删除所述更改后的软件目录结构,将更改后的所述删除逻辑编译成可执行的卸载程序,并将该卸载程序封装到所述软件安装包中。
5.根据权利要求4所述的装置,其特征在于,所述个性化处理逻辑包括以下任意个处理逻辑:
界面处理逻辑、人机交互处理逻辑、产品功能处理逻辑。
6.根据权利要求4所述的装置,其特征在于,所述卸载程序为NSIS脚本程序。
CN201110243058.5A 2011-08-23 软件安装包的制作方法和软件安装包装置 Active CN102955689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110243058.5A CN102955689B (zh) 2011-08-23 软件安装包的制作方法和软件安装包装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110243058.5A CN102955689B (zh) 2011-08-23 软件安装包的制作方法和软件安装包装置

Publications (2)

Publication Number Publication Date
CN102955689A CN102955689A (zh) 2013-03-06
CN102955689B true CN102955689B (zh) 2016-12-14

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561762A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 软件安装程序打包系统及方法
US7694296B1 (en) * 2005-05-24 2010-04-06 Symantec Corporation Preventing unauthorized installs and uninstalls of software modules

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7694296B1 (en) * 2005-05-24 2010-04-06 Symantec Corporation Preventing unauthorized installs and uninstalls of software modules
CN101561762A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 软件安装程序打包系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
使用NSIS脚本语言编写安装程序;纪星;《电脑编程技巧与维护》;20081231(第2期);22-25、34 *

Similar Documents

Publication Publication Date Title
US6269480B1 (en) Cross platform installer-with the ability to create platform independent variables of specific operating system variables from a scripting language
JP3349417B2 (ja) ホスト機械コードのアプリケーションをインストールするシステム
US8621455B1 (en) System and method for server customization
Wolfson et al. Android developer tools essentials: Android Studio to Zipalign
CN103229144B (zh) 预热软件安装
CN102567051B (zh) 一种制备龙芯平台图形化安装系统的方法及装置
JP2001521254A (ja) モバイル・デバイスのアプリケーション・インストール管理システムおよび方法
US20180136920A1 (en) Install File Size Optimization and Installation Verification System
US7900202B2 (en) Identification of software execution data
TWI341992B (en) Method and system for quickly developing an embedded operating system through utilizing an automated building framework
CN108614701B (zh) 一种Linux操作系统定制方法及装置
US8418169B2 (en) Management method for managing software module and information processor
JP2008538026A (ja) モジュール式イメージダウンロードシステム
KR20070049095A (ko) 서비스 패키지로 소프트웨어 제품을 업데이트하는 방법 및컴퓨터 판독가능 매체
WO2018032653A1 (zh) 一种Java卡应用的功能实现方法及装置
US6629316B1 (en) Overriding program properties using a specially designated environment variable statement
CN104503778A (zh) 一种应用程序的安装方法和装置
CN106874195A (zh) 一种针对android应用的bug修复和持续交付方案
Zapata Android Studio 2 Essentials
EP3115917A1 (en) Information processing apparatus, method, and program
CN102541587A (zh) 龙芯平台下安装linux操作系统的方法
CN108182070B (zh) 定制安卓系统rom的方法、装置及终端设备
CN103761118B (zh) 一种智能卡及智能卡内部署应用的方法
CN102955689B (zh) 软件安装包的制作方法和软件安装包装置
CN109634690A (zh) 一种基于WinPE系统的数据清除方法、装置、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant