SlideShare a Scribd company logo
1 of 12
上海市数 字证书 认证中 心有限 公司




安装包制作说明手册
  使用 NSIS 制作 SHECA 客户端安装包
文档说明:
      本文档是基于 NSIS 脚本的安装包制作说明。

      本文档中斜体红字表示路径,斜体蓝字表示文件


版本信息:
版本      发布日期        作者及参不人员   备注
1.0     2007-4-20   战江        四种基本安装类别描述
1.1     2007-5-21   战江        1.增加静默安装类别描述
                              2.更新引用脚本的内容
1.2     2007-6-12   战江        1.增加本地验证客户端安装类别描述
                              2.升级证书管理器安装包类别描述(增加其他携带程序区段)
                              3.升级设备驱动安装包类别描述(加入 devlist)




版权信息:
SHECA 是上海市数字证书认证中心有限公司的注册商标和缩写。

本文的版权属于上海市数字证书认证中心有限公司,未经许可,任何个人和团体丌得部分转
载、粘贴或发布本文,更丌得更改本文的部分词汇进行转贴。

未经许可丌得拷贝,影印。

C opyright @ 2007 上海市数字证书认证中心有限公司
1. 新方式的 优点


  1.1 友好的用 户界面

     新的安装包采用通用的第三方打包软件,可以制作出标准的 Windows 安装程序,同
     时可自定义的界面,使得公司产品更加标准化,增强用户的使用信心 和公司形象。

  1.2 体系完整 结构清 晰

     经过对证书管理器和设备驱动的安装卸载逻辑的详细疏理和重新设计,新架构的安装
     包在实现原有功能的基础上增加了许多控制手段,从而解决了原有模式中存在的许多
     问题和冲突,可以降低对安装包的维护成本。

  1.3 可扩展性 和灵活 性

     新模式在设计时就考虑到未来可能的需求,所有的产品丌但具有良好的兼容性,而且
     可以在丌影响原有功能的基础上方便地扩展新的功能。

  1.4 版本控制 和管理

     新模式将版本的控制不目录结构和脚本配置相结合,将版本管理直观化,有助于减少
     操作中的失误分散风险并可以明晰责任。

  1.5 操作的便 捷性

     新模式基于脚本编译,在设计时考虑到操作的便捷性,所以将修改配置的内容尽量缩
     减,提高工作效率。




2. 安装环境 配置


  2.1 安装编译 工具

     安装编译工具 NSIS,然后将揑件库 KillProcDLL.dll 复制到 NSIS 安装目录下的 Plugins
     子目录中。

  2.2 安装脚本 工具

     脚本工具 VNISEdit 直接复制即可完成安装,
                             运行后按 F11 键将 VNISEdit 注册为 NSIS
     文件默认的编辑器。

  2.3 建立目录 结构

     复制工作区建立目录结构。




3. 工作操作 流程
3.1 制作证书 管理器 安装程 序


   3.1.1   准备源文 件

           首先要确保源文件版本应该正确。

   3.1.2   创建产品 目录

           在工作区productscertmanager 目录下根据当天日期建立产品目录,格
           式为 YYYY-MM-DD[如:2007-4-20],将此目录作为预定义脚本以及安装
           包成品的存放目录。

   3.1.3   创建版本 预定义 脚本 [C er tMa nage r De fi ne .ns h ]

           根据安装包资源版本.xls 中定义的文件版本结合实际打包的需求定义如下文
           件版本,并存成 CertManagerDef ine.nsh 置于相应的产品目录中[如: 工
           作区productscertmanage2007-4-20]。
                                                       Ce rt Ma na ge rD ef ine . nsh
             1 ;脚本系列版本 1.2
             2
             3 ;文件版本参考安装包资源版本管理 Excel 表
             4 ;定义证书管理器程序文件版本
             5 !define CETT_EXE "2.2.8.6"
             6 !define CETTMGR_INI "2003.11.28"
             7 !define CETTMGRDB_MDB "1000021.1000022"
             8 !define CSP_SIG "2005.03.14"
             9 !define CSPINSTL_EXE "2005.03.14"
             10 !define DELDB_EXE "2003.09.19"
             11 !define LDAPTEST_EXE "2001.11.21"
             12 !define LICENSE_TXT "2006.09.08"
             13 !define PUTCAROOT_EXE "1000021.1000022"
             14 !define SEARCH_AVI "2000.08.17"
             15 !define SKINS_FOLDER "2001.06.29"
             16 !define TIPS_TXT "2006.10.18"
             17
             18 ;定义 eKeyMonitor 程序文件版本
             19 !ifdef INCLUDE_EKEYMNTR
             20   !define EKEYMONITOR "1.0.0.1"
             21 !endif
             22
             23 ;定义 SSOAgent 程序文件版本
             24 !ifdef INCLUDE_SSOAGNT
             25   !define CLOSEIE_EXE "2004.01.08"
             26   !define LOCKMACHINE_EXE "2004.01.08"
             27   !define PULLKEYACTION_EXE "2004.02.18"
             28   !define SSOAGENT_EXE "1.2.3.0"
             29   !define USBCHECKER_INI "default"
             30 !endif
             31
             32 ;定义 UniAgent 程序文件版本
             33 !ifdef INCLUDE_UNIAGNT
             34   !define CLOSEIE_EXE "2004.01.08"
             35   !define LOCKMACHINE_EXE "2004.01.08"
             36   !define UNIAGENT_EXE "1.0.0.4"
             37   !define UNIAGENT_INI "default"
             38 !endif
             39
40   ;定义核心组件(系统动态库)文件版本
            41   !define DEVLIST_TXT "2005.06.08"
            42   !define CMBMISC_DLL "1.0.0.1"
            43   !define DACERT_DLL "2001.04.02"
            44   !define DKVERIFYDLL_DLL "2000.01.14"
            45   !define ICONHANDLER_DLL "2001.08.02"
            46   !define LIBPEMP12_DLL "2000.06.21"
            47   !define NACSP_DLL "2002.10.24"
            48   !define NSLDAPSSL32V30_DLL "12288.0.0.9516"
            49   !define OCSPFORWIN_DLL "2003.09.18"
            50   !define READCERT_DLL "2.3.4.0"
            51   !define SAFEENGINE_DLL "2.3.9.4"
            52   !define SAFEENFINECOM_DLL "2.0.0.2"
            53   !define SDUPKCS10_DLL "2001.03.12"
            54   !define SE_CRYPT_DLL "2.5.4.0"
            55   !define SE_DATABASE_DLL "2003.09.18"
            56   !define SHECACERTMGR_DLL "2.2.8.4"
            57   !define SHECACSP_DLL "2.3.3.0"
            58   !define SHECAEXT_DLL "2000.09.29"
            59   !define SHECALDAP_DLL "2.1.3.0"
            60   !define UNICACSP_DLL "1.0.0.4"
            61   !define USBDETECTDLL_DLL "1.0.0.1"
            62   !define USBUTI_DLL "1.2.0.1"
            63
            64   ;预定义脚本编辑时间戳(不必修改)
            65   !define NSH_SAVE_TIME "${__TIMESTAMP__}"

  3.1.4   创建编译 控制脚 本 [C e rt Manage r Ty pe.ns h ]

          修改工作区目录下的 CertManagerType.nsh 文件控制安装包文件的版本、
          证书管理器版本、以及安装包所包含的扩展组件。注意每制作一次安装包都
          需要对安装包文件版本升级,而证书管理器产品版本的升级要征得技术部领
          导批准后才升 级,扩展 组件可以 根据需求 打开相应 的开关,要 注意的 是
          SSOAgent 和 eKeyMonitor 可以同时打开,而它们丌能不 UniAgent 同时
          打开。
                                                   CertManager Type. nsh
            1;脚本系列版本 1.2
            2
            3 ;定义安装包文件版本
            4 !define FILE_VERSION "1.0.0.1"
            5
            6 ;定义证书管理器产品版本
            7 !define CertManagerProductVersion "2.28i"
            8
            9 ;定义安装包所含扩展组件
            10 ;!define INCLUDE_EKEYMNTR
            11 ;!define INCLUDE_SSOAGNT
            12 !define INCLUDE_UNIAGNT

  3.1.5   编译主程 序脚本 [C e rtMa nage r Insta ll. nsi ]

          主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目
          录中。

