发新话题
打印

用InstallShield制作安装程序的步骤

 建立工程文件

打开InstallShield 相关应用程序,双击“Project Wizard”,按照向导提示输入工程的相关信息。当然这里输入的是给相关变量赋值,在编译之前可以对其进行修改,打开资源Re sources,对其相关属性的变量进行重新赋值即可;另外,还需对菜单项“Project”中的产品名称进行更改。

2 文件组配置

打开文件组File Groups工作区,展开树,给相应的文件组链接对应文件,对应文件会显示在相应的区域。单击相应文件组,对其其属性进行设置, 重要的有: [Shared] 指定当前文件组中的文件是否为共享文件,即该文件是否被多个应用程序共同使用,若设为共享文件InstallShield在应用 程序安装过程中会自动处理这些文件的注册;[Self Registered]设置当前文件组中的文件是否自注册,这个功能能够将相关文件在安装过程中进行注册,卸载时也会自动将这些注册信息删除; [Compressed]指定当前文件组中的文件在建立媒体库时是否被压缩,这里的设置在安装媒体向导的磁盘类型中不选择[Data as files]复选框是有效的,否则不管如何设置应用程序即不存储在电缆文件中也不被压缩;[Overwrite]指定当前文件组中文件覆盖终端用户计算机系统中已存在同名文件的条件;[Destination]指定当前文件组在安装过程中被传输的目标位置。

3 组件设置

打开组件“Components”工作区,可以新建组件,组件的重要属性有:“Status Text”是标志在复制对话的进度条上看到的文本;“Display Name”是给定当前组件显示给终端用户的文本;“File Need”是指定组件的级别,【Critical】对于安装程序不允许终端用户不选择该组件,【Recommended渴墙ㄒ橹 斩擞没вΩ醚≡癜沧案米榧維tandard】如果终端用户没有选择该组件,不会显示任何信息;“Include in Build”是表示是否将该组件包含到发行媒体中,暂时将本特征不包含到发行媒体给这个组件留下位置,以便以后升级。“Requ ired Components”是将此组件必需的其它组件链接在一起;“Included File Groups”可以为当前组件增加和删除与之相关的文件组;其它属性默认即可。

4 在Setup.rul底稿文件中添加代码

充分利用InstallShield资源可以省去不少代码编写,特别是InstallShield提供的一些内部函数,可以实现 丰富的功能,需要特别注意的是大小写是严格区分的。

5 编译工程

从【Build】菜单中选择【Compile】选项对脚本进行编译;编译通过后选择【File】菜单中的【Save】选项进行脚 本修改的保存。

6 定制MEDIA(安装媒体)

从【Build】菜单中选择【Media Wizard】选项启动媒体制作向导,按照提示一步一步进行,最后出现所设置的总信息,不妥后退进行修改,最后确认后按【完成】 后定制媒体。

7 测试

文件安装媒体制作完成之后,就可以进行测试,从【Build】菜单中选择【Run Setup】运行,安装完成后可以通过【开始】菜单的【程序】中的快捷方式运行安装的应用程序。最后运行卸载程序将应用程序从系 统中删除 。

三、安装程序初始化

在函数OnFirstUIBefore()中输入如下脚本代码进行初始化程序。

1 安装背景设置

SetFont(FONT_TITLE,STYLE_BOLD|STYLE_SHADOW, "Arial");//设置字体

SetTitle(@TITLE_CAPTIONBAR,0, BACKGROUNDCAPTION );//设置标题

SetTitle( @TITLE_MAIN, 24, WHITE ); //设置对话框主题字体和颜色

Enable( FULLWINDOWMODE ); //允许全屏显示

Enable( BACKGROUND ); //允许背景设置有效

SetColor(BACKGROUND,RGB (0, 128, 128)); //设置背景颜色

2 加载图片

在任何时候都可以加载图片以装饰安装程序,方法如下:

svPicName = SUPPORTDIR ^ "pic6.bmp"; //定义图片路径

DialogSetInfo(DLG_INFO_ALTIMAGE,svPicName,TRUE);//在对话框中显示

svPicName = SUPPORTDIR ^ "pic2.bmp";

PlaceBitmap(svPicName,13,0,0,FULLSCREENSIZE);//全屏显示图片作为背景

在加载下一幅图片的时候要先移去上一幅已加载的图片,方法如下:

PlaceBitmap ("",13,0,0,REMOVE);

3 系统变量的设置

nSetupType = TYPICAL; //预设默认安装类型

TARGETDIR = "D:\\"^@PRODUCT_NAME; //设置默认安装路径

svName = "Name"; //用户默认名

svCompany = "Company"; //公司默认名

svSerial = "123-EDC-532-386"; //序列号

