表1 组件 属性 值 Program Files Description Files required to run the program Status Text Copying Program Files Installation Required Components Shared DLLs Included File Groups Program Executable Files Shared DLLs Description DLLs used by all the programs Status Text Copying Shared DLLs Installation Description <WINSYSDIR> Included File Groups Shared DLLs Help Files Description Files that help you know how to use the program Status Text Copying Help Files Installation Included File Groups Help Files 表2 标识 值 COMPANY.NAME III Corporation PRODUCT.KEY Show.exe PRODUCT.NAME System Information UNINST.DISPLAY.NAME System Information UNINST.KEY Show.exe
进入InstallShield,双击Project窗口上的Project Wizard图标,出现Project Wizard-Welcome对话框。
在Application Name中填入应用程序名称,这里填入Show System Information;在Application Type中选择Software Development Application;在Application Version中输入应用程序版本号,这里填入1.0;在Application Executable中选择需要安装的程序,这里选择Show.exe。
单击Next按钮,出现Project Wizard-Choose Dialogs对话框。其中的选项是安装程序运行进程中依次出现的对话框,如显示Welcome屏幕,显示软件许可协议,选择安装目录,选择安装类型等等。这里不选择Use Information选项。可以单击Preview了解对话框内容。单击Next按钮,出现Project Wizard-Choose Target Platforms对话框。这里出现安装程序可以运行的操作系统平台,全选时可以在Windows95、Windows NT等平台下运行,但安装程序较大。这里只选Windows95。
单击Next按钮,出现Project Wizard-Specify Languages对话框。InstallShield Free Edition只提供了英语,要想使用中文,必须购买InstallShield专业版。
单击Next按钮,出现Project Wizard-Specify Setup Type对话框。这里需要选择安装类型,这里选择Typical。
单击Next按钮,出现Project Wizard-Specify Component对话框。组件类型是主要程序区域的定义,可以给安装程序添加所需的新组件类型,如数据库应用程序可能需要添加数据库文件类型。这里删除Example Files组件。
单击Next按钮,出现Project Wizard-Specify File Groups对话框。创建的文件组可以使所需的所有文件能一次拷贝完成。文件组可以穿过组件类型的界线。这里删除Program DLLs、Example Files。单击Next按钮,出现Project Wizard-Summary对话框。单击Finish按钮。InstallShield使用如上的参数创建安装程序。此时右边出现的是创建安装程序的C++代码。如有特殊需要,可以修改代码以完成指定的任务。
下面进行文件的添加和各种组件的安装。
单击Component选项卡,出现Components-Program Files对话框。双击相应条目可以出现Properties对话框,可以修改相应的值。其中Description将会在Custom Installation中显示有关组件的提示信息;Status Text将在拷贝文件过程中显示有关信息;Installation让你选择如果有关组件已经存在时应采取的措施,如无条件覆盖或用较新版本覆盖;Destination让你选择安装目录,如一般Shared DLLs安装在Windows System目录下;Required Components让你选择安装此组件时必须安装的其他组件,例如安装Program Files组件时必须安装Shared DLLs组件;Included File Groups中要加入具体的组件。本例中有三个组件,具体的设置如表1。
下面向文件组中添加文件。单击File Group选项卡并单击Program Executable Files,出现Links选项。用鼠标右键单击,出现一快捷菜单,选择Insert Files,加入应用程序Show.exe。在Shared DLLs中添加MFC42.DLL和MSVCRT.DLL(在Windows System目录下)。在Help Files中加入相应的帮助文件。
随后要做的是定义资源,以给用户提供一些信息。选择Resource选项卡,将其改为表2形式。
最后要做的是确定安装介质。
单击Media选项卡,单击Media Build Wizard添加介质,出现Media Build Wizard-Media Name对话框,在Media Name中填入My Media。单击Next,出现Media Build Wizard-Disk Type对话框,选择3.5"Diskette-1.44Mbytes选项。单击Next,并选Full Build,出现Media Build Wizard-Tag File对话框。在Company Name中输入III Corporation,在Application Name中输入System Information。单击Next,出现Media Build Wizard-Platforms对话框,选择支持平台为Windows95。单击Next,检验所用的设置。单击Finish,InstallShield将完成安装程序的创建。
到此,你自己的安装程序就创建完毕。试试看,怎么样?
表1 组件 属性 值
Program Files Description Files required to run the program
Status Text Copying Program Files
Installation
Required Components Shared DLLs
Included File Groups Program Executable Files
Shared DLLs Description DLLs used by all the programs
Status Text Copying Shared DLLs
Installation
Description <WINSYSDIR>
Included File Groups Shared DLLs
Help Files Description Files that help you know how to use the program
Status Text Copying Help Files
Installation
Included File Groups Help Files 表2 标识 值
COMPANY.NAME III Corporation
PRODUCT.KEY Show.exe
PRODUCT.NAME System Information
UNINST.DISPLAY.NAME System Information
UNINST.KEY Show.exe
--------------------------------------------------------------------------------
InstallShield可以说是软件安装的最好制作工具。其简单的操作、完全可视化的界面、方便的调试功能、多平台(Windows3.1, Windows95, WindowsNT3.5, Windows NT4.0 )语言(中文、各种西文)的支持使它几乎成为了安装制作的标准。难怪微软在它的拳头产品Visual C++4.X中开始,就以捆绑的形式包括了InstallShield3。而今,随着日月的推移,InstallShield更是羽翼丰满,又陆续推出了InstallShield Professional 5.X(包括East Edition,West Edition)和InstallShield 6.0,功能更为强大,操作更为简便。对于Shareware软件的制作者,包装上一个漂亮的安装程序,实在是非常必要。本文简要探讨一下用InstallShield制作安装软件的方法,希望对感兴趣的朋友有所帮助。 在InstallShield的各种最新版本中,其专门制作的East Edition,可应用于汉语(GB、BIG5)、英语、印度尼西亚语、日语、韩语、俄语、土耳其语、泰国语等多语种。本文便以InstallShield East Edition 5.1为探讨对象进行讨论。InstallShield的其它语种版本的操作和East Edition几乎完全相同。
进入InstallShield East Edition 5.1后便是两个“向导”面对你。 习惯用VB的朋友可以用VB5 Project Wizard,它需要你的系统中安装了VB5。 更为常用的是Project Wizard,它可以定制更为普便适用的安装程序。进入Project Wizard后如图1:在第一栏中写入你的程序的名字,第二栏中写入公司的名字,在第三栏中选择开发程序使用的根据,第四栏中选择程序的种类,最后一栏中填入程序的可执行文件的完整路径和名字。单击下一步,进入选择定制对话框:安装自己的喜好选择希望安装过程进行时出现的对话框,按Priview键可以预览一下相应对话框的效果。接下来是选择要安装目标平台。也即程序将被运行在什么平台之上。InstallShield共提供了四种平台供选择(Win31, win95, WinNT3.5, Windows NT4.0 )。然后是多语种支持,也就是安装时可以提供的语言支持。再向下依次是安装类型选择、指定构成成份、指定文件组,最后是所有选项的概括。完成选择后便可得到你自己定做的Project,进入InstallShield的可视化编程环境。 下面让我们一步一步地完成我们的制作。 整个InstallShield的可视化程度很高。支持鼠标右键的操作,在各个位置的鼠标右键可激活各种功能;编译、调试方便,简直是VC++这种大型程序的简写本,却又比VC++方便了许多。
一、在左面的选项中选择Scripts。
这是全部制作的核心部分,也是我们所最应集中精力攻克的小小关口。当然不更改Scripts中的源程序也能制作一个标准的安装程序,但如果能够控制Scripts的编程,整个安装程序的制作水准就可以达到一个新的高度,这也许是您与普通制作者区别的开始吧。其实InstallShield的Scripts非常类似于C和C++的程序编写,相信对大多数程序员来说是非常容易掌握的。而对于没有什么C和C++的基础的朋友来讲,看完这篇文章后,相信你也能很好地去制作自己的Scripts,因为它具有相当程度的重复性,更容易被“依葫芦画瓢”。 Scripts的布局同C语言非常类似。首先是头文件的包含,紧接着是字符串的定义、函数原形的说明、全局变量的说明。你可以做的是在此加上你的函数说明、全局变量的说明。 Scripts中遵循C的规则,同样有局部变量和定义。遵循C++的注释规则,可以用// 注释内容来进行单行注释,也可以用/* 注释内容 */来注释一块语句。所有的关键字、宏定义都以不同颜色的字体标出,非常直观。Scripts 的编程遵循结构化编程的思想,提供了大量类似Windows API的函数库供调用,每个宏定义都有详细的说明,每个函数除了详细地说明,解释每个变量的意义外,还都附有相应的例子,参考这些说明和例子,可以让新手在非常短的时间内上路。对用VC++开发过Windows程序的朋友来讲,简直就是一种6=2×3的转变而已,可以非常轻松地掌握。 在程序的最前段,是program…………………endprogram,它相当于C中的main() {……}主函数。后面是一个个子函数体的程序,排列顺序是按调用顺序排列。全部函数都非常简单易懂,并且一般不需太大改动。下面将几个常用、经常改动的函数加以说明。 (1) function SetupFolders() function SetupFolders() NUMBER nResult; STRING szFolderDir; begin szProgramFolder = FOLDER_PROGRAMS^ SHELL_OBJECT_FOLDER; //建立程序组或快捷方式的位置szItemName = "眼部图象多功能处理系统"; //应用程序名称szProgram = TARGETDIR^'eye95.exe'; //可执行文件名szParam = ""; LongPathToQuote (szProgram, TRUE);//合并路径 LongPathToShortPath (szParam);//转为短路径,专为Win31和WinNT3.5而用 szCommandLine = szProgram + " " + szParam; //生成命令行 szWorkingDir = TARGETDIR;//工作路径 szIconPath = ""; nIcon = 0; szShortCutKey = ""; nFlag = REPLACE; AddFolderIcon (szProgramFolder, szItemName, szCommandLine, szWorkingDir, szIconPath, nIcon, szShortCutKey, nFlag); szProgramFolder = FOLDER_DESKTOP; LongPathToQuote(szCommandLine, TRUE);if(SprintfBox( OK|CANCEL,"请选择:","%s","你想在桌面上创建快捷方式吗?")==6) then AddFolderIcon(szProgramFolder,szItemName,szCommand Line, szWorkingDir,szIconPath,nIcon,szShortCutKey, nFlag);endif;szProgramFolder = FOLDER_PROGRAMS^ SHELL_OBJECT_FOLDER;szItemName="readme";szProgram = WINDIR ^ "notepad.exe";szParam = TARGETDIR^"readme.txt";LongPathToQuote (szProgram, TRUE);LongPathToShortPath (szParam);szCommandLine = szProgram + " " + szParam;AddFolderIcon(szProgramFolder,szItemName, szCommandLine , szWorkingDir, szIconPath, 0, szShortCutKey,nFlag ); nResult = CreateShellObjects( "" ); return nResult; end; 其实这段程序说白了是对AddFolderIcon的一个应用而已。应用AddFolderIcon来在开始选单中添加程序组、程序项或在桌面桌面添加快捷方式等等。所以首先读一下AddFolderIcon的说明非常必要。它共有八个入口参数。第一个参数szProgramFolder是确定要在Win95中添加选单的位置(路径),例如 "C:\\WINDOWS\\STARTMENU\\PROGRAMS\\ACCESSORIES\\GAMES"。 而在Windows95和WinNT4.0中,还可以用系统的宏定义:FOLDER_DESKTOP(添加在桌面上)、FOLDER_DESKTOP(添加在开始选单中)、FOLDER_PROGRAMS(添加在开始-〉程序选单中)等。第二个参数为szItemName,即添加的图标的名称(应用程序的名称)。第三个参数szCommandLine相对繁琐一些。它为了指定可执行程序和它的命令行,或者在子目录下的全路径(仅适用于Windows95&winNT4.0)。szWorkingDir为工作路径,可为空:“”,或为TARGETDIR(目标路径)。szIconPath为图标路径,一般设为空:“”。nIcon为图标序数,即若应用程序有若干个图标,想显示那个,依次为0,1,2……。
一个简明的教程 ,很有用
二、修改File Groups
双击相应的Examples Files、Help Files、Program DLLs、Program Executable Files、Shared Dlls,在相应的Links中,单击右键,可以插入一组文件、一个文件夹或一个文件。而在Examples Files、Help Files、Program DLLs、Program Executable Files、Shared Dlls中分别加入文件是为了在程序安装时的选项安装。更为简便的方法是在Tools中启动Launch Explorer,然后把所需的文件或文件夹拖拉到右面空白处即可。
三、修改Components
单击Program Files、Example Files、Help Files或Shared Dlls,在右面的表格中双击Include File Groups,在弹出的属性对话框里单击Add…,加入相应的文件组。
四、修改Setup Types
单击Compact、Typical或Custom,在右面的表格中选择各自包括的组成成份。 注:有了二、三、四项的操作,才能完成安装时的“典型安装、简洁安装和定制安装”的选择。
五、修改Setup Files
在Splash Screen-〉Language Independent中你会发现一个Setup.bmp文件,这个是系统提供给你的安装开始时的闪烁画面。你可以用你的封面替代这个setup.bmp。在Language Independent-〉Operating System Independent中,你会发现license.txt和infolist.txt。你可以将你的应用程序的说明、版权信息写入相应文件。
六、修改Resource
在Register Entires中,你可以添加你的键值。对Register Entires单击鼠标右键,单击New Entry,便可在右面的Register Set中加入自己的键值。 在Shell Objects中,有Explorer Shell和Program Manager Shell两个分类,分别是为了windows95、WinNT4.0和win31、winNT3.5设计的。在Explorer Shell中,又有Desktop、Start Menu、Programs、Startup的层次之分。你可以在任一层单击右键,插入您所需要加的快捷方式或文件夹。 单击快捷方式或文件夹,双击右面的表格选项,依次填入空白项,那么在您理想的目的地的文件夹或快捷方式便建好了。不要着急去按下Run Setup工具按钮,否则您会发现您运行后得到的并不完全是您所设计的!这是因为您少了:
七、运行Media Wizard
在Media栏,单击Media Build Wizard,按照提示一步一步执行,直至结束(而实际上您仅需连续按“下一步”按钮)。您完全可以再此基础上加上更多的更精彩的小花招,如:加密、安装拷贝时的不同的背景变换、制成一个自解包的安装文件、做一个带时间限制的试用版安装等等,InstallShield都可以满足您的需要。但这些小花招,基本都需要您对Scripts的熟练掌握,这些都是用简洁方式所不能控制的。 好了,您可以Run Setup了。怎么样?够不够专业?酷不酷?可不要把嘴乐歪了!