3.2 制作设备 驱动安 装程序


  3.2.1   准备源文 件
首先要确保 源文件版 本应该正 确。当一 种设备测 试通过后 ,需要 在
        includesdevdriver$eKeyType($eKeyType 是丌同设备驱动的分类目
        录,其格式为 Num_Name[如:0x9_MingHuaUSB]),在此目录下再根据
        当天日期建立产品目录,格式为 YYYY-MM-DD[如:2007.03.01],将此目
        录作为设备驱动及接口源文件存放的目录,将测试通过的设备驱动和动态库
        复制到该目录下。

3.2.2   创建产品 目录

        在 工作区productsekeydevice$eKeyType ($eKeyType 是丌同设备
        驱动的分类目录,其格式为 Num_Name[如:0x9_MingHuaUSB] ),在此
        目 录 下 再 根 据 当 天 日 期 建 立 产 品 目 录 , 格 式 为 YYYY-MM-DD[ 如 :
        2007-4-20],将此目录作为预定义脚本以及安装包成品的存放目录。

3.2.3   创建版本 预定义 脚本 [e Key De fi ne .nsh ]

        根据设备相关信息定义如下内容,存成 eKey Define.nsh 置于相应产品目录
        中[如:工作区productsekeydevice0x9_MingHuaUSB2007-4-20 ]。
        其中需要注意的是: eKeyDevNo 指十进制的内部设备号[如明 华为 8] ;
        eKeyDevNo16 是 相 应 的 十 六 进 制 的 内 部 设 备 号 [ 如 华 大 为 1a] ;
        eKeyLibsNu m 是设备接口动态库的个数(最多 6 个),根据这个个数需要在
        设 置 lib1,lib2,lib3,lib4,lib5,lib6 中 设 置 相 应 的 接 口 动 态 库 的 名 称 ;
        eKeyDevUninstallString 为卸载设备驱动的注册表项,一般需要设备商在
        提 交 测 试 申 请 时 提 供 , 或 者 自 行 到 注 册 表                 regedit      中
        HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentV
        ersionUninstall 下去找。
                                                          e Ke yDe f ine. nsh
          1;脚本系列版本 1.2
          2
          3 ;定义安装包所含设备的名称
          4 !define eKeyName "明华 USB"
          5
          6 ;定义设备驱动安装包版本号
          7 !define eKeyVersion "2.92"
          8
          9 ;定义安装包所含设备驱动文件名称及版本日期
          10 !define eKeyDriver "MingHuaUSBDriver.exe"
          11 !define eKeyDrvrVersion "2007.03.01"
          12
          13 ;定义安装包所含设备的内部设备号(十进制)
          14 !define eKeyDevNo "8"
          15
          16 ;定义安装包所含设备的内部设备号(十六进制)
          17 !define eKeyDevNo16 "8"
          18
          19 ;定义设备接口动态库数量及各自文件名(最多 6 个
         [lib1][lib2][lib3][lib4][lib5][lib6])
          20 !define eKeyLibsNum "3"
          21 !define lib1 "Mw_eKey.dll"
          22 !define lib2 "MW_RSA.dll"
          23 !define lib3 "MwUsbD.dll"
          24
25   ;定义卸载设备驱动的注册表项
            26   !define eKeyDevUninstallString "M&W eKey Driver(V2.7)"
            27
            28   ;预定义脚本编辑时间戳(不必修改)
            29   !define NSH_SAVE_TIME "${__TIMESTAMP__}"

  3.2.4   创建编译 控制脚 本 [e Key Ty pe .nsh ]

          修改工作区目录下的 eKeyType.nsh 文件控制安装包文件的版本以及安装
          包所包含的设备。
                                                              e Ke y Ty pe . nsh
            1;脚本系列版本 1.2
            2
            3 ;定义安装包文件版本
            4 !define eKeyFileVersion "1.0.0.1"
            5
            6 ;定义安装包所含设备驱动的类型(只能开放其中一种)
            7 !define MingHuaUSB #8 #8
            8 ;!define WoQiUSB #9 #9
            9 ;!define TianYuUSB #15 #e
            10 ;!define FeiTianUSB #16 #f
            11 ;!define HuaMaUSB #24 #18
            12 ;!define DaMingWuZhouUSB #25 #19
            13 ;!define HuaDaUSB #26 #1a
            14 ;!define YiYuanUSB   #29 #1d
            15 ;!define HaiTaiFangYuanUSB #30 #1e
            16 ;!define WeiShiTongUSB #31 #1f

  3.2.5   编译主程 序脚本 [e Key Insta ll.ns i ]

          主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目
          录中。

3.3 制作证书 管理器 安装包


  3.3.1   准备源文 件

          首先要确保源文件版本应该正确。

  3.3.2   创建产品 目录

          在工作区 productspackage$PackageName ($PackageType 是含丌
          同设备驱动的安装包的分类目录,其格式为 CertManager_eKey Name[如:
          CertManager_MingHuaUSB]),在此目录下再根据当天日期建立产品目
          录,格式为 YYYY-MM-DD[如:2007-4-20],将此目录作为预定义脚本以
          及安装包成品的存放目录。

  3.3.3   创建版本 预定义 脚本 [Pac kage De f i ne .nsh ]

          根据安装包包含的证书管理器安装程序及设备驱动程序的相关信息定义如下
          内 容 , 存 成 Package Def ine.nsh 置 于 相 应 产 品 目 录 中 [ 如 : 工 作 区
          productspackageCertManager_MingHuaUSB2007-4-20 ]。
          其中需要注意的是: eKeyDevNo 指十进制的内部设备号[如明 华为 8] ;
          eKeyDevNo16 是 相 应 的 十 六 进 制 的 内 部 设 备 号 [ 如 华 大 为 1a] ;