四、定制程序组(项)

function SetupFolders()

NUMBER nResult,nIcon, nFlag;

STRING szProgramFolder,szItemName,szCommandLine,szWorkingDir,szIcon Path;

STRING szShortCutKey, szProgram, szParam,svTmp;

begin

szProgramFolder = @PRODUCT_NAME;

if (C

TOP

Scripts页面

  项目工作区窗口的Scripts页面用来管理安装程序的脚本文件,在该页面中各项脚本文件均以树状列表的型式显示出来的。每 个目录项前都有一个图标,且顶层目录项前还有一个套在方框中的符号"+"。双击顶层目录项或单击最前面的"+",则直接打开并显 示该目录项的所有子项,此时顶层目录项前的"+"变成"-"号;再双击顶层目录项或单击最前面的"-",则该项目的所有子项被收 缩,只显示顶层目录项内容,此时顶层项目前的"-"又变成了原来的"+"号。

  展开顶层目录项的所有子项,双击以.rul为扩展名的脚本文件项,则在开发环境的右边的文档窗口中显示出该脚本文件的内容。 为了增强安装程序代码的可读性,脚本文件的源代码内容往往是以不同颜色来显示的,各种颜色所代表的含义如下所示:

  白底黑字 一般文本

  黑底白字 被选定的文本

  青色底黑色字 文本的行标记

  白底红字 InstallShield的函数

  白底蓝字 InstallScript脚本语言的关键字

  白色底品红色字 常数

  白色底紫红色字 用""符号括起来的文本内容

  白底绿字 注释

Components页面

  项目工作区窗口的Components页面用来管理安装程序的各项组件。缺省时,一个安装项目通常有程序文件(Progra m Files)、示例文件(Example Files)、帮助文件(Help Files)以及共享的DLL文件(Shared DLLs)共四个组件。双击某个组件目录项,则在主界面的右边窗口中显示出该组件相关属性的完整列表,这些属性都可以方便地进行 相应的修改。

Setup Types页面

  项目工作区窗口的Setup Types页面用来管理提供给用户的安装类型。缺省时,一个安装项目通常有Typical(典型)、 Compact(紧凑)和Custom(定制)共三种安装类型。双击某种安装类型,则在主界面的右边窗口中显示出该安装类型相关 的组件。

  在组件中,凡是文件组前面有一个带钩号(√)的图标,表示该文件组已被选入相应的安装类型中。反复双击文件组前面的图标可在 "选入"和"不选"之间进行切换。

Setup Files页面

  项目工作区窗口的Setup Files页面用来管理在安装过程中所需要的安装文件,它通常有含有下面一些内容。


Support Files/Billboards页面


(1) Splash Screen(启动画面)

  InstallShield用Setup.bmp作为安装程序的启动画面。若在不同的语系(中文、English)中放置各 自的位图文件,则安装程序将根据安装环境的不同语系选用相应的Setup.bmp;若将该文件放置在Language Independent(与语系无关)目录项中,则不管操作系统是何种语系,都将以此位图文件作为程序安装的启动画面。

(2) Language Independent(与语系无关)

  它允许用户为各种操作系统或专门为Windows 95/98/NT操作系统指定相应的安装文件,这样不管怎样的语系,安装程序都会根据相应的操作系统来拣选相应的文件。

(3) 其他语系相关的文件

  它允许用户为各种操作系统或专门为Windows 95/98/NT操作系统指定相应的安装文件,这样安装程序会根据相应的语系和语系下的操作系统来拣选相应的文件。

(4) Advanced Files(高级文件)

  在用具体的媒介发布时,允许用户在相应的媒介中放置一些非压缩文件。

File Groups页面

  项目工作区窗口的File Groups页面用来管理安装项目所需要的文件组。缺省时,安装程序项目通常有Example Files(示例文件组)、Help Files(帮助文件组)、Program DLLs(应用程序所需的DLL文件组)、Program Executable Files(应用程序文件组)以及Shared DLLs(共享DLL文件组)共五个文件组。

  双击某个文件组,则在主界面的右边窗口中显示出该文件组的相关属性,用户可以方便地进行修改。

System configuartion页面

  用来管理安装项目所需要的安装资源。缺省时,一个安装项目通常有String Table(字符串表)、Registry Entries(注册项)等

Media页面

  项目工作区窗口的Media页面用来管理程序发布时的媒介。在该页面中包含Media Build Wizard(媒介创建向导)、缺省的媒介以及用户新创建的媒介等项,单击"Media Build Wizard"将开始媒介创建向导,用来创建新的媒介。

  需要说明的是:在各个页面中,右击鼠标时都会弹出相应的快捷菜单,它包含当前状态下的一些常用操作。

TOP

发新话题