原文地址:http://codex.wordpress.org.cn/Installshield_%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%E7%AE%80%E4%BB%8B
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为探讨对象进行讨论。In stallShield的其它语种版本的操作和East Edition几乎完全相同。
进入InstallShield East Edition 5.1后便是两个“向导”面对你。
习惯用VB的朋友可以用VB5 Project Wizard,它需要你的系统中安装了VB5。
更为常用的是Project Wizard,它可以定制更为普便适用的安装程序。进入P roject Wizard后如图1:在第一栏中写入你的程序的名字,第二栏中写入公司的名字,在第三栏中选择开发程序使用的根据,第四栏中选择程序的种类,最后一栏中填入程序的可执行文件的完整路径和名字。单击下一步,进入选择定制对话框:安装自己的喜好选择希望安装过程进行时出现的对话框,按Priview键可以预览一下相应对话框的效果。接下来是选择要安装目标平台。也即程序将被运行在什么平台之上。InstallShield共提供了四种平台供选择(Win31, win95, WinNT 3.5, Windows NT4.0 )。然后是多语种支持,也就是安装时可以提供的语言支持。再向下依次是安装类型选择、指定构成成份、指定文件组,最后是所有选项的概括。完成选择后便可得到你自己定做的Project,进入InstallShield的可视化编程环境。
下面让我们一步一步地完成我们的制作。
整个InstallShield的可视化程度很高。支持鼠标右键的操作,在各个位置的鼠标右键可激活各种功能;编译、调试方便,简直是VC++这种大型程序的简写本,却又比VC++方便了许多。
一、在左面的选项中选择Scripts。
这是全部制作的核心部分,也是我们所最应集中精力攻克的小小关口。当然不更改Scripts中的源程序也能制作一个标准的安装程序,但如果能够控制Script s的编程,整个安装程序的制作水准就可以达到一个新的高度,这也许是您与普通制作者区别的开始吧。其实InstallShield的Scripts非常类似于C和C++的程序编写,相信对大多数程序员来说是非常容易掌握的。而对于没有什么C和C++的基础的朋友来讲,看完这篇文章后,相信你也能很好地去制作自己的Scripts,因为它具有相当程度的重复性,更容易被“依葫芦画瓢”。
Scripts的布局同C语言非常类似。首先是头文件的包含,紧接着是字符串的定义、函数原形的说明、全局变量的说明。你可以做的是在此加上你的函数说明、全局变量的说明。
Scripts中遵循C的规则,同样有局部变量和定义。遵循C++的注释规则,可以用// 注释内容来进行单行注释,也可以用/* 注释内容 */来注释一块语句。所有的关键字、宏定义都以不同颜色的字体标出,非常直观。Scripts 的编程遵循结构化编程的思想,提供了大量类似Windows API的函数库供调用,每个宏定义都有详细的说明,每个函数除了详细地说明,解释每个变量的意义外,还都附有相应的例子,参考这些说明和例子,可以让新手在非常短的时间内上路。对用VC++开发过Windows程序的朋友来讲,简直就是一种6=2×3的转变而已,可以非常轻松地掌握。
在程序的最前段,是program…………………endprogram,它相当于C中的ma in() {……}主函数。后面是一个个子函数体的程序,排列顺序是按调用顺序排列。全部函数都非常简单易懂,并且一般不需太大改动。下面将几个常用、经常改动的函数加以说明。
(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的一个应用而已。应用AddFolderIc on来在开始选单中添加程序组、程序项或在桌面桌面添加快捷方式等等。所以首先读一下AddFolderIcon的说明非常必要。它共有八个入口参数。第一个参数szP rogramFolder是确定要在Win95中添加选单的位置(路径),例如
"C:\\WINDOWS\\STARTMENU\\PROGRAMS\\ACCESSORIES\\GAMES"。
而在Windows95和WinNT4.0中,还可以用系统的宏定义:FOLDER_DESKTOP(添加在桌面上)、FOLDER_DESKTOP(添加在开始选单中)、FOLDER_PROGRAMS(添加在开始-〉程序选单中)等。第二个参数为szItemName,即添加的图标的名称(应用程序的名称)。第三个参数szCommandLine相对繁琐一些。它为了指定可执行程序和它的命令行,或者在子目录下的全路径(仅适用于Windows95&winNT4.0)。szWo rkingDir为工作路径,可为空:“”,或为TARGETDIR(目标路径)。szIconPat h为图标路径,一般设为空:“”。nIcon为图标序数,即若应用程序有若干个图标,想显示那个,依次为0,1,2……。
szShortCutKey用来定义快捷键。nFlag用来指定图标的外观。如果在路径中包含长路径名,则必需用‘’或“”来包含,然后用LongPathToQuote函数来合并。当用于16位的Win31和WinNT3.5时,还应再调用一下LongPathToShortPath进行转换。如此便可创建程序组、程序项或快捷方式了。太麻烦了?没关系,如果您认为这一段操作实在麻烦,您完全可以略过,到Resource中去完成,详情请往后看。
(2)function SetupScreen()
begin
Enable( FULLWINDOWMODE );
Enable( INDVFILESTATUS );
SetTitle( "眼科多功能处理系统安装程序", 28,YELLOW );//修改字体和颜色
SetTitle( "眼科多功能处理系统", 0, BACKGROUNDCAPTION ); // 标题行的字体和颜色
Enable( BACKGROUND );
Delay( 1 );
end;
这儿主要是SetTitle (szString, nPointSize, nColor)函数的应用。
三个参数分别代表了所写字符串的内容、字体大小、文字颜色。
(3)function DialogShowSdWelcome()
NUMBER nResult;
STRING szTitle, szMsg;
begin
szTitle = "欢迎";
szMsg = "欢迎您光临 眼科多功能处理系统 安装程序!";
nResult = SdWelcome( szTitle, szMsg );
return nResult;
end;
在这个函数里写入您想制作程序的标题。
(4)function SetupRegistry()
NUMBER nResult;
STRING szKey, szNumName, szNumValue, svNumValue;
NUMBER nType, nSize;
begin
szKey="Robert\\RobertSoftware\\Spirit\\Version";//自己的主键
szNumName = "TestValue";//键名
szNumValue = "12345";//键值
nType = REGDB_NUMBER;//类型
nSize = -1;//指定大小
RegDBSetKeyValueEx(szKey, szNumName, nType, szNumValue,nSize) ;//创建
nResult = CreateRegistrySet( "" );
return nResult;
end;
通过这种方法修改注册表,再辅以一些算法,可以投入很小但起到很好的加密程序的作用,您不妨一试! ?
(5)function DialogShowSdFinishReboot()
NUMBER nResult, nDefOptions;
STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
NUMBER bOpt1, bOpt2;begin
if (!BATCH_INSTALL) then
bOpt1 = FALSE;//不选
bOpt2 = FALSE;//不选
szMsg1 = "%P 安装结束!\n";//%P代表安装程序名字。
szMsg2 = "按结束键结束 %p 安装。";//提示信息
szOption1 = "我想看自述文件。";
szOption2 = "我想现在就运行程序。";
nResult = SdFinish( szTitle, szMsg1, szMsg2,
szOption1, szOption2, bOpt1, bOpt2 );
if(bOpt1) then
LaunchAppAndWait(WINDIR^"Notepad.exe",TARGETDIR^"readme.txt",WAIT );//如果选中,调用Windows的笔记本载入自述文件。
endif; if(bOpt2) then
LaunchApp(TARGETDIR^'eye95.exe',"");//如选中,立刻执行应用程序
endif;
return 0;
endif;
nDefOptions = SYS_BOOTMACHINE;
szTitle = "";
szMsg1 = "";
szMsg2 = "";
nResult = SdFinishReboot( szTitle, szMsg1,
nDefOptions, szMsg2, 0 );//由此控制决定是否重新启动计算机。
return nResult;
end;
这一段程序便是安装到最后,可以提示用户是否看自述文件、是否立刻启动程序运行、是否重新启动计算机。
Scripts最需要改动的地方可能就是这五个地方。其它则根据制作者自己的需要来做相应修改。
二、修改File Groups
双击相应的Examples Files、Help Files、Program DLLs、Program Execut able Files、Shared Dlls,在相应的Links中,单击右键,可以插入一组文件、一个文件夹或一个文件。而在Examples Files、Help Files、Program DLLs、Pr ogram 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文件,这个是系统提供给你的安装开始时的闪烁画面。你可以用你的封面替代这个setu p.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 She ll中,又有Desktop、Start Menu、Programs、Startup的层次之分。你可以在任一层单击右键,插入您所需要加的快捷方式或文件夹。
单击快捷方式或文件夹,双击右面的表格选项,依次填入空白项,那么在您理想的目的地的文件夹或快捷方式便建好了。不要着急去按下Run Setup工具按钮,否则您会发现您运行后得到的并不完全是您所设计的!这是因为您少了:
七、运行Media Wizard
在Media栏,单击Media Build Wizard,按照提示一步一步执行,直至结束(而实际上您仅需连续按“下一步”按钮)。您完全可以再此基础上加上更多的更精彩的小花招,如:加密、安装拷贝时的不同的背景变换、制成一个自解包的安装文件、做一个带时间限制的试用版安装等等,InstallShield都可以满足您的需要。但这些小花招,基本都需要您对Scripts的熟练掌握,这些都是用简洁方式所不能控制的。
<!--
NewPP limit report
Preprocessor node count: 27/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
Expensive parser function count: 0/100
--><!-- Saved in parser cache with key vvkicom_yes3:pcache:idhash:66248-0!*!*!!zh-cn!*!* and timestamp 20120820090739 -->
相关推荐
在使用InstallShield创建Windows应用程序安装包时,有时为了追求更专业的外观或者品牌一致性,开发者可能会考虑去除安装界面左下角的"InstallShield标识Basic MS"。然而,这并不是一个简单的任务,因为InstallShield...
InstallShield是一款著名的软件安装制作工具,它允许开发者创建专业级别的安装程序,以便用户能够便捷地在Windows操作系统上安装和卸载应用程序。2010 SP1(Service Pack 1)是该版本的一个重要更新,主要提供了对...
《InstallShield 2010简体中文汉化包详解及应用》 InstallShield是一款业界广泛使用的应用程序安装制作工具,它允许开发者创建专业级别的安装程序,以方便用户安装、升级和卸载软件。2010年版本的InstallShield更是...
InstallShield是软件安装、配置软件包和升级解决方案领域内公认的标准,它强大灵活而又简单易用。首次使用的开发者将发现它非常容易创建安装程序,而高级用户也将发现它的潜力与灵活性,非常适合开发复杂的软件安装...
《InstallShield2021+补丁:软件安装与配置详解》 InstallShield是一款历史悠久且广泛应用的安装包制作工具,由Flexera Software公司开发。它主要用于创建Windows平台上的安装程序,帮助开发者将软件产品打包成易于...
《InstallShield 2010汉化:深入理解与应用》 InstallShield是一款业界领先的安装制作工具,尤其在创建Windows应用程序的安装包方面,它以其强大的功能和易用性著称。本文将针对"InstallShield 2010汉化"这一主题,...
### Installshield 使用详解及关键技术点解析 #### 一、Installshield 概述 **Installshield** 是一款业界领先的软件安装程序制作工具,以其强大的功能、直观的用户界面以及丰富的自定义选项著称。无论是初学者...
InstallShield是一款知名的软件安装制作工具,它允许开发者创建专业级别的安装程序,以便用户可以方便地在Windows操作系统上安装他们的应用程序。在本主题中,我们主要关注的是InstallShield 12的离线安装过程,这...
InstallShield是一款广泛使用的安装包制作工具,它允许开发者创建专业的软件安装程序,提供用户友好的界面和自定义体验。在本教程中,我们将探讨如何使用InstallShield来制作Skin,即安装程序的外观皮肤。 首先,...
《InstallShield 2015 Limited Edition for Visual Studio:安装与部署详解》 在软件开发过程中,完成编码只是其中的一部分,更重要的是将程序打包并进行有效的分发,以便用户能够轻松地安装和使用。这就涉及到了...
【InstallShield解包工具——ISCabVu深度解析】 InstallShield是一款知名的安装程序制作软件,它广泛应用于Windows平台上的应用程序部署。然而,在开发、调试或分析过程中,有时我们需要查看或提取InstallShield...
《使用InstallShield为Microsoft Visual C++ 6发布应用程序详解》 在软件开发领域,将编译完成的程序打包成易于安装的格式对于用户来说至关重要。本文将深入探讨如何使用InstallShield这一强大的安装制作工具,来为...
在探讨“InstallShield Professional 6.0 汉化版解压密码”这一主题时,首先需要明确几个关键概念:InstallShield是一款广泛应用于软件安装包制作的专业工具;Professional 6.0是其某一版本;汉化版指的是经过本地化...
《使用InstallShield 2015 Limited Edition进行C#程序打包》 InstallShield是一款业界知名的安装制作工具,尤其对于软件开发者来说,它是一款强大的应用程序打包利器。2015 Limited Edition是InstallShield的一个...
《InstallShield Express Borland Limited Edition 3.5:Delphi 安装包制作利器详解》 InstallShield Express Borland Limited Edition 3.5是一款专为Delphi开发者设计的安装包制作工具,它在IT行业内享有盛誉,...
InstallShield是业界著名的安装制作软件,它的最新版本包含了丰富的特性,用于创建各种类型的安装包,它支持Windows平台,可以用来制作Windows Installer (MSI) 安装包,以及传统安装程序,通常被称作安装脚本...
InstallShield CAB 文件解包工具是一种专门用于处理和查看 CAB( Cabinet)文件的实用程序,CAB 文件是微软提出的一种文件压缩格式,常用于软件安装包中,存储各种资源和组件。InstallShield 是一个广泛使用的安装...
《使用InstallShield 2013 Limited Edition进行VS项目打包》 在软件开发过程中,将编译好的程序打包成易于分发和安装的可执行文件(exe)是至关重要的步骤。Visual Studio(VS)虽然提供了基本的发布功能,但有时...
针对"installshield辅助小程序_部署Mysql数据库"这个主题,我们来深入探讨一下如何利用InstallShield工具进行MySQL数据库的部署,以及如何通过脚本管理和优化这一过程。 InstallShield是一款强大的安装包制作工具,...
InstallShield是一款广泛应用于软件安装包制作的工具,尤其在企业级软件部署中非常常见。2010版本的InstallShield提供了强大的功能,帮助开发者创建、管理和分发安装程序。本说明文档将详细介绍如何使用...