CERT_MANAGER_VERSION       是 证       书 管 理 器       安 装 程            序
        (productscertmanager 里的成品元件)的版本日期;eKeyDrvrVersion
        是所包含设备驱动安装包(productsekeydevice 里的成品元件)的版本日
        期;eKeyVersion 是设备驱动程序的版本号。
                                                        P a cka geD ef ine . nsh
          1;脚本系列版本 1.2
          2
          3 ;定义证书管理器安装程序版本日期
          4 !define CERT_MANAGER_VERSION "2007-4-24"
          5
          6 ;定义安装包所含设备的名称
          7 !define eKeyName "明华 USB"
          8
          9 ;定义安装包所含设备驱动的版本号
          10 !define eKeyVersion "2.92"
          11
          12 ;定义安装包所含设备驱动安装包的版本日期
          13 !define eKeyDrvrVersion "2007-4-20"
          14
          15 ;定义安装包所含设备的内部设备号(十进制)
          16 !define eKeyDevNo "8"
          17
          18 ;定义安装包所含设备的内部设备号(十六进制)
          19 !define eKeyDevNo16 "8"
          20
          21 ;预定义脚本编辑时间戳(不必修改)
          22 !define NSH_SAVE_TIME "${__TIMESTAMP__}"

3.3.4   创建编译 控制脚 本 [Packa ge Ty pe .nsh ]

        修改工作区目录下的 PackageType.nsh 文件控制安装包文件的版本、证书
        管理器版本、以及安装包所包含的设备。
                                                          P a cka ge Ty pe . nsh
          1;脚本系列版本 1.2
          2
          3 ;定义安装包文件版本
          4 !define FILE_VERSION "1.0.0.1"
          5
          6 ;定义证书管理器产品版本
          7 !define CertManagerProductVersion "2.28i"
          8
          9 ;定义安装包所含设备驱动的类型(只能开放其中一种)
          10 !define MingHuaUSB #8 #8
          11 ;!define WoQiUSB #9 #9
          12 ;!define TianYuUSB #15 #e
          13 ;!define FeiTianUSB #16 #f
          14 ;!define HuaMaUSB #24 #18
          15 ;!define DaMingWuZhouUSB #25 #19
          16 ;!define HuaDaUSB #26 #1a
          17 ;!define YiYuanUSB   #29 #1d
          18 ;!define HaiTaiFangYuanUSB #30 #1e
          19 ;!define WeiShiTongUSB #31 #1f

3.3.5   编译主程 序脚本 [Pac kage Instal l.ns i ]

        主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目
        录中。
3.4 制作证书 管理器 标准安 装包


  3.4.1   准备源文 件

          首先要确保源文件版本应该正确。

  3.4.2   创建产品 目录

          在工作区productsstandard 目录下根据当天日期建立产品目录,格式为
          YYYY-MM-DD[如:2007-4-20],将此目录作为预定义脚本以及安装包成
          品的存放目录。

  3.4.3   创建版本 预定义 脚本 [U ni Trust De f ine .ns h ]

          根据安装包包含的证书管理器安装程序及设备驱动程序的相关信息定义如下
          内 容 , 存 成 UniTrustDefine.nsh 置 于 相 应 产 品 目 录 中 [ 如 : 工 作 区 
          productsstandard2007-4-20 ]。
          其中需要注意的是: eKeyDevNo 指十进制的内部设备号[如明 华为 8] ;
          eKeyDevNo16 是 相 应 的 十 六 进 制 的 内 部 设 备 号 [ 如 华 大 为 1a] ;
          CERT_MANAGER_VERSION        是 证      书 管 理 器       安 装 程            序
          (productscertmanager 里的成品元件)的版本日期;WoQiDrvrVersion、
          MingHuaDrvrVersion、HuaDaDrvrVersion 等是所包含设备驱动安装包
          (productsekeydevice 里的成品元件)的版本日期。
                                                          UniTr ust D ef ine . nsh
            1;脚本系列版本 1.2
            2
            3 ;定义证书管理器安装程序版本日期
            4 !define CERT_MANAGER_VERSION "2007-4-24"
            5
            6 ;定义明华 USB 驱动程序版本及安装包版本日期
            7 !define MingHuaVersion "2.92"
            8 !define MingHuaDrvrVersion "2007-4-20"
            9
            10 ;定义握奇 USB 驱动程序版本及安装包版本日期
            11 !define WoQiVersion "2.5"
            12 !define WoQiDrvrVersion "2007-4-20"
            13
            14 ;定义华大 USB 驱动程序版本及安装包版本日期
            15 !define HuaDaVersion "4.2"
            16 !define HuaDaDrvrVersion "2007-4-20"
            17
            18 ;预定义脚本编辑时间戳(不必修改)
            19 !define NSH_SAVE_TIME "${__TIMESTAMP__}"

  3.4.4   创建编译 控制脚 本 [Un i Trust Ty pe .ns h ]

          修改工作区目录下的 UniTrustType.nsh 文件控制安装包文件的版本、证书
          管理器版本、以及安装包所包含的设备。
                                                      UniTrus tType. ns h
            1;脚本系列版本 1.2
            2
            3 ;定义安装包文件版本
            4 !define FILE_VERSION "1.0.0.1"
5
            6 ;定义证书管理器产品版本
            7 !define CertManagerProductVersion "2.28i"
            8
            9 ;定义安装包所含设备驱动种类(标准版不必修改)
            10 !define 0x9 "MingHuaUSB"
            11 !define 0xA "WoQIUSB"
            12 !define 0x1b "HuaDaUSB"

  3.4.5   编译主程 序脚本 [U n i Tr ust Instal l.nsi ]

          主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目
          录中。

3.5 制作静默 安装包


  3.5.1   准备源文 件

          首先要确保源文件版本应该正确。

  3.5.2   创建产品 目录

          在工作区productssilent$ProductType($ProductType 表示静默安装
          包的产品类别如:cert manager/ekeydevice/package/standard)目录
          下根据当天日期建立产品目录,格式为 YYYY-MM-DD[如:2007-5-18],
          将此目录作为预定义脚本以及安装包成品的存放目录。

  3.5.3   创建版本 预定义 脚本 [Si lent De fi ne.ns h ]

          根据安装包包含的证书管理器安装程序及设备驱动程序的相关信息定义如下
          内容,存成 Silent Define.nsh 置于相应产品目录中[如: 工作区 products
          silentstandard2007-5-18 ]。
          其中需要注意的是:
                  eKeyNo 指十进制的内部设备号[如明华为 8];
                                           eKeyName
          是设备的名称[如华大为华大 USB];eKeyVersion 是驱动的版本号(上述各
          项是在 制作 设备 驱动 安装 包或者 是证 书管 理器 安装 包时 需要设 定的 );
          SourceVerDate 是所要包含的源安装包的版本日期。
                                                          Sile nt D ef ine . nsh
            1;脚本系列版本 1.2
            2
            3 !ifdef eKeyDeviceInstall | PackageInstall
            4 ;定义安装包所含设备的内部设备号(十六进制)
            5   !define eKeyNo "0x9"
            6
            7 ;定义安装包所含设备的名称
            8   !define eKeyName "明华 USB"
            9
            10 ;定义安装包所含设备驱动的版本号
            11   !define eKeyVersion "2.92"
            12 !endif
            13
            14 ;定义静默包源程序的版本日期
            15 !define SourceVerDate "2007-5-21"
            16
            17 ;预定义脚本编辑时间戳(不必修改)
