installshield教程

installshield教程

ID:14826890

大小:767.50 KB

页数:17页

时间:2018-07-30

上传者:U-3776
installshield教程_第1页
installshield教程_第2页
installshield教程_第3页
installshield教程_第4页
installshield教程_第5页
资源描述:

《installshield教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

Installshield入门指南(完整版)1说明(适用范围)阅读对象:IS的初用者;本指南的校对、补充、修改者。适用版本:IS10~IS11,如果您使用的不是这个版本段的版本,那么还是不要再往下看了。目的:帮助初用者建立一个简单的安装包,能在建立这个安装包的过程中了解IS的基本情况。强调:本指南不会对IS中的每一个菜单进行介绍,只对用到的做一个初步讲解2IS介绍2.1IS介绍这个东东据说是现在使用最广泛的安装包制作工具。它是从共享软件出身,一直发展到一个商业软件。现在又被收购了。我是从6.22版本开始接触它的。从6.0到9.0版本,它的每一个版本大概都分为三个系列,就如同操作系统WINDOWSXP一样,每一个版本都分为Professional,Express,Developer。简单的可以这样解释(详细区别大家可以到网上搜,应该很多):Express功能最少,使用也最简单,据说是限制使用脚本功能等。适合制作常规的安装包,本人没有使用过。Professional开放的功能较多,包括脚本功能。但还是有一些限制,我了解的就是无法编辑界面(罕见使用),缺少一些外部库等等。Developer不用说是最全的了。适合于能折腾的人。从10版本开始,IS最大的变化就是界面变了。变的花哨了许多,功能更多了。让我人最感兴趣的就是增加了对SQL的支持,最终加入了对XML的支持。而且,从10开始,名字也有些改变:PremierEdition对应原来的Developer,其他的还是和原来一样。以下的介绍全部是针对InstallshieldPremierEdition11的,请大家务必注意。2.2IS各工程介绍IS将安装工程根据工程的特点分了几大类:InstallScript;WindowsInstaller;Universalinstaller。其中,Universal这个比较好理解,大概就是用来做跨平台的安装程序。InstallScript和WindowsInstaller的区别,我到是一直不是很清楚,大概意思就是如果你使用InstallScript模式是使用脚本来驱动安装界面,使用Windows Installer则主要是使用操作系统自带的安装服务来驱动安装。在每个大类里面有划分了不同的小类。这里请参考IS帮助中的说明。1COMMON篇之InstallScriptPorject1.1使用向导做一个简单的安装包1.1.1了解你要安装的程序首先你要清楚,你的程序所需要的运行环境要求。这个安装包例子中,我们假设我们要打包这样一个系统:主程序是ISsample.exe,ISsample.dll,ISsample.chm;它运行时需要读取当前目录下的ISsample.ini,还需要调用系统目录下(windows/system32)ISsample_sys.dll这个动态库,由于这个程序是用VC6开发的,所以还需要运行的机器上有vc6的运行库。具备了这个环境,ISsample.exe程序才能正常运行起来。这就要求我们做好的安装程序安装时要将ISsample.exe,ISsample.dll,ISsample.chm,ISsample.ini拷贝到指定的安装目录,再将ISsample_sys.dll拷贝到当前系统的系统目录(windows9x中系统目录是windows/system;windows2000/xp的系统目录是system32)。同时要实现安装的时候将VC6的运行库安装到目标机器上;其中帮助文件ISsample.chm是可选择安装的。下面我们来试着做这个安装包。1.1.2建立一个InstallScript工程启动IS11,在主窗体中选择“CreateanewProject” 这里输入工程名字这里选择这个工程保存的路径点击OK后,进入IS的工程向导。在IS的向导中,向导会引导你依次设置工程的各项属性值,下面我们就一步一步的来解释每一步的内容。执行向导,你只需点击界面右下脚的即可。以下的描述就是按照步骤进行解释的。1.1.1程序信息这个界面就不需要解释太多了吧,大家只要看里面的参数应该就可以明白了。1.1.2安装包结构 这一步是设置我们的安装包的主体结构的。主要设置安装包中有多少安装项目。在这个界面中,我们选择要定制我们的安装包,点击“yes”单选框后,InstallstionArchitecture列表框激活,在这里,我们可以通过“New”按钮来创建一个新的安装项目(也就是我们在后面会经常说的Features),通过“Rename”按钮来改变这个Features的名字。通过“SetDefault”按钮来设置某一个Features是默认选择安装的(不过这个功能这里一般不用去注意它,到后面我们还要重新选择)。这里解释一下Features:可以这样简单的理解,大家都安装过程序,在安装过程中,如果你选择了定制安装,一般的安装程序都有这样如图的提示:我们设置的Features就是在安装时这里出现的选项。也就是可选择的安装项目。在这个例子中,我们根据原来的设想,按照整个安装包的文件组成创建三个Features:Programfiles,HelpFiles,SysFiles。(尽管这样的分有个小问题,后面我们会来提出并解决) 1.1.1指定安装的文件已经目标路径在这一步中,我们通过界面来指定我们要安装的文件,并且设置这些文件将要安装到的目标路径。具体的操作步骤如下:路径窗口Features选择列表文件添加窗口在AllApplicationData下拉列表中选择前面确定的类别,确定该类别中所有的文件默认的安装路径。这里我们定为默认的安装路径为c:ProgramfilesIssample,所以,在路径窗口中,选择“ProgramFils”项,在该项上单击右键。从给出的菜单中选择“NewFolder”创建一个Issample目录。然后,点击界面右测的“AddFiles”按钮,添加ISsample.exe,ISsample.dll,ISsample.ini三个文件。同样,我们在AllApplicationData下拉列表中选择“HelpFiles”项,在路径窗口中,选择刚才创建了的ISsample目录,添加ISsample.chm文件。再次在AllApplicationData下拉列表中选择“SysFiles”项,在路径窗口中选择Windows下面的“Windowssystem”目录,添加ISsample_sys.dll文件。这样,通过以上设置,确定了如下的默认安装结构:第一:我们分别给三个Features指定的默认的安装路径,“Programfiles”“HelpFiles”的默认安装目录是c:ProgramFilesISsample(假设目标机器的操作系统在C盘);“SysFiles”的默认安装路径是c:windowssystem32(假设目标机器的操作系统在C盘,且系统路径是windows,如果操作系统是9X的话,system32会自动替换为System)。第二:我们分别给三个Features指定了关联的文件 在添加文件过程中,会出现一个提示对话框,询问你是否对当前添加的文件进行扫描,来发现这些文件运行时是否依赖于一些标准的类库文件,如果你确定的话,之后会弹出一个向导来协助你完成对你添加文件的扫描。这个问题我们会在后续的文档进行专门的交流。这里全部点击NO.1.1.1添加第三方组件由于我们这个例子程序假设了我们的程序正确运行时需要VC6的动态库文件,所以要添加这一组件。添加这个组件的操作我们不在这里完成,这一步先暂时跳过。点击下一步。1.1.2创建程序启动的快捷方式进入这一步后,IS会自动为我们创建一个快捷方式。这个快捷方式将被创建在开始菜单中,如果想要在桌面上也创建一个,那么把“CreateshortcutonDesktop”的复选框也选上即可。关于更详细的快捷方式的创建,我们在后面的修改步骤中介绍 ,这里也不进一步解释了。1.1.1注册表操作某些程序会要求在注册表中进行某些修改或添加某些关键的值,可以在这里进行一些简单的加添工作。我们这个例子中,暂时不涉及注册表部分,请关注论坛中相关讨论。1.1.2简单的对话框选择这一步骤可以选择几个安装过程中出现的对话框,如下图。其中需要解释的就是第一个,安装许可协议对话框。这个对话框允许你的协议内容存放在一个txt文件中,然后只要关联这个协议文件就可以了,如下图中红色线所标注。在这里,我们暂时默认选择给出的全部对话框。具体的修改,添加,删除我们在后面进行详细解释。1.1.3安装包界面语言的选择在安装IS时,就有一个选择,让你安装什么语言包。如果你选择了中文的话,这里就会出现Chinese(Simplified),把这项选中即可。 如果你这里出现的是英文,请暂时选择英文,以便能继续往下进行,至于如何更改语言包,请到论坛里进行咨询,我们也在后续的文档中进行解释。1.1.1选择安装包的格式IS可以提供安装包发布的多种格式:简单的可以这样说IS可以根据你发行的要求将你的安装文件打包成不同的形式。单文件形式就是把所有的安装文件做成一个可执行文件,适合于安装包比较小,并且经常在局域网内共享。WEB形式就是IS不但将安装文件打包成一个单一的文件,而且还形成一个下载页面,这种形式也是适合于小的安装包。CD-ROM形式是我们最常用的形式,IS将我们的安装文件按照光盘的大小进行分包,如果你的安装包很大,超过了一张光盘的容量,你就会发现IS已经为你进行了按光盘打包,这样的安装文件在安装时会提示你插入下一张安装光盘。IS还可以按照你自己指定的大小进行分包制作。这些我们在后面进行讲述。在这里,我们选择CD-ROM。 然后点击编译按钮,进行全部编译。当看到编译日志中显示0个错误,那么我们这个简单的安装包基本上就制作完成了。再经过简单的修改就可以发布了。1.1修改这个安装包通过上面的操作,也就是通过IS的“ProjectAssistant”,我们可以完成一个简单的安装包,或者说可以完成安装包的大体结构。下面我们通过修改这个安装包来进一步熟悉一下IS的大体功能。紧接上面的操作,点击下图中红色标记出的标签页。实际上,前面我们做的这个例子是通过IS提供的向导一步步引导我们将要安装的文件,以及安装信息添加到IS指定的部分,如果我们对IS熟悉了以后,我们也可以不通过向导而直接进入这个界面进行操作。通过下面的操作,大家可以看到我们前面做的工作所对应的IS实际的位置。1.1.1修改文件部分前面的例子安装包中,我们通过向导将整个安装文件分为了三部分:ProgramFiles;HelpFiles;sysFiles。原本考虑这样的分法比较清楚:程序主文件,帮助文件,还有要拷贝到系统目录的文件,其中ProgramFiles和HelpFiles是安装在同一目录下的。但是这样的分法在安装时就出现了问题。如安装时,选择定制安装,问题如下图:在定制安装时,出现的选择画面中,我们定义的三个部分(Features)出现了。这样,我们就可以选择只安装其中的个别部分,例如,我们可以选择不安装Sys files部分的文件,但是这个部分文件是程序正常运行所必须的。所以,这样的分法有问题,会造成程序无法正常运行。这就要求我们安装时的选择画面中只能出现两个:主程序文件和帮助文件,而且在主程序文件中,有两部分的文件要在安装时拷贝到不同的目录:用户选择的路径和系统路径。在IS中,安装的最新单位是Components,安装文件是归属于Components的。而Componets又归属于Features。我们点击Organization-->SetupDesign,可以在右侧窗口看到我们原来创建的Features下,IS自动为我们创建了Components,这些Components里连接了我们指定的安装文件。Components有一个很重要的属性,就是目的地(Destination)。所以相同安装路径的文件可以在不同的Components中,但是,不同安装路径的文件决不能放在同一个Components中。我们点击SetupDesign下的任意一个Components(比如HelpFiles下的Files1),来看一下Components的具体属性设置。这里面最关键的两个属性一个就是Destination,设置这些文件的安装路径,另外一个就是Overwrite,设置当目的地存在相同文件时的覆盖规则。点击Destination项后面的值一栏,出现下拉按钮,从中选择这个Components的默认安装路径。这里系统默认为Issample,这个路径是我们在前面通过向导时指定的(参考3.1.5)。 表示IS的系统变量,指目标操作系统的ProgramFiles目录,后面的“Issample”是要在安装时创建的子目录。如果用户在安装时没有选择定制安装,那么安装路径就被默认为c:programfilesissample(加入目标机器的系统在C盘)。了解完这些后,我们要做我们的修改,就是要删除Sysfiles这个Features,把它原来关联的文件移动到ProgramFiles这个Features下面,但安装路径却是系统路径。我们在SetupDesign窗口中,在Sysfiles上面点击右键,选择删除,这时候,Sysfiles这个Features被我们删除,但是它下面的File2这个Components并没有被删除。我们继续在ProgramFiles上面单击右键,选择“AssociateComponents”,这样,IS会列出目前不属于这个Features的所有Components,我们选择“File2”检查一下File2的Destination属性,是否是系统目录。同样,我们也可以直接在在右键菜单中选择“NewComponent”来新建一个Component,然后在Component中的“Staticfilelinks”中添加安装文件。1.1.1增加VC6动态库选择ApplicationData-->Objects在这个界面中,找到McruntimeLibrary6.0这个组件,将它拖动到下面窗口中的ProgramFiles上面。这样做的目的就是在安装Programfiles时,才安装这个组件。 拖动到目标上后,释放鼠标左键,会弹出一个对话框,要求我们选择安装这个组件时的安装界面如何显示,一般默认即可。1.1.1增加桌面启动快捷方式和删除快捷方式通过向导,我们已经在例子中创建了一个快捷方式,参考3.1.7。我们可以打开SystemConfiguration-->shortcuts中看到,我们已经在“开始-程序”的位置创建了一个company_name这样一个文件夹,再看右侧的属性框,里面定义了,这个文件夹安装好后显示的名字叫“IS交流组”,在下面又有一个子文件夹“Issample”,在这个里面,才是真正的快捷方式ISsample.exe,其对应的程序文件“IssampleISsample.exe”。为了说明快捷方式的创建,我们在创建一个快捷方式,让其安装后,产生在桌面上。在Shortcuts-->Desktop上面点击右键,选择“newshortcuts”,随后,系统给出选择窗口。这个选择窗口是让我们选择快捷方式所对应的那个程序文件。所以,我们双击“Programfiles”,在它的下一级,我们看到了我们创建的“Issample”目录,再双击这个目录,看到了程序文件“Issample.exe”,选种这个可执行程序文件,点击open后,一个生成在桌面上的issample.exe的快捷方式就创建完毕了。回到主界面,我们看到刚创建的快捷方式命名为“Newshortcut1”并处于可修改状态,系统要求我们给这个快捷方式起个识别的名字(任意),注意,这个名字是IS系统自己识别的,并不是安装好后在桌面上显示的名字。选择这个New shortcut1,在右侧我们来修改它的关键几个属性。其他的属性请参考IS的帮助。DisplayName:安装后显示的名字,双击后面的值域,进行修改。其中{ID_STRING2}是系统自己的标识符,双击后消失,可不用理会。Target:快捷方式对应的物理文件。可点击值域,激活修改。IconFile:快捷方式可以指定一个图标,这里是用来指定包含所需图标的图标文件。Iconindex:一个图标文件中可以包含多个图标,从0开始依次用编号来区别,第一个图标编号是0。WorkingDirectory:这个比较关键,是指快捷方式对应的可执行程序运行时默认的工作路径。有的程序运行时需要调用某个目录中的特定文件,指定了这个目录,程序就自动会在这个“工作路径”下面去搜索。如果不指定这项,某些程序无法正常运行。Component(s):这个快捷方式是属于那个Componest,当指定后。如果这个component所属的Features没有被选择安装时,相应这个快捷方式也不会被创建。这样看下来,删除的快捷方式道理也就是一样了。IS中,InstallScriptPorject这个类型的工程的安装包的卸载方法就是再次调用一次安装程序,安装程序发现这个安装包在本机上已经被安装过一次后,就自动弹出选择画面,询问是否更新或者卸载。所以,卸载的快捷方式只需要注意两点:一是你的卸载快捷方式出现在哪里;二就是快捷方式属性的设置,这里,我把IS帮助文件中所提到的属性设置列出,大家也可以用“CreatingUninstallationShortcutsforInstallScriptProjects”作为关键语句,在帮助中进行检索。ShortcutPropertyValue(InstallScriptproject)Value(InstallScriptMSIproject)Arguments(None)/M{ProductCode}Advertised(Notapplicable)NoTargetSetup.exe[CommonFilesFolder]InstallShieldDriver10Intel32IDriver.exe安装阶段功能。我们选择一个阶段,在后面的下拉列表中就可以看到这个阶段下的所有函数。 选择其中一个函数,在脚本的窗口中,就会显示这个函数的具体内容。比如,这里我们阶段选择“BeforMoveData”,函数选择“OnFirstUIBefore”,因为,对于一般的修改,这个函数是最主要的。在这个函数的脚本中,我们可以看到,函数开始处,是详细的对这个函数在什么时候被调用执行的解释。这时候,如果你选择最初的阶段“initialization”的第一个函数“OnSetTARGETDIR”,那么你会发现在OnFirstUIBefore的函数体下面,出现了OnSetTARGETDIR的函数体,这并不是说先执行OnFirstUIBefore,后执行OnSetTARGETDIR,函数的执行顺序和显示的顺序无关,对于初次接触IS的人来说,这点千万分清楚。函数的执行顺序是已经固定的。1.1.1通过脚本来实现安装界面的增加和减少这里我们解决的问题是去掉安装时需要输入用户和公司信息的界面。上面的安装例子中,运行时需要输入用户和公司信息,在这个例子中是多余的。我们来把这个界面去掉。当然其中一个方法就是回到向导中去掉这个界面的选择,这里我们主要是讲如何在脚本中去掉它。在3.2.3中,我们把OnFirstUIBefore的代码显示出来了。这个函数里主要完成的就是在正式移动文件前,依次显示的那些对话窗口。调用指定的窗体如果点击“返回”按钮,则退到Dlg_sdregisterUser处。在IS中,以Sd开头命名的函数一般代表窗口函数。查看全部的窗口样式,一种方法就是在Userinterface中点击Dialogs进行查看。在OnFirstUIBefore函数中,我们找到如下脚本:Dlg_SdregisterUser这段脚本就是实现调用SdRegisterUser对话框,并把用户在界面输入的用户名和公司名放在了szName和szCompany变量中。我们要去掉这个对话框,在确保这个对话框所保存的变量值没有被其他函数调用后,首先直接注释掉Dlg_SdregisterUser这段代码,就可以实现去掉这个对话框;其次,特别强调的是,它的下一个对话框中有一个返回上一步按钮, 见上图中的标记,这里,我们要把调转语句(goto)后面所指定的Dlg_SdregisterUser,改为上一个对话框Dlg_SdLicense2。1.1.1重新制作安装包制作安装包时,向导的最后一步就是编译最终的安装包,但是向导中提供的设置比较少,所以我们有必要来重新手动编译一次,来了解一些详细的设置。点击MediaàRelease;我们会中IS中间的那个窗口中发现Releases下面已经生成一个以CDROM-IMAGE命名的安装包编译项目,这个就是我们在向导中选择了CD-ROM类型后,由向导自动编译生成的。我们在CDROM-IMAGE上面击右键,在菜单中选择delete,删除这个编译项目。然后在上一级,也就是根目录Releases上面点击右键,在菜单中选择“Releasewizard”,使用创建向导,在向导的界面上点击下一步在NewReleaseName中,输入这个编译项目的名字,可以任意起。然后点击下一步。 这里选择你的安装包的载体类型,如果你的安装包是用光盘来发放的,那么首选CD-ROM,如果你想自己定义安装包分包的大小,那么选择Custom,然后输入每一分包的大小。这里我们选择CD-ROM。下一步可以把整个包创建成一个可执行文件。我是从来没利用过。直接NEXT:)在这一步,可以为你的安装包加个密码,别人安装的时候,需要输入密码。选择安装包可支持的操作系统,我一般是默认第一项。选择安装包的语言包。这个如果前面设置正确(包括安装IS时),这里不用改动。选择安装包包括的Features,这个我目前也是不清楚为什么会出现这个选项,感觉多余。默认。选择安装文件在安装包中存在方式:压缩、非压缩。或者指定部分压缩。选择第一项:压缩。如果现在第二项,则你的安装文件会直接显示在安装包中。 IS10提供了皮肤功能,这里选择是否使用皮肤。默认第一项,不使用。以下各步骤全部默认,直至完成,IS开始编译。生成新的安装包编译项目,并编译成安装包。IS生成的安装包存放在它自己默认的文件夹中,找起来不方便。我们可以在这里修改一下,每次编译后让IS将编译好的安装包拷贝到指定的一个目录。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