InstallShield6.3安装文件制作要点
做安装程序的工具挺多,我还是较喜欢用InstallShield6.3,但InstallShield6功能本身非常强大,你也许可以找到关于安装程序制作的大量资料,但你费上好一阵子来研究后却发现还是收效甚微,本文是帮你快速解决这一问题的。当然你要写出有自己个性的安装文件当然还需要另花些精力,但这里的介绍应该有很多实惠的帮助。
首先你要明确一般的安装程序要做的事主要是3件:
l 将可执行的文件(文件夹)及其所需的DLL等可执行所需文件拷到用户指定目录;
l 创建快捷方式(桌面、开始菜单)
l 写注册表等系统信息
1. 安装InstallShield6
注意要做中文版的安装程序的话需要单独安装相应的东方语言包。
2. 按向导建立安装工程
建议可以不填的内容且搞不清含义的先不填,要快就得这样,后面还还可以修改的。剩下的事全部基于工程的各项设置进行。工程设置包括分为7类:
1) 安装项目组件,默认的有MainApp,Tutorial,Examples,是将要安装的内容按逻辑分组的,让用户在安装时可选择必要的组件;
2) 文件组,默认的有AppExcutables,App Self Reg DLLs, Example Files, Tutorial Files,主要是将要打包的文件分组的;
3) 资源,包括串的定义、注册表设置、桌面及程序菜单快捷方式等;
4) 脚本,这是安装程序的源代码;
5) 安装文件,起始画面、License等;
6) 安装类型,默认有Compact,Typical, Custom三种;
7) Media,生成打包文件,如果要做成自动解压类型:在工程工作区中选Meadia项,右键选特定Meadia属性,选Packaging项的第一个复选框。其它看着办。
3. 安装项目组件设置
4. 文件组(File Groups)设置
共同属性:
l Share该文件组文件是否共享,即是否被其它程序使用。默认为NO。
l Uninstall该项是否要被卸载,默认为YES。
添加要安装的文件,有下列属性需要设置。
可执行文件(App Excutables):源路径(用Insert File菜单操作);目标路径(Destination):更改属性设置,注意利用系统变量,如TARGETDIR
添加图标(Icon):
l Icon File:含图标的文件;
l Icon Index:在图标文件中的索引,如果图标文件只含一幅,将其设为0;
l Install Conditions(File Groups):安装条件,在选择安装某文件组时安装该项;
5. 资源
l 资源中要设置的一些属性如上图所示
l Start Menu->Programs->Startup(启动)(默认启动项)
l 要注意创建文件夹和快捷方式是不同的
以上就是要做一个安装文件的主要内容了,其它细节就不赘述了,下面是我在使用时总结的几个非常实用的技巧,我将它们归为FAQ,如果大家碰到什么问题不防提出来,一起来充实这个FAQ。
FAQ
6. 反安装程序的制作
InstallShield6.3安装程序会默认记录卸载信息,再次运行安装程序(setup.exe)会自动执行反安装功能。
l 创建一个卸载快捷方式指向:<DISK1TARGET>\setup.exe就OK了。
7. 禁止反安装
InstallShield6.3做出的安装包自动带有反安装功能,有些人想去掉反安装功能,这样别人就不能通过控制面板中的“添加/删除程序”来删除安装的文件。当然我不主张这样做,但从技术上我可以告诉如何实现。
当执行完安装以后,在脚本最后加上以下内容即可
subKey = "\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + PRODUCT_GUID;
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
if (RegDBKeyExist(subKey) =1) then
RegDBDeleteKey (subKey); //删除注册表信息
endif;
if(!ExistsDir(DISK1TARGET))then
DeleteDir(DISK1TARGET,ALLCONTENTS);
//删除可以执行反安装功能的setup.exe所在的文件夹下所有文件
endif;
8. Installshield6.3制作出的安装程序,安装到最后拷贝文件那一步结束后出现:"DLL函数调用失败:USER32.MessageBoxA..."?
这是因为注册DLL文件失败导致。所以要安装的DLL文件如果不需自注册请将其Self-Registered属性选为NO。