18 !define NSH_SAVE_TIME "${__TIMESTAMP__}"

  3.5.4   创建编译 控制脚 本 [S i lent Ty pe.ns h ]

          修改工作区目录下的 SilentType.nsh 文件控制安装包文件的版本、证书管
          理器版本、以及安装包所包含的设备(在制作设备驱动安装包或者是证书管
          理器安装包时需要设定的)。
                                                           Sile nt Ty pe . nsh
            1;脚本系列版本 1.2
            2
            3 ;定义安装包文件版本
            4 !define FILE_VERSION "1.0.0.1"
            5
            6 ;!define CertManagerInstall
            7 ;!define eKeyDeviceInstall
            8 !define PackageInstall
            9 ;!define StandardInstall
            10
            11 ;定义证书管理器产品版本
            12 !define CertManagerProductVersion "2.28i"
            13
            14 ;定义安装包所含设备的英文全称
            15 !ifdef eKeyDeviceInstall | PackageInstall
            16   !define eKeyType "HuaDa"
            17 !endif

  3.5.5   编译主程 序脚本 [S ile nt Insta ll. nsi ]

          主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目
          录中;同时在源安装包所在的目录下会自动创建一个名为“静默安装包”的
          快捷方式指向成品所在目录。

3.6 制作本地 验证客 户端安 装包


  3.6.1   准备源文 件

          首先要确保源文件版本应该正确。

  3.6.2   创建产品 目录

          在工作区productslocal,在此目录下再根据当天日期建立产品目录,格
          式为 YYYY-MM-DD[如:2007-5-25],将此目录作为预定义脚本以及安装
          包成品的存放目录。

  3.6.3   创建版本 预定义 脚本 [Local De fi ne .ns h ]

          根据安装包包含的证书管理器安装程序及设备驱动程序的相关信息定义如下
          内容,存成 LocalDef ine.nsh 置于相应产品目录中[如: 工作区 products
          local2007-5-25 ]。
          其中需要注意的是:
                  eKeyNo 指十进制的内部设备号[如明华为 8];
                                           eKeyName
          是设备的名称[如华大为华大 USB];eKeyVersion 是驱动的版本号(上述各
          项是在 制作 设备 驱动 安装 包或者 是证 书管 理器 安装 包时 需要设 定的 );
          SourceVerDate 是所要包含的源安装包的版本日期。
Loca lD ef ine . nsh
          1;脚本系列版本 1.2
          2
          3 !ifdef eKeyDeviceInstall | PackageInstall
          4 ;定义安装包所含设备的内部设备号(十六进制)
          5   !define eKeyNo "0x9"
          6
          7 ;定义安装包所含设备的名称
          8   !define eKeyName "明华 USB"
          9
          10 ;定义安装包所含设备驱动的版本号
          11   !define eKeyVersion "2.92"
          12 !endif
          13
          14 ;定义静默包源程序的版本日期
          15 !define SourceVerDate "2007-5-21"
          16
          17 ;预定义脚本编辑时间戳(不必修改)
          18 !define NSH_SAVE_TIME "${__TIMESTAMP__}"

3.6.4   创建编译 控制脚 本 [L ocal Ty pe .ns h ]

        修改工作区目录下的 LocalType.nsh 文件控制安装包文件的版本、证书管
        理器版本、以及安装包所包含的设备(在制作设备驱动安装包或者是证书管
        理器安装包时需要设定的)。
                                                          Sile nt Ty pe . nsh
          1;脚本系列版本 1.2
          2
          3 ;定义安装包文件版本
          4 !define FILE_VERSION "1.0.0.1"
          5
          6 ;!define CertManagerInstall
          7 ;!define eKeyDeviceInstall
          8 !define PackageInstall
          9 ;!define StandardInstall
          10
          11 ;定义证书管理器产品版本
          12 !define CertManagerProductVersion "2.28i"
          13
          14 ;定义安装包所含设备的英文全称
          15 !ifdef eKeyDeviceInstall | PackageInstall
          16   !define eKeyType "HuaDa"
          17 !endif

3.6.5   编译主程 序脚本 [Loca l Insta ll. nsi ]

        主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目
        录中。

More Related Content

Viewers also liked

网格技术及其在中国企业信息化中的应用(pdf)
网格技术及其在中国企业信息化中的应用(pdf)网格技术及其在中国企业信息化中的应用(pdf)
网格技术及其在中国企业信息化中的应用(pdf)Zac John
 
项目方案模板
项目方案模板项目方案模板
项目方案模板Zac John
 
如何使用JCE和CAPICOM进行加密和签名
如何使用JCE和CAPICOM进行加密和签名如何使用JCE和CAPICOM进行加密和签名
如何使用JCE和CAPICOM进行加密和签名Zac John
 
Emerging Geospatial Innovation Themes Map for UK Universties and Colleges
Emerging Geospatial Innovation Themes Map for UK Universties and CollegesEmerging Geospatial Innovation Themes Map for UK Universties and Colleges
Emerging Geospatial Innovation Themes Map for UK Universties and Collegesnomoregrapes
 
TMS STaR Chart Data
TMS STaR Chart DataTMS STaR Chart Data
TMS STaR Chart Datapageb_1972
 
Got Choices Finalv1
Got Choices   Finalv1Got Choices   Finalv1
Got Choices Finalv1guesta40fae
 
Resume - CV - Shanghai
Resume - CV - ShanghaiResume - CV - Shanghai
Resume - CV - ShanghaiZac John
 
Witi Presentation For March 26 2009 Final
Witi Presentation For March 26 2009 FinalWiti Presentation For March 26 2009 Final
Witi Presentation For March 26 2009 Finalkarenmorphy
 
Right Care Initiative presentation 1OCT12
Right Care Initiative presentation 1OCT12Right Care Initiative presentation 1OCT12
Right Care Initiative presentation 1OCT12Wayne Pan
 
SotM12 Report to SotM Scotland
SotM12 Report to SotM ScotlandSotM12 Report to SotM Scotland
SotM12 Report to SotM Scotlandnomoregrapes
 
2013 a&a saneamiento de propiedades 1
2013 a&a saneamiento de propiedades 12013 a&a saneamiento de propiedades 1
2013 a&a saneamiento de propiedades 1Rodrigo Astorga Huaco
 
Official action(pa07 250)
Official action(pa07 250)Official action(pa07 250)
Official action(pa07 250)LCPA
 
Java ee kursu-izmir
Java ee kursu-izmirJava ee kursu-izmir
Java ee kursu-izmirsersld60
 
Instituo bolivariano
Instituo bolivarianoInstituo bolivariano
Instituo bolivarianoRayTheBest
 
La recepta de la lasanya
La recepta de la lasanyaLa recepta de la lasanya
La recepta de la lasanyaarb1997
 
PSUK PS Mag Page 18 Sep 16
PSUK PS Mag Page 18 Sep 16PSUK PS Mag Page 18 Sep 16
PSUK PS Mag Page 18 Sep 16Sandeep Saib
 

Viewers also liked (20)

网格技术及其在中国企业信息化中的应用(pdf)
网格技术及其在中国企业信息化中的应用(pdf)网格技术及其在中国企业信息化中的应用(pdf)
网格技术及其在中国企业信息化中的应用(pdf)
 
项目方案模板
项目方案模板项目方案模板
项目方案模板
 
如何使用JCE和CAPICOM进行加密和签名
如何使用JCE和CAPICOM进行加密和签名如何使用JCE和CAPICOM进行加密和签名
如何使用JCE和CAPICOM进行加密和签名
 
VLSTUDIO
VLSTUDIOVLSTUDIO
VLSTUDIO
 
Emerging Geospatial Innovation Themes Map for UK Universties and Colleges
Emerging Geospatial Innovation Themes Map for UK Universties and CollegesEmerging Geospatial Innovation Themes Map for UK Universties and Colleges
Emerging Geospatial Innovation Themes Map for UK Universties and Colleges
 
TMS STaR Chart Data
TMS STaR Chart DataTMS STaR Chart Data
TMS STaR Chart Data
 
Got Choices Finalv1
Got Choices   Finalv1Got Choices   Finalv1
Got Choices Finalv1
 
Presentation1
Presentation1Presentation1
Presentation1
 
Resume - CV - Shanghai
Resume - CV - ShanghaiResume - CV - Shanghai
Resume - CV - Shanghai
 
Witi Presentation For March 26 2009 Final
Witi Presentation For March 26 2009 FinalWiti Presentation For March 26 2009 Final
Witi Presentation For March 26 2009 Final
 
Right Care Initiative presentation 1OCT12
Right Care Initiative presentation 1OCT12Right Care Initiative presentation 1OCT12
Right Care Initiative presentation 1OCT12
 
Presentation1
Presentation1Presentation1
Presentation1
 
SotM12 Report to SotM Scotland
SotM12 Report to SotM ScotlandSotM12 Report to SotM Scotland
SotM12 Report to SotM Scotland
 
Presentation1
Presentation1Presentation1
Presentation1
 
2013 a&a saneamiento de propiedades 1
2013 a&a saneamiento de propiedades 12013 a&a saneamiento de propiedades 1
2013 a&a saneamiento de propiedades 1
 
Official action(pa07 250)
Official action(pa07 250)Official action(pa07 250)
Official action(pa07 250)
 
Java ee kursu-izmir
Java ee kursu-izmirJava ee kursu-izmir
Java ee kursu-izmir
 
Instituo bolivariano
Instituo bolivarianoInstituo bolivariano
Instituo bolivariano
 
La recepta de la lasanya
La recepta de la lasanyaLa recepta de la lasanya
La recepta de la lasanya
 
PSUK PS Mag Page 18 Sep 16
PSUK PS Mag Page 18 Sep 16PSUK PS Mag Page 18 Sep 16
PSUK PS Mag Page 18 Sep 16
 

Similar to 安装包制作说明手册

Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 Lheima911
 
第1讲 开始编写程序
第1讲 开始编写程序第1讲 开始编写程序
第1讲 开始编写程序ruandao
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡cachowu
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡guest2d0fe3
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡Cary Yang
 
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4Tao He
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽Will Huang
 
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版pigso
 
安博士Asec 2010年3月安全报告
安博士Asec 2010年3月安全报告安博士Asec 2010年3月安全报告
安博士Asec 2010年3月安全报告ahnlabchina
 
unix toolbox 中文版
unix toolbox 中文版unix toolbox 中文版
unix toolbox 中文版Jie Bao
 
Workflow Overview
Workflow OverviewWorkflow Overview
Workflow OverviewKevin Cao
 
Malware Analysis - Basic and Concept
Malware Analysis - Basic and ConceptMalware Analysis - Basic and Concept
Malware Analysis - Basic and ConceptJulia Yu-Chin Cheng
 
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gOracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gChien Chung Shen
 
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)acqua young
 
Flex 4.5 action custom component development
Flex 4.5 action custom component developmentFlex 4.5 action custom component development
Flex 4.5 action custom component developmentjexchan
 
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Yiwei Ma
 
自动生成 Makefile 的全过程详解!
自动生成 Makefile 的全过程详解!自动生成 Makefile 的全过程详解!
自动生成 Makefile 的全过程详解!hik_lhz
 

Similar to 安装包制作说明手册 (20)

gnutool
gnutoolgnutool
gnutool
 
Gnu
GnuGnu
Gnu
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
 
第1讲 开始编写程序
第1讲 开始编写程序第1讲 开始编写程序
第1讲 开始编写程序
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽
 
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版
 
安博士Asec 2010年3月安全报告
安博士Asec 2010年3月安全报告安博士Asec 2010年3月安全报告
安博士Asec 2010年3月安全报告
 
unix toolbox 中文版
unix toolbox 中文版unix toolbox 中文版
unix toolbox 中文版
 
1~60
1~601~60
1~60
 
Workflow Overview
Workflow OverviewWorkflow Overview
Workflow Overview
 
Malware Analysis - Basic and Concept
Malware Analysis - Basic and ConceptMalware Analysis - Basic and Concept
Malware Analysis - Basic and Concept
 
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gOracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
 
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
 
Flex 4.5 action custom component development
Flex 4.5 action custom component developmentFlex 4.5 action custom component development
Flex 4.5 action custom component development
 
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
 
自动生成 Makefile 的全过程详解!
自动生成 Makefile 的全过程详解!自动生成 Makefile 的全过程详解!
自动生成 Makefile 的全过程详解!
 

安装包制作说明手册

  • 1. 上海市数 字证书 认证中 心有限 公司 安装包制作说明手册 使用 NSIS 制作 SHECA 客户端安装包
  • 2. 文档说明: 本文档是基于 NSIS 脚本的安装包制作说明。 本文档中斜体红字表示路径,斜体蓝字表示文件 版本信息: 版本 发布日期 作者及参不人员 备注 1.0 2007-4-20 战江 四种基本安装类别描述 1.1 2007-5-21 战江 1.增加静默安装类别描述 2.更新引用脚本的内容 1.2 2007-6-12 战江 1.增加本地验证客户端安装类别描述 2.升级证书管理器安装包类别描述(增加其他携带程序区段) 3.升级设备驱动安装包类别描述(加入 devlist) 版权信息: SHECA 是上海市数字证书认证中心有限公司的注册商标和缩写。 本文的版权属于上海市数字证书认证中心有限公司,未经许可,任何个人和团体丌得部分转 载、粘贴或发布本文,更丌得更改本文的部分词汇进行转贴。 未经许可丌得拷贝,影印。 C opyright @ 2007 上海市数字证书认证中心有限公司
  • 3. 1. 新方式的 优点 1.1 友好的用 户界面 新的安装包采用通用的第三方打包软件,可以制作出标准的 Windows 安装程序,同 时可自定义的界面,使得公司产品更加标准化,增强用户的使用信心 和公司形象。 1.2 体系完整 结构清 晰 经过对证书管理器和设备驱动的安装卸载逻辑的详细疏理和重新设计,新架构的安装 包在实现原有功能的基础上增加了许多控制手段,从而解决了原有模式中存在的许多 问题和冲突,可以降低对安装包的维护成本。 1.3 可扩展性 和灵活 性 新模式在设计时就考虑到未来可能的需求,所有的产品丌但具有良好的兼容性,而且 可以在丌影响原有功能的基础上方便地扩展新的功能。 1.4 版本控制 和管理 新模式将版本的控制不目录结构和脚本配置相结合,将版本管理直观化,有助于减少 操作中的失误分散风险并可以明晰责任。 1.5 操作的便 捷性 新模式基于脚本编译,在设计时考虑到操作的便捷性,所以将修改配置的内容尽量缩 减,提高工作效率。 2. 安装环境 配置 2.1 安装编译 工具 安装编译工具 NSIS,然后将揑件库 KillProcDLL.dll 复制到 NSIS 安装目录下的 Plugins 子目录中。 2.2 安装脚本 工具 脚本工具 VNISEdit 直接复制即可完成安装, 运行后按 F11 键将 VNISEdit 注册为 NSIS 文件默认的编辑器。 2.3 建立目录 结构 复制工作区建立目录结构。 3. 工作操作 流程
  • 4. 3.1 制作证书 管理器 安装程 序 3.1.1 准备源文 件 首先要确保源文件版本应该正确。 3.1.2 创建产品 目录 在工作区productscertmanager 目录下根据当天日期建立产品目录,格 式为 YYYY-MM-DD[如:2007-4-20],将此目录作为预定义脚本以及安装 包成品的存放目录。 3.1.3 创建版本 预定义 脚本 [C er tMa nage r De fi ne .ns h ] 根据安装包资源版本.xls 中定义的文件版本结合实际打包的需求定义如下文 件版本,并存成 CertManagerDef ine.nsh 置于相应的产品目录中[如: 工 作区productscertmanage2007-4-20]。 Ce rt Ma na ge rD ef ine . nsh 1 ;脚本系列版本 1.2 2 3 ;文件版本参考安装包资源版本管理 Excel 表 4 ;定义证书管理器程序文件版本 5 !define CETT_EXE "2.2.8.6" 6 !define CETTMGR_INI "2003.11.28" 7 !define CETTMGRDB_MDB "1000021.1000022" 8 !define CSP_SIG "2005.03.14" 9 !define CSPINSTL_EXE "2005.03.14" 10 !define DELDB_EXE "2003.09.19" 11 !define LDAPTEST_EXE "2001.11.21" 12 !define LICENSE_TXT "2006.09.08" 13 !define PUTCAROOT_EXE "1000021.1000022" 14 !define SEARCH_AVI "2000.08.17" 15 !define SKINS_FOLDER "2001.06.29" 16 !define TIPS_TXT "2006.10.18" 17 18 ;定义 eKeyMonitor 程序文件版本 19 !ifdef INCLUDE_EKEYMNTR 20 !define EKEYMONITOR "1.0.0.1" 21 !endif 22 23 ;定义 SSOAgent 程序文件版本 24 !ifdef INCLUDE_SSOAGNT 25 !define CLOSEIE_EXE "2004.01.08" 26 !define LOCKMACHINE_EXE "2004.01.08" 27 !define PULLKEYACTION_EXE "2004.02.18" 28 !define SSOAGENT_EXE "1.2.3.0" 29 !define USBCHECKER_INI "default" 30 !endif 31 32 ;定义 UniAgent 程序文件版本 33 !ifdef INCLUDE_UNIAGNT 34 !define CLOSEIE_EXE "2004.01.08" 35 !define LOCKMACHINE_EXE "2004.01.08" 36 !define UNIAGENT_EXE "1.0.0.4" 37 !define UNIAGENT_INI "default" 38 !endif 39
  • 5. 40 ;定义核心组件(系统动态库)文件版本 41 !define DEVLIST_TXT "2005.06.08" 42 !define CMBMISC_DLL "1.0.0.1" 43 !define DACERT_DLL "2001.04.02" 44 !define DKVERIFYDLL_DLL "2000.01.14" 45 !define ICONHANDLER_DLL "2001.08.02" 46 !define LIBPEMP12_DLL "2000.06.21" 47 !define NACSP_DLL "2002.10.24" 48 !define NSLDAPSSL32V30_DLL "12288.0.0.9516" 49 !define OCSPFORWIN_DLL "2003.09.18" 50 !define READCERT_DLL "2.3.4.0" 51 !define SAFEENGINE_DLL "2.3.9.4" 52 !define SAFEENFINECOM_DLL "2.0.0.2" 53 !define SDUPKCS10_DLL "2001.03.12" 54 !define SE_CRYPT_DLL "2.5.4.0" 55 !define SE_DATABASE_DLL "2003.09.18" 56 !define SHECACERTMGR_DLL "2.2.8.4" 57 !define SHECACSP_DLL "2.3.3.0" 58 !define SHECAEXT_DLL "2000.09.29" 59 !define SHECALDAP_DLL "2.1.3.0" 60 !define UNICACSP_DLL "1.0.0.4" 61 !define USBDETECTDLL_DLL "1.0.0.1" 62 !define USBUTI_DLL "1.2.0.1" 63 64 ;预定义脚本编辑时间戳(不必修改) 65 !define NSH_SAVE_TIME "${__TIMESTAMP__}" 3.1.4 创建编译 控制脚 本 [C e rt Manage r Ty pe.ns h ] 修改工作区目录下的 CertManagerType.nsh 文件控制安装包文件的版本、 证书管理器版本、以及安装包所包含的扩展组件。注意每制作一次安装包都 需要对安装包文件版本升级,而证书管理器产品版本的升级要征得技术部领 导批准后才升 级,扩展 组件可以 根据需求 打开相应 的开关,要 注意的 是 SSOAgent 和 eKeyMonitor 可以同时打开,而它们丌能不 UniAgent 同时 打开。 CertManager Type. nsh 1;脚本系列版本 1.2 2 3 ;定义安装包文件版本 4 !define FILE_VERSION "1.0.0.1" 5 6 ;定义证书管理器产品版本 7 !define CertManagerProductVersion "2.28i" 8 9 ;定义安装包所含扩展组件 10 ;!define INCLUDE_EKEYMNTR 11 ;!define INCLUDE_SSOAGNT 12 !define INCLUDE_UNIAGNT 3.1.5 编译主程 序脚本 [C e rtMa nage r Insta ll. nsi ] 主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目 录中。 3.2 制作设备 驱动安 装程序 3.2.1 准备源文 件
  • 6. 首先要确保 源文件版 本应该正 确。当一 种设备测 试通过后 ,需要 在 includesdevdriver$eKeyType($eKeyType 是丌同设备驱动的分类目 录,其格式为 Num_Name[如:0x9_MingHuaUSB]),在此目录下再根据 当天日期建立产品目录,格式为 YYYY-MM-DD[如:2007.03.01],将此目 录作为设备驱动及接口源文件存放的目录,将测试通过的设备驱动和动态库 复制到该目录下。 3.2.2 创建产品 目录 在 工作区productsekeydevice$eKeyType ($eKeyType 是丌同设备 驱动的分类目录,其格式为 Num_Name[如:0x9_MingHuaUSB] ),在此 目 录 下 再 根 据 当 天 日 期 建 立 产 品 目 录 , 格 式 为 YYYY-MM-DD[ 如 : 2007-4-20],将此目录作为预定义脚本以及安装包成品的存放目录。 3.2.3 创建版本 预定义 脚本 [e Key De fi ne .nsh ] 根据设备相关信息定义如下内容,存成 eKey Define.nsh 置于相应产品目录 中[如:工作区productsekeydevice0x9_MingHuaUSB2007-4-20 ]。 其中需要注意的是: eKeyDevNo 指十进制的内部设备号[如明 华为 8] ; eKeyDevNo16 是 相 应 的 十 六 进 制 的 内 部 设 备 号 [ 如 华 大 为 1a] ; eKeyLibsNu m 是设备接口动态库的个数(最多 6 个),根据这个个数需要在 设 置 lib1,lib2,lib3,lib4,lib5,lib6 中 设 置 相 应 的 接 口 动 态 库 的 名 称 ; eKeyDevUninstallString 为卸载设备驱动的注册表项,一般需要设备商在 提 交 测 试 申 请 时 提 供 , 或 者 自 行 到 注 册 表 regedit 中 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentV ersionUninstall 下去找。 e Ke yDe f ine. nsh 1;脚本系列版本 1.2 2 3 ;定义安装包所含设备的名称 4 !define eKeyName "明华 USB" 5 6 ;定义设备驱动安装包版本号 7 !define eKeyVersion "2.92" 8 9 ;定义安装包所含设备驱动文件名称及版本日期 10 !define eKeyDriver "MingHuaUSBDriver.exe" 11 !define eKeyDrvrVersion "2007.03.01" 12 13 ;定义安装包所含设备的内部设备号(十进制) 14 !define eKeyDevNo "8" 15 16 ;定义安装包所含设备的内部设备号(十六进制) 17 !define eKeyDevNo16 "8" 18 19 ;定义设备接口动态库数量及各自文件名(最多 6 个 [lib1][lib2][lib3][lib4][lib5][lib6]) 20 !define eKeyLibsNum "3" 21 !define lib1 "Mw_eKey.dll" 22 !define lib2 "MW_RSA.dll" 23 !define lib3 "MwUsbD.dll" 24
  • 7. 25 ;定义卸载设备驱动的注册表项 26 !define eKeyDevUninstallString "M&W eKey Driver(V2.7)" 27 28 ;预定义脚本编辑时间戳(不必修改) 29 !define NSH_SAVE_TIME "${__TIMESTAMP__}" 3.2.4 创建编译 控制脚 本 [e Key Ty pe .nsh ] 修改工作区目录下的 eKeyType.nsh 文件控制安装包文件的版本以及安装 包所包含的设备。 e Ke y Ty pe . nsh 1;脚本系列版本 1.2 2 3 ;定义安装包文件版本 4 !define eKeyFileVersion "1.0.0.1" 5 6 ;定义安装包所含设备驱动的类型(只能开放其中一种) 7 !define MingHuaUSB #8 #8 8 ;!define WoQiUSB #9 #9 9 ;!define TianYuUSB #15 #e 10 ;!define FeiTianUSB #16 #f 11 ;!define HuaMaUSB #24 #18 12 ;!define DaMingWuZhouUSB #25 #19 13 ;!define HuaDaUSB #26 #1a 14 ;!define YiYuanUSB #29 #1d 15 ;!define HaiTaiFangYuanUSB #30 #1e 16 ;!define WeiShiTongUSB #31 #1f 3.2.5 编译主程 序脚本 [e Key Insta ll.ns i ] 主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目 录中。 3.3 制作证书 管理器 安装包 3.3.1 准备源文 件 首先要确保源文件版本应该正确。 3.3.2 创建产品 目录 在工作区 productspackage$PackageName ($PackageType 是含丌 同设备驱动的安装包的分类目录,其格式为 CertManager_eKey Name[如: CertManager_MingHuaUSB]),在此目录下再根据当天日期建立产品目 录,格式为 YYYY-MM-DD[如:2007-4-20],将此目录作为预定义脚本以 及安装包成品的存放目录。 3.3.3 创建版本 预定义 脚本 [Pac kage De f i ne .nsh ] 根据安装包包含的证书管理器安装程序及设备驱动程序的相关信息定义如下 内 容 , 存 成 Package Def ine.nsh 置 于 相 应 产 品 目 录 中 [ 如 : 工 作 区 productspackageCertManager_MingHuaUSB2007-4-20 ]。 其中需要注意的是: eKeyDevNo 指十进制的内部设备号[如明 华为 8] ; eKeyDevNo16 是 相 应 的 十 六 进 制 的 内 部 设 备 号 [ 如 华 大 为 1a] ;
  • 8. CERT_MANAGER_VERSION 是 证 书 管 理 器 安 装 程 序 (productscertmanager 里的成品元件)的版本日期;eKeyDrvrVersion 是所包含设备驱动安装包(productsekeydevice 里的成品元件)的版本日 期;eKeyVersion 是设备驱动程序的版本号。 P a cka geD ef ine . nsh 1;脚本系列版本 1.2 2 3 ;定义证书管理器安装程序版本日期 4 !define CERT_MANAGER_VERSION "2007-4-24" 5 6 ;定义安装包所含设备的名称 7 !define eKeyName "明华 USB" 8 9 ;定义安装包所含设备驱动的版本号 10 !define eKeyVersion "2.92" 11 12 ;定义安装包所含设备驱动安装包的版本日期 13 !define eKeyDrvrVersion "2007-4-20" 14 15 ;定义安装包所含设备的内部设备号(十进制) 16 !define eKeyDevNo "8" 17 18 ;定义安装包所含设备的内部设备号(十六进制) 19 !define eKeyDevNo16 "8" 20 21 ;预定义脚本编辑时间戳(不必修改) 22 !define NSH_SAVE_TIME "${__TIMESTAMP__}" 3.3.4 创建编译 控制脚 本 [Packa ge Ty pe .nsh ] 修改工作区目录下的 PackageType.nsh 文件控制安装包文件的版本、证书 管理器版本、以及安装包所包含的设备。 P a cka ge Ty pe . nsh 1;脚本系列版本 1.2 2 3 ;定义安装包文件版本 4 !define FILE_VERSION "1.0.0.1" 5 6 ;定义证书管理器产品版本 7 !define CertManagerProductVersion "2.28i" 8 9 ;定义安装包所含设备驱动的类型(只能开放其中一种) 10 !define MingHuaUSB #8 #8 11 ;!define WoQiUSB #9 #9 12 ;!define TianYuUSB #15 #e 13 ;!define FeiTianUSB #16 #f 14 ;!define HuaMaUSB #24 #18 15 ;!define DaMingWuZhouUSB #25 #19 16 ;!define HuaDaUSB #26 #1a 17 ;!define YiYuanUSB #29 #1d 18 ;!define HaiTaiFangYuanUSB #30 #1e 19 ;!define WeiShiTongUSB #31 #1f 3.3.5 编译主程 序脚本 [Pac kage Instal l.ns i ] 主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目 录中。
  • 9. 3.4 制作证书 管理器 标准安 装包 3.4.1 准备源文 件 首先要确保源文件版本应该正确。 3.4.2 创建产品 目录 在工作区productsstandard 目录下根据当天日期建立产品目录,格式为 YYYY-MM-DD[如:2007-4-20],将此目录作为预定义脚本以及安装包成 品的存放目录。 3.4.3 创建版本 预定义 脚本 [U ni Trust De f ine .ns h ] 根据安装包包含的证书管理器安装程序及设备驱动程序的相关信息定义如下 内 容 , 存 成 UniTrustDefine.nsh 置 于 相 应 产 品 目 录 中 [ 如 : 工 作 区 productsstandard2007-4-20 ]。 其中需要注意的是: eKeyDevNo 指十进制的内部设备号[如明 华为 8] ; eKeyDevNo16 是 相 应 的 十 六 进 制 的 内 部 设 备 号 [ 如 华 大 为 1a] ; CERT_MANAGER_VERSION 是 证 书 管 理 器 安 装 程 序 (productscertmanager 里的成品元件)的版本日期;WoQiDrvrVersion、 MingHuaDrvrVersion、HuaDaDrvrVersion 等是所包含设备驱动安装包 (productsekeydevice 里的成品元件)的版本日期。 UniTr ust D ef ine . nsh 1;脚本系列版本 1.2 2 3 ;定义证书管理器安装程序版本日期 4 !define CERT_MANAGER_VERSION "2007-4-24" 5 6 ;定义明华 USB 驱动程序版本及安装包版本日期 7 !define MingHuaVersion "2.92" 8 !define MingHuaDrvrVersion "2007-4-20" 9 10 ;定义握奇 USB 驱动程序版本及安装包版本日期 11 !define WoQiVersion "2.5" 12 !define WoQiDrvrVersion "2007-4-20" 13 14 ;定义华大 USB 驱动程序版本及安装包版本日期 15 !define HuaDaVersion "4.2" 16 !define HuaDaDrvrVersion "2007-4-20" 17 18 ;预定义脚本编辑时间戳(不必修改) 19 !define NSH_SAVE_TIME "${__TIMESTAMP__}" 3.4.4 创建编译 控制脚 本 [Un i Trust Ty pe .ns h ] 修改工作区目录下的 UniTrustType.nsh 文件控制安装包文件的版本、证书 管理器版本、以及安装包所包含的设备。 UniTrus tType. ns h 1;脚本系列版本 1.2 2 3 ;定义安装包文件版本 4 !define FILE_VERSION "1.0.0.1"
  • 10. 5 6 ;定义证书管理器产品版本 7 !define CertManagerProductVersion "2.28i" 8 9 ;定义安装包所含设备驱动种类(标准版不必修改) 10 !define 0x9 "MingHuaUSB" 11 !define 0xA "WoQIUSB" 12 !define 0x1b "HuaDaUSB" 3.4.5 编译主程 序脚本 [U n i Tr ust Instal l.nsi ] 主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目 录中。 3.5 制作静默 安装包 3.5.1 准备源文 件 首先要确保源文件版本应该正确。 3.5.2 创建产品 目录 在工作区productssilent$ProductType($ProductType 表示静默安装 包的产品类别如:cert manager/ekeydevice/package/standard)目录 下根据当天日期建立产品目录,格式为 YYYY-MM-DD[如:2007-5-18], 将此目录作为预定义脚本以及安装包成品的存放目录。 3.5.3 创建版本 预定义 脚本 [Si lent De fi ne.ns h ] 根据安装包包含的证书管理器安装程序及设备驱动程序的相关信息定义如下 内容,存成 Silent Define.nsh 置于相应产品目录中[如: 工作区 products silentstandard2007-5-18 ]。 其中需要注意的是: eKeyNo 指十进制的内部设备号[如明华为 8]; eKeyName 是设备的名称[如华大为华大 USB];eKeyVersion 是驱动的版本号(上述各 项是在 制作 设备 驱动 安装 包或者 是证 书管 理器 安装 包时 需要设 定的 ); SourceVerDate 是所要包含的源安装包的版本日期。 Sile nt D ef ine . nsh 1;脚本系列版本 1.2 2 3 !ifdef eKeyDeviceInstall | PackageInstall 4 ;定义安装包所含设备的内部设备号(十六进制) 5 !define eKeyNo "0x9" 6 7 ;定义安装包所含设备的名称 8 !define eKeyName "明华 USB" 9 10 ;定义安装包所含设备驱动的版本号 11 !define eKeyVersion "2.92" 12 !endif 13 14 ;定义静默包源程序的版本日期 15 !define SourceVerDate "2007-5-21" 16 17 ;预定义脚本编辑时间戳(不必修改)
  • 11. 18 !define NSH_SAVE_TIME "${__TIMESTAMP__}" 3.5.4 创建编译 控制脚 本 [S i lent Ty pe.ns h ] 修改工作区目录下的 SilentType.nsh 文件控制安装包文件的版本、证书管 理器版本、以及安装包所包含的设备(在制作设备驱动安装包或者是证书管 理器安装包时需要设定的)。 Sile nt Ty pe . nsh 1;脚本系列版本 1.2 2 3 ;定义安装包文件版本 4 !define FILE_VERSION "1.0.0.1" 5 6 ;!define CertManagerInstall 7 ;!define eKeyDeviceInstall 8 !define PackageInstall 9 ;!define StandardInstall 10 11 ;定义证书管理器产品版本 12 !define CertManagerProductVersion "2.28i" 13 14 ;定义安装包所含设备的英文全称 15 !ifdef eKeyDeviceInstall | PackageInstall 16 !define eKeyType "HuaDa" 17 !endif 3.5.5 编译主程 序脚本 [S ile nt Insta ll. nsi ] 主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目 录中;同时在源安装包所在的目录下会自动创建一个名为“静默安装包”的 快捷方式指向成品所在目录。 3.6 制作本地 验证客 户端安 装包 3.6.1 准备源文 件 首先要确保源文件版本应该正确。 3.6.2 创建产品 目录 在工作区productslocal,在此目录下再根据当天日期建立产品目录,格 式为 YYYY-MM-DD[如:2007-5-25],将此目录作为预定义脚本以及安装 包成品的存放目录。 3.6.3 创建版本 预定义 脚本 [Local De fi ne .ns h ] 根据安装包包含的证书管理器安装程序及设备驱动程序的相关信息定义如下 内容,存成 LocalDef ine.nsh 置于相应产品目录中[如: 工作区 products local2007-5-25 ]。 其中需要注意的是: eKeyNo 指十进制的内部设备号[如明华为 8]; eKeyName 是设备的名称[如华大为华大 USB];eKeyVersion 是驱动的版本号(上述各 项是在 制作 设备 驱动 安装 包或者 是证 书管 理器 安装 包时 需要设 定的 ); SourceVerDate 是所要包含的源安装包的版本日期。
  • 12. Loca lD ef ine . nsh 1;脚本系列版本 1.2 2 3 !ifdef eKeyDeviceInstall | PackageInstall 4 ;定义安装包所含设备的内部设备号(十六进制) 5 !define eKeyNo "0x9" 6 7 ;定义安装包所含设备的名称 8 !define eKeyName "明华 USB" 9 10 ;定义安装包所含设备驱动的版本号 11 !define eKeyVersion "2.92" 12 !endif 13 14 ;定义静默包源程序的版本日期 15 !define SourceVerDate "2007-5-21" 16 17 ;预定义脚本编辑时间戳(不必修改) 18 !define NSH_SAVE_TIME "${__TIMESTAMP__}" 3.6.4 创建编译 控制脚 本 [L ocal Ty pe .ns h ] 修改工作区目录下的 LocalType.nsh 文件控制安装包文件的版本、证书管 理器版本、以及安装包所包含的设备(在制作设备驱动安装包或者是证书管 理器安装包时需要设定的)。 Sile nt Ty pe . nsh 1;脚本系列版本 1.2 2 3 ;定义安装包文件版本 4 !define FILE_VERSION "1.0.0.1" 5 6 ;!define CertManagerInstall 7 ;!define eKeyDeviceInstall 8 !define PackageInstall 9 ;!define StandardInstall 10 11 ;定义证书管理器产品版本 12 !define CertManagerProductVersion "2.28i" 13 14 ;定义安装包所含设备的英文全称 15 !ifdef eKeyDeviceInstall | PackageInstall 16 !define eKeyType "HuaDa" 17 !endif 3.6.5 编译主程 序脚本 [Loca l Insta ll. nsi ] 主程序脚本一般情冴丌需要变动。编译该脚本后,成品会保存在相应产品目 录中。