InstallShield脚本语言的编写
Installshield终极使用教程
Installshield终极使⽤教程Installshield使⽤1 说明(适⽤范围)1.1IS各⼯程介绍IS将安装⼯程根据⼯程的特点分了⼏⼤类:InstallScript ;Windows Installer;Universal installer。
其中,Universal这个⽐较好理解,⼤概就是⽤来做跨平台的安装程序。
InstallScript 和Windows Installer的区别,我到是⼀直不是很清楚,⼤概意思就是如果你使⽤InstallScript模式是使⽤脚本来驱动安装界⾯,使⽤Windows Installer则主要是使⽤操作系统⾃带的安装服务来驱动安装。
在每个⼤类⾥⾯有划分了不同的⼩类。
这⾥请参考IS帮助中的说明。
2 COMMON篇之InstallScript Porject2.1使⽤向导做⼀个简单的安装包2.1.1了解你要安装的程序⾸先你要清楚,你的程序所需要的运⾏环境要求。
这个安装包例⼦中,我们要打包这样⼀个系统:主程序是LearnQClient.exe,rtcdll.dll,ImageOle.dll,dxmrtp.dll,dsoframer.ocx,config.ini,许可协议.txt;它运⾏时需要读取当前⽬录下的config.ini,由于这个程序是⽤VC开发的,所以还需要运⾏的机器上有vc的运⾏库。
具备了这个环境,LearnQClient.exe程序才能正常运⾏起来。
这就要求我们做好的安装程序安装时要将LearnQClient.exe,rtcdll.dll,ImageOle.dll, dxmrtp.dll,dsoframer.ocx,config.ini拷贝到指定的安装⽬录,也可将ImageOle.dll,dsoframer.ocx拷贝到当前系统的系统⽬录(windows9x中系统⽬录是windows/system;windows 2000/xp的系统⽬录是system32)。
InstallShield X简单使用实例介绍
InstallShield X 之一演变作为专业的安装程序制作软件,InstallShield占据了Windows商业程序安装包制作软件大部分市场,经过十几年的发展,InstallShield专注于安装程序制作(installation-authoring solution)领域从分到合的走进了InstallShield X这个大一统的阶段。
如同新经济的发展历程,各种新行业、新公司如雨后春笋的冒出来,在经济不景气时大家又纷纷开始合并、收购。
相信过不了多久,又会开始分拆、成立新公司,这就是经济的规律。
另:2004年6月16日Macrovision以7600万美元的现金收购位于InstallShield 软件公司的资产和业务。
呵呵,谁知道哪一天Oracle能收购PeopleSoft,MS能收购SAP?没有什么不可能。
03年之前,InstallShield Windows 安装方面主要分为Professional和Developer两个产品,相对于前者,Developer针对开发人员设计,所支持的功能更多一些。
除此之外,还有简易版的InstallShield Express,软件管理与分发的InstallShield AdminStudio,针对Java程序安装的跨平台产品InstallShield MultiPlatform 和演示的DemoShield。
03年,InstallShield将Professional和Developer合二为一推出了DevStudio 9 ,DevStudio 的功能更加强大,对于Dotnet的支持更完善,我们使用的安装项目无法解决的多个问题(如.Net Framework的检查和安装、各种MDAC2.7 等组件的检查与安装)均可以通过DevStudio 简单的完成。
各位DotNet的程序员可以通过DevStudio 制作WebFrom和WinForm的专业级的安装程序了。
Installshield2008制作安装包详解(结合实际项目办法
欢迎阅读Installshield2008制作安装包 (基于EPA安装包制作项目)第一部分:基本设置1. 打开Installshield 2008 Premier Edition,新建一个Installscript Project,它是一个全脚本类型程序,就是用脚本来驱动安装界面。
选择类型为InstallerScript | InstallScript Projcet,输入工程名,指定工程所在的文件夹。
2.界面会切换到Project Assistant,从这里开始把工程的基本组件和基本文件建立好,不过一般在Installation Designer里进行设置。
3.在Project Assistant界面的底部,会有一个引导动作条,在建立该工程的基本结构和文件时,可以在此界面进行操作。
4.点击界面上的Installation Designer,进入安装设计界面1.Installation Information文件夹主要是设置该安装包的基本信息,用户只要设置General Information 里的信息,其它两个不用设置。
主要是设置此安装包项目的名称,运行的操作系统和一些基本信息。
anization文件夹主要是进行安装设置,包括安装中要用到的文件,安装文件的执行顺序以及安装类型的设置(自定义安装和完全安装)。
Setup Design主要是用来添加安装过程中所需的文件和快捷方式的设置,快捷方式设置包括开始菜单中的快捷方式和桌面快捷方式的设置。
还可以把文件的安装和脚本中函数的执行关联起来。
Features主要是查看各装置的配置信息,Components主要是查看各组件的配置信息,这两个都是方便用户查看一些设置的基本信息。
Setup Types用来设置用户在自定义安装和完全安装时要安装的组件。
3.Application Data 文件夹主要是提供用户查看计算机中的应用程序和文件,方便用户来选择其中的文件来制作安装包。
InstallShield教程
使用本文使用的InstallShiled的版本是InstallShiled 2008 Premier Edition,只介绍制作Base MSI Preject及InstallScript MSI Preject安装包。
1菜单大多数菜单与其他软件一样,这里只介绍几个有特点的。
1.1Go可以通过此菜单到任意一个设计界面中。
1.2Project1.1.1[Perform Static Scan…]及[Perform Dynamic Scan…]静态及动态搜索应用程序所需要的系统对象及Dll运行库,这两个功能有详细的向导,这里不再做介绍。
1.1.2[Source Control]此功能为源代码管理,必须结合Microsoft的Microsoft Visual SourceSafe。
1.3Tools1.3.1[InstallScript]Standard Dialog Sampler及Skinned Dialog Sampler查看固定的安装步骤界面,以便在脚本中调用。
Cabinet File Viewer查看安装包CAB文件的内容,经测试好像不能查看InstallShield2008制作的CAB的内容。
2安装设计界面这里介绍的是Installation Designer页面的界面(介绍一些重要的属性)。
2.1Installation Information2.1.1General Information¾Project PropertiesSetup Languages:设置安装包的语言种类,一般默认的是简体中文。
¾Add or Remove ProgramsDisplay Icon:在系统中的添加或删除程序的列表中显示的图标;Display Icon Index:图标文件的图标索引;Disable Change Button:隐藏添加或删除程序的列表中的更改按钮;Disable Remove Button:隐藏添加或删除程序的列表中的删除按钮;¾Product PropertiesName:产品名称,显示在整个安装界面的产品名称;INSTALLDIR:安装的默认路径;¾String Tables每种安装语言都有一个节点,安装中使用的字符串。
InstallShield 使用手册(SP补丁)
InstallShield 使用手册1 总体介绍 (1)2安装程序制作过程(MSI) (1)2.1 New Project (1)2.2 Installation Information (2)2.2.1 General Information (2)2.2.2 Update Service (6)2.2.3 Trialware * (7)2.3 Organization (7)2.3.1 Setup Design (7)2.3.2 Features (11)2.3.3 Components (11)2.4 Application Data * (11)2.4.1 Files and Folders * (11)2.4.2 Redistributables * (11)2.4.3 Mobile Devices * (11)2.5 System Configuration (12)2.5.1 Shortcuts (12)2.5.2 Registry * (12)2.5.3 ODBC Resources * (12)2.5.4 INI file Changes * (12)2.5.5 Environment Variables * (12)2.5.6 XML File Changes * (12)2.6 Server Configuration * (12)2.6.1 Internet Information Services * (12)2.6.2 Component Services * (13)2.6.3 SQL Scripts * (13)2.7 Behavior and logic (13)2.7.1 InstallScript (13)2.7.2 Custom Actions (13)2.7.3 Sequences (14)2.7.4 Support Files * (15)2.7.5 System Search * (15)2.7.6 Property Manager * (15)2.8 User Interface * (15)2.8.1 Dialogs * (15)2.9 Media * (15)2.9.1 Path Variables * (15)2.9.2 Upgrades * (15)2.9.3 Releases * (15)2.9.4 Patch Design * (15)2.9.5 Distribute * (15)2.10 Additional Tools * (15)2.10.1 Dependency Scanners * (15)2.10.2 MSI Debugger * (16)2.10.3 Direct Edtiors * (16)2.11 Build Installation (16)3 其他介绍 (16)3.1 常用函数 (16)3.2 其他注意事项 (16)注:*表示一般不使用,所以不做介绍的功能1 总体介绍InstallShield v10.5是功能强大,并能全面支持MSI 3.0规范的安装程序制作工具。
InstallShield脚本编程基本语法
OpenFileMode(FILE_MODE_APPEND);
OpenFile(nvFileHandle,"C:\\","Autoexec.bat");
WriteLine(nvFileHandle,"SETPATH=%PATH%;C:\\ORAWIN95\\BIN");
(4)!
非操作,与C语言中用法相同,例:!x1
(5)*
指针操作,类似C语言中的*
(6)&,|,^,~,<<,>>
分别为位与,位或,按位异或,按位取反,左移和右移,其意义和用法都与C语言中基本相同。
(7).
该操作符用于结构,用来得到结构的子项,与Delphi的.用法类似,例如:
1.变量
BOOL布尔型值为TRUE(1)或FALSE(0)
CHAR字符型一字节长的(8bit)的字符
HWND窗口句柄用来存放窗口句柄
INT整型两字节长的整数
LIST列表型指向InstallShield列表,用ListCreate和ListDestroy
在function SetupInstall()中修改以下代码,如默认目录改为C:\JttMis,见以下修改的代码
if(bIs32BitSetup)then
svDir=WINDISK^"Jttmis";
else
svDir=WINDISK^"Jttmis";//useshortnames
function SetupFolders()
NUMBER nResult;
InstallShield制作说明
虽然网上关于InstallShield的制作说明已经很多,但是看的时候还是会有些晕乎乎的,不得不说很复杂。
前段时候做了一次,后面需要升级,在重新做的时候发现有些地方自己又忘了,所以有必须将自己看的教程和实际操作的体会结合起来,认真的写个特别详细的制作说明,使步骤尽可能简化清晰,为了自己也为其他同仁。
各位可以先下载已做好的安装包,看看是否符合你的需求。
一、在制作安装包前,先整理一下安装文件先来看“先决条件安装文件”,这里我们用来存放运行该产品需要的基本环境(比如:Net Framework、数据库等)的安装文件。
另外还放了图标和许可协议,制作的时候需要,放一起便于管理。
再来看看“XX软件”,可以看看QQ在安装后的开始菜单里,会先有腾讯软件->QQ2013->QQ 这样的目录结构,这样的结构使得一个公司的产品放在一起便于用户查看。
所以我也采用这种结构来先整理目录结构,这个结构也是用户安装产品后的目录结构。
上面APP_1和APP_2是独立的应用分开放,外面的数据库配置是公用部分放最外面。
当然,“XX产品”里面的目录需要根据你实际情况来决定。
不过,在你制作安装包前,一直要试一下各个exe程序能不能正常运行,否则做好后运行不了,找不到原因就麻烦了,毕竟快捷方式只是个链接。
这里说明一下为什么会有这个DataBaseSetting.exe呢,因为我们的产品可能需要新建数据库、需要修改注册表等操作,但是用InstallShield来做这些,对于不熟悉的人来说还是很麻烦的,或许就不能做,所以还是用C#写了个小程序来做这些工作要简单的多,只是要多点下按钮,但更灵活。
二、新建一个“InstallScript MSI Project”工程三、在引导条上配置基本属性Project Assistant是类似于界面操作【Project Assistant】->【Application Information】,输入公司名,产品名,版本号,网址。
installshield学习笔记
安装前设置界面公司标识在OnBegin函数中,添加如下脚本:SetTitle(IFX_PRODUCT_NAME + "-Infomedia", 0, BACKGROUNDCAPTION);安装中安装.netRegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);if(RegDBKeyExist("SOFTWARE\\Microsoft\\.NETFramework\\policy\\v4.0")<0)then if(AskYesNo("尚未安装.net framework4.0!\n是否安装?",YES))thenif(LaunchAppAndWait(SUPPORTDIR^"dotNetFx40_Full_x86_x64_en.exe","/norestart",WAIT)<0)thenSprintfBox(MB_OK,".NET安装","安装.net框架发生意外!");elseInstallNet=TRUE;endif;elseInstallNet=FALSE;endif;elseendif;注:InstallNet在开始定义BOOL类型修改OnFirstUIAfter中的脚本以判断是否重启。
vbs控制IIS直接使用 adsutil.vbs IIS自带的脚本来做的.基本上IIS的所有操作都可以用这个脚本完成.目录在C:\inetpub\AdminScriptsServerManagerCmd.exe 管理安装服务器角色参数名称:修改IIS中ISAPI和CGI限制%windir%\\system32\\inetsrv\\appcmd.exe set config /section:isapiCgiRestriction /[path='C:\Windows\\Framework\v4.0.30319\aspnet_isapi.dll'].allowe d:True控制文本框自定义界面,如果控制文本框此时,当选择文本框时,便可取消其它选项的状态。
InstallShield使用详解
InstallShield使用详解目录前言 (2)第一章集成开发环境 (3)第二章 INSTALLSHIELD基本操作 (4)2.1.创建工程 (4)2.2.通过 PROJECT ASSISTANT(工程助手)来设计工程。
(8)2.3.安装包发布 (19)第三章 INTALLSHIELD脚本语言 (23)3.1脚本语言介绍 (23)3.2实例一:注册表的处理 (25)3.3实例二:安装前执行,运行其他的软件安装。
(28)第四章其他的安装包制作工具 (30)4.1 INSTALLAWARE (30)4.2 WISE (31)4.3 ADVANCED INSTALLER (33)4.4工具比较 (33)前言InstallShield是基于Windows平台的为软件发行方提供领先的基于windows的安装程序解决方案,能够制作强大可靠的Windows Installer(MSI)、InstallScript以及跨平台的安装程序,是安装工具领域事实上的标准,已经成为安全安装软件的标准解决方案,。
在下面的内容当中,将以10HMITOOL项目实例讲解InstallShield的使用方法,使用的版本为InstallShield2008。
第一章集成开发环境InstallShield除了本身的开发环境外,还为vs2005提供了辅助功能,开发人员可以直接在vs2005环境中创建InstallShield工程,具体操作如下:1.选择开始菜单->所有程序->Macrovision->InstallShield 2008for Visual Studio 2005图1-1 运行InstallShield 2008 for Visual Studio 2005首次运行会出现如下的向导界面:在这里介绍了所有工程类型,用户可以根据自己的需要选择工程类型。
图1-2 首次进入第二章 InstallShield基本操作2.1.创建工程开始创建工程,打开[File]->New->Project,或Ctrl+Shift+Na. Project type 选择InstallShield 2008 Projectsb. 根据我们项目的需要,Templates 选择InstallScript MSI Projectc. 输入工程名称和本地路径abc图2-1创建工程点击“OK”后,10HMITOOL安装包工程就建立了。
InstallShield获取IP脚本
WSAData POINTER pWSAData;
//
IPName LocalIPName;
IPName POINTER pLocalIPName;
//
IPAddrList structIPAddrList;
IPAddrList POINTER pIPAddrList;
nlen = pHostEnt -> h_length; // debug check (should be 4)
pIPAddPtr = pHostEnt -> ph_addr_list;
pIPAddPtr = *pIPAddPtr;
prototype POINTER wsock32.WSACleanup();
prototype int wsock32.WSAGetLastError ();
prototype STRING GetLocalIP();
function STRING GetLocalIP()
IPAddPtr structIPAddPtr;
IPAddPtr POINTER pIPAddPtr;
POINTER pIN_Addr_Struct;
HostEnt structHostEnt;
HostEnt POINTER pHostEnt;
SHORT nlen;
NUMBER nIPNetAddr;
short iMaxUdpDg;
POINTER lpVendorInfo;
end;
////////////////////
typedef HostEnt
begin
用InstallShield制作安装程序的步骤是怎么样的
用InstallShield制作安装程序的步骤是怎么样的?1 建立工程文件打开InstallShie ld 相关应用程序,双击“Project Wizard”,按照向导提示输入工程的相关信息。
当然这里输入的是给相关变量赋值,在编译之前可以对其进行修改,打开资源Resources,对其相关属性的变量进行重新赋值即可;另外,还需对菜单项“Project”中的产品名称进行更改。
2 文件组配置打开文件组File Groups工作区,展开树,给相应的文件组链接对应文件,对应文件会显示在相应的区域。
单击相应文件组,对其其属性进行设置,重要的有:[Shared]指定当前文件组中的文件是否为共享文件,即该文件是否被多个应用程序共同使用,若设为共享文件InstallShield在应用程序安装过程中会自动处理这些文件的注册;[Self Registered]设置当前文件组中的文件是否自注册,这个功能能够将相关文件在安装过程中进行注册,卸载时也会自动将这些注册信息删除;[Compressed]指定当前文件组中的文件在建立媒体库时是否被压缩,这里的设置在安装媒体向导的磁盘类型中不选择[Data as files]复选框是有效的,否则不管如何设置应用程序即不存储在电缆文件中也不被压缩;[Overwrite]指定当前文件组中文件覆盖终端用户计算机系统中已存在同名文件的条件;[Destination]指定当前文件组在安装过程中被传输的目标位置。
3 组件设置打开组件“Components”工作区,可以新建组件,组件的重要属性有:“Status Text”是标志在复制对话的进度条上看到的文本;“Display Name”是给定当前组件显示给终端用户的文本;“File Need”是指定组件的级别,【Critical】对于安装程序不允许终端用户不选择该组件,【Recommended】是建议终端用户应该选择安装该组件,【Standard】如果终端用户没有选择该组件,不会显示任何信息;“Include in Build”是表示是否将该组件包含到发行媒体中,暂时将本特征不包含到发行媒体给这个组件留下位置,以便以后升级。
InstallShield安装程序的脚本语言
InstallScript是专门用来编写InstallShield安装程序的脚本语言。
由于InstallScript和C语言极为相似,因而使得Visual C++用户编写安装脚本程序颇为得心应手。
即使对于没有任何语言基础的用户来说,编写InstallScript程序也不会觉得无从下手,因为InstallScript程序结构是非常简单的。
并且,InstallScript为用户提供了超过250个的内部函数,从而使得用户不需要太多的代码就能编写出具有专业水准的安装程序来。
2.1 InstallScript程序结构同其他程序设计语言一样,InstallScript脚本语言也有自己的程序结构。
2.1.1 几个InstallScript程序下面先来看看几个比较简单的InstallScript程序。
[例Ex_Hello] 一个简单的InstallScript程序,用来弹出"问候"对话框。
STRING szTitle;programszTitle = "问候";SetDialogTitle (DLG_MSG_INFORMATION, szTitle);MessageBox("您好!", INFORMATION );endprogram程序中,program...endprogram构成主程序体,每一个InstallScript程序中都必须包含一个且只有一个这样的主程序体。
在主程序体外,只能是变量定义、用户函数定义以及预处理指令等,而程序体内可以包括若干条语句,每一条语句都由分号";"结束。
本例中,SetDialogTitle和MessageBox都是InstallScript的内部函数,它们分别用来设置对话框的标题和显示指定的信息文本,INFORMATION是一个系统预定义的常量,szTitle变量是在程序体外定义的字符串变量。
[例Ex_Func] 自已定义一个函数,用来显示消息对话框。
installScript脚本语言基础
如何制作InstallShield的安装文件网页资料:/2007-03/117413895621576_7.html/Article/kfyy/vc/jszl/200709/6128.html/liuguang_123/blog/static/816701920081019858 35319//mm8413/archive/2008/06/06/1215270.html/mm8413/archive/2008/06/11/1217428.html在公司负责打包安装这份日常工作,同时还负责系统或平台的升级,鉴于公司产品在升级方面要求的特殊性(在B/S上升级C/S程序),本人经过将近一个月的努力,完成了公司产品从最原始的手动升级到半自动化的升级工作,这其中除了需要自己编写升级程序之外,同时还需要结合升级包做相应的工作。
在做安装包或升级包的过程中,很大一部分工作靠InstallScript脚本完成,在这里作简单的总结。
首先,想必接触过InstallShield的朋友都非常清楚,IS有很多的固定函数,这些函数在安装的不同阶段分别执行,比如OnFirstUIBefore、OnFirstUIAfter、OnEnd等。
这里需要强调的是,IS函数的执行顺序跟显示顺序是无关的,其执行顺序是已经固化的。
我们可以通过脚本来实现安装界面的增加或减少,比如我们想去掉许可协议界面,那么可以删掉或注释掉OnFirstUIBefore函数中的Dlg_SdLicense2:下的这段代码:/*Dlg_SdLicense2:szTitle = "";szOpt1 = "";szOpt2 = "";//{{IS_SCRIPT_TAG(License_File_Path)szLicenseFile = SUPPORTDIR ^ "License.rtf";//}}IS_SCRIPT_TAG(License_File_Path)//{{IS_SCRIPT_TAG(Dlg_SdLicense2)nResult = SdLicense2Rtf( szTitle, szOpt1, szOpt2, szLicenseFile, bLicenseAccepted );//}}IS_SCRIPT_TAG(Dlg_SdLicense2)if (nResult = BACK) thengoto Dlg_SdWelcome;elsebLicenseAccepted = TRUE;endif;*/关于各个函数的用法,可以查看InstallShield的帮助文档,亦可以到网上搜索“InstallShield内部库函数”,这里不作详述。
InstallShield教程
使用本文使用的InstallShiled的版本是InstallShiled 2008 Premier Edition,只介绍制作Base MSI Preject及InstallScript MSI Preject安装包。
1菜单大多数菜单与其他软件一样,这里只介绍几个有特点的。
1.1Go可以通过此菜单到任意一个设计界面中。
1.2Project1.1.1[Perform Static Scan…]及[Perform Dynamic Scan…]静态及动态搜索应用程序所需要的系统对象及Dll运行库,这两个功能有详细的向导,这里不再做介绍。
1.1.2[Source Control]此功能为源代码管理,必须结合Microsoft的Microsoft Visual SourceSafe。
1.3Tools1.3.1[InstallScript]Standard Dialog Sampler及Skinned Dialog Sampler查看固定的安装步骤界面,以便在脚本中调用。
Cabinet File Viewer查看安装包CAB文件的内容,经测试好像不能查看InstallShield2008制作的CAB的内容。
2安装设计界面这里介绍的是Installation Designer页面的界面(介绍一些重要的属性)。
2.1Installation Information2.1.1General Information¾Project PropertiesSetup Languages:设置安装包的语言种类,一般默认的是简体中文。
¾Add or Remove ProgramsDisplay Icon:在系统中的添加或删除程序的列表中显示的图标;Display Icon Index:图标文件的图标索引;Disable Change Button:隐藏添加或删除程序的列表中的更改按钮;Disable Remove Button:隐藏添加或删除程序的列表中的删除按钮;¾Product PropertiesName:产品名称,显示在整个安装界面的产品名称;INSTALLDIR:安装的默认路径;¾String Tables每种安装语言都有一个节点,安装中使用的字符串。
探索InstallShield——制作一个完整的应用程序安装实例共26页word资料
探索InstallShield——制作一个完整的应用程序安装实例(一)大家一定有过这样的经历,每当我们殚精竭虑为用户开发完一个系统之后往往都是派一名技术员到用户那里进行应用软件的安装,数据库的配置,这些看似简单的配置对一般用户来说可不是件容易做的事。
这不仅给那些喜欢力求完美的程序设计师带来一点遗憾外,而且也使我们设计出来的软件缺少一种安全可靠感。
如果我们在交给用户软件的时候能给他们一个象一些专业软件的安装程序,这不仅给用户留下了一个良好的第一印象,同时也节省了开发维护成本。
要说起制作安装程序的软件有许多,像 InstallShield,CreateInstall,Easy Install,EasySetup,SetupBuilder等等,可以举出一大堆来。
但其中最为著名的当属InstallShield。
目前世界上绝大多数的商业软件的安装盘都是用她来完成,比如我们可能天天在使用的Norton AntiVirus 2000。
InstallShield之所以很流行也许是因为程序员可以在通过编写脚本语言方便的进行Windows应用程序的注册表修改、ODBC配置等复杂的操作,以及她本身提供了一些相当智能化的功能。
下面,就本人在实际开发中的一些所得和大家一起探讨,文中如有任何不妥之处还请同行们给予指教。
在讲述到数据库配置的一系列问题是以目前最常用的ODBC接口为基础,文中用到的实例是在 WIN98系统中,InstallShield用的是Professional 6.21下开发和调试的,其中的应用程序实例用的PowerBuilder 7.0下开发的演示程序。
第一步:快速体验首先,我们可以来快速体验一下用InstallShield制作的安装程序是什么样的。
当然,我不可能详细到怎样建立一个项目之类的问题,有关这方面的内容还请看InstallShield的入门教材。
第二步:;InstallShield初探首先,用Project Wizard建立一个新的项目,取名Demo,同时在对话框中选择所有的选项,并且在语言选择中选择Chinese(PRC)和English,即简体中文和英文支持。
InstallShield安装与制作
InstallShield 安装与制作InstallShield 安装与制作一、InstallShield 安装1、点击[InstallShield.12. 豪华完全版].installshield12.Premier.Edition.exe 进行安装2、到安装过程中的组件步骤时选择自定义/定制3、在语言中选择简体中方(制作了的安装包才能是中文的,否则是英文)二、InstallShield 破解1、在安装的最后一步选择激活,点击下一步2、随便输入一串激活码,如(1111111111……),点击下3、提示出错,不用管,选择电子邮件激活,下一步4、出现一串的序列码,拷贝它。
5、打开[lnstallShield.12.豪华完全版].keygen.exe ;粘上那串序列码,点create^,会生成一串很长的序列码,拷贝它。
6、回到第四步的对话框,粘上序列码,ok.注:在激活的过程中,把网络断开(一)打开工程点击Create a new Project 来创建一个工程。
IS 将安装工程根据工程的特点分了几大类:InstallScript ;Windows Installer ;Universal installer 。
其中,Universal 这个比较好理解,大概就是用来做跨平台的安装程序。
InstallScript 和Windows Installer 的区别,我到是一直不是很清楚,大概意思就是如果你使用InstallScript 模式是使用脚本来驱动安装界面,使用Windows Installer 则主要是使用操作系统自带的安装服务来驱动安装。
在每个大类里面有划分了不同的小类。
这里请参考IS 帮助中的说明。
注:Project Name: 你的工程名Location: 这个打包程序存放的路径, 一般在安装的过程中自动创建这个目录(二)工程助手页面利用工程助手就可完成应用程序的制作且能满足要求(除了附加数据库等操作)。
InstallScript脚本语言基础
InstallScript是专门用来编写InstallShield安装程序的脚本语言。
由于InstallScript和C语言极为相似,因而使得Visual C++用户编写安装脚本程序颇为得心应手。
即使对于没有任何语言基础的用户来说,编写InstallScript程序也不会觉得无从下手,因为InstallScript程序结构是非常简单的。
并且,InstallScript为用户提供了超过250个的内部函数,从而使得用户不需要太多的代码就能编写出具有专业水准的安装程序来。
2.1 InstallScript程序结构同其他程序设计语言一样,InstallScript脚本语言也有自己的程序结构。
2.1.1 几个InstallScript程序下面先来看看几个比较简单的InstallScript程序。
[例Ex_Hello] 一个简单的InstallScript程序,用来弹出"问候"对话框。
STRING szTitle;programszTitle = "问候";SetDialogTitle (DLG_MSG_INFORMATION, szTitle);MessageBox("您好!", INFORMATION );endprogram程序中,program...endprogram构成主程序体,每一个InstallScript程序中都必须包含一个且只有一个这样的主程序体。
在主程序体外,只能是变量定义、用户函数定义以及预处理指令等,而程序体内可以包括若干条语句,每一条语句都由分号";"结束。
本例中,SetDialogTitle和MessageBox都是InstallScript的内部函数,它们分别用来设置对话框的标题和显示指定的信息文本,INFORMATION是一个系统预定义的常量,szTitle变量是在程序体外定义的字符串变量。
[例Ex_Func] 自已定义一个函数,用来显示消息对话框。
InstallShield使用说明
前言2001-01-18· adding·yesky在DOS时代,人们不会忘记,想要制作一个应用程序的安装往往是通过批处理文件来实现的,这种风格的安装程序常常令人们乐此不疲。
直到UCDOS图形安装界面的出现,才让人感到一些新意,并为之一振。
然而不久,具有易学易用的图形用户界面、多任务功能的Windows系统出现了,并大有取代DOS的趋势。
直到Windows 95的问世,才使得DOS真正变为过去,成为PC机上最流行的操作环境,并且随着Windows 98与Internet Explorer集成的新特性的引入,越来越多的程序员已开始致力于Windows应用程序的研究与开发。
同样,安装程序的运行环境也由原来的DOS变成了现在的Windows系统。
安装一个软件或应用程序已不再仅仅是将相关的文件复制到硬盘中,而是必须允许用户按自己的愿望选择安装类型和安装路径,并且在不需要的时候,还要能够将安装的相关内容全部删除掉。
这种Windows下的安装程序给人们留下了很深的印象,人们在惊叹Office 2000强大的安装功能和悦目的安装界面之后,已无法维持对DOS安装程序的留恋。
InstallShield恰恰是在这种操作系统不断发展的潮流中应运而生的,从InstallShield3.0到5.5,从普通的安装程序制作到最新的Windows安装界面,InstallShield公司已开发出基本各种操作平台和软件开发环境的InstallShield产品。
InstallShield for Microsoft V isual C++6(简称InstallShield VC版)和InstallShield Express Custom Edition for C++ Builder或Delphi(简称InstallShield Express C++ Builder或Delphi版)就是其中用户较为熟悉的产品。
一个完整的Installshield安装程序实例
一个完整的Installshield安装程序实例--高级设置一2010-11-19 13:14 116人阅读评论(0) 收藏举报目录(?)[+]第二部分:脚本编程在开始进行编程前,我们先明确一下我们要用编程来弥补前面设置的哪些功能的不足1. 显示软件许可协议2. 判断是否安装了本软件所需要的先决软件JKD1.6.0_04,如无,则启动外部安装程序进行安装(同样原理可以用来判断是否安装了其他软件,只要该软件在注册表中有键值)3. 用户的输入信息、所选安装路径、所选安装组件将显示在安装界面上(Installshield虽然自带了此界面,但是默认是显示为空的,需要写脚本来显示信息)4. 根据用户选择的组件,从外部文件夹拷贝相应的文件到安装目标路径的文件夹中5. 根据从外部拷贝进来的文件,创建快捷方式(这里主要是拷贝文档,并在开始菜单中创建快捷方式)6. 在安装结束时,显示readme.txt文件7. 在安装结束后,启动指定的程序8. 完美卸载脚本编程这部分都将在Installer Designer这个界面进行。
后面不再赘述。
Installshield大小写敏感,因此请严格按照示例上所写的大小写规则来书写。
例:字符串变量STRING和string都支持,但是String不支持。
1. 显示软件许可协议1. 添加许可协议文本在左边导航树上找到Behavior and Logic | Support Files/Billboards选项。
这个选项允许用户添加一些在安装过程中需要用到的文件。
中间的导航栏会显示对应的选项在Support Files分支下,会显示一个Language Independent和所有你所选择的语言类型。
Language Independent意为,如果你在这里分支下做了设置,那么无论选择用何种语言安装,这个设置都会生效;而各个语言类型意为,如果你在某语言下做了设置,那么这个设置只有在选择了用这种语言安装的时候才会生效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
InstallShield脚本语言的编写编号:QA001188建立日期: 1999年6月16日最后修改日期:1999年6月16日InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加。
一.基本语法规则1.变量BOOL 布尔型值为TRUE(1)或FALSE(0)CHAR 字符型一字节长的(8bit)的字符HWND 窗口句柄用来存放窗口句柄INT 整型两字节长的整数LIST 列表型指向InstallShield列表,用ListCreate和ListDestroyLONG 扩展数值型LPSTR 扩展指针NUMBER 数值型存放四字节长的数值,范围从-2147483648到+2147483647POINTER 指针型SHORT 短数值型STRING 字符串型十分类似VC中的LPCTSTR变量如同标准的C语言,在使用前需要事先声名。
变量通常在两个位置进行声名,一是主程序外部,这样的变量为全局变量,二是各函数的变量声名区,这样的变量是局部变量。
2.操作符一般的与C语言相同操作符,在这里不做详解,以下主要介绍比较特殊的操作符,(1) + , - , * , /以上四个操作符与C语言中意义和用法都相同。
(2) &&与操作,与C语言中用法相同,例:x1 && x2(3) ||或操作,与C语言中用法相同,例:x1 || x2(4) !非操作,与C语言中用法相同,例:!x1(5) *指针操作,类似C语言中的*(6) & , | , ^ , ~ , << , >>分别为位与,位或,按位异或,按位取反,左移和右移,其意义和用法都与C语言中基本相同。
(7) .该操作符用于结构,用来得到结构的子项,与Delphi的 . 用法类似,例如:typedef SETTINGSRECbeginBOOL bSwitchOn;STRING szMssg[255];INT nVal;end;SETTINGSREC settings;programsettings.bSwitchOn = FALSE;settings.szMssg = "Off";settings.nVal = 0;(8) =既可作为赋值号,同时也做等于符,例如:str1 = "String";if str1="String" thenendif;(9) &取地址符,与C语言用法类似。
(10) < , > , = , <= , >= , !=分别表示小于,大于,等于,小于等于,大于等于,不等于(11) + , ^ , %用于字符串的操作。
(12) ->结构指针,与C语言中用法类似。
(13) @用于得到Resource窗口中定义的字符串,例:szReferenceFile = svDir ^ @PRODUCT_KEY;3.函数InstallShield的函数使用前同样需要声名,函数的参数传递方式十分类似C语言,例如下面的函数声名:prototype HandleMoveDataError( NUMBER );该声名中函数名为HandleMoveDataError,传递一个NUMBER类型的参数。
调用该函数时也基本与C语言中相同。
函数体的标准格式为:function functionname(nResult)// 函数变量声名区begin// 程序区end;通常的函数返回一个NUMBER型的数。
4.主程序结构主程序以program开始,以endprogram结尾,二.框架程序的基本结构程序开始为函数与变量的声明区通过向导建立的框架程序包含以下一些主函数:prototype ShowDialogs();// 显示安装向导对话框prototype MoveFileData();// 移动文件数据prototype HandleMoveDataError( NUMBER );// 移动数据出错处理prototype ProcessBeforeDataMove();// 移动文件数据前的处理prototype ProcessAfterDataMove();// 移动文件数据后的处理prototype SetupRegistry();// 安装注册,用户可在此加入一些代码,通常用于对注册表的操作prototype SetupFolders();// 安装生成快捷方式,通常用户可在此加入生成快捷方式的代码prototype CleanUpInstall();// 安装完成后清除临时文件prototype SetupInstall();// 安装的实际过程prototype SetupScreen();// 设置安装过程的屏幕显示(包括背景颜色,字体等)prototype CheckRequirements();// 检查安装需求(包括硬盘空间,操作系统平台等)prototype DialogShowSdWelcome();// 显示“欢迎”对话框窗口prototype DialogShowSdLicense();// 显示许可信息的对话框prototype DialogShowSdRegisterUserEx();// 显示用户安装注册的对话框prototype DialogShowSdAskDestPath();// 显示“安装路径选择”对话框prototype DialogShowSdSetupType();// 显示“安装类型选择”对话框prototype DialogShowSdComponentDialog2();// 当用户选择“定制”安装时,用于显示供用户选择的组件的对话框prototype DialogShowSdSelectFolder();// 显示快捷方式文件夹选择的对话框prototype DialogShowSdFinishReboot();// 显示“安装完成重启动”对话框编程实例:1.怎样在进度条左上角显示当前安装的文件在function SetupScreen()中加入以下语句Enable( INDVFILESTATUS );2.怎样改变窗口背景色SetColor( BACKGROUND, **** )函数可以改变窗口背景色,在适当的位置加上它即可,其中第二个变量可以为以下值:BK_BLUE BK_MAGENTA BK_PINK BK_YELLOWBK_GREEN BK_ORANGE BK_RED以上几种为渐变色BK_SOLIDBLACK BK_SOLIDMAGENTA BK_SOLIDREDBK_SOLIDBLUE BK_SOLIDORANGE BK_SOLIDWHITEBK_SOLIDGREEN BK_SOLIDPINK BK_SOLIDYELLOW同时第二个参数也可以用RGB来描述,如SetColor( BACKGROUND, RGB(0,0,255) )3.怎样在InstallShield5.0以下版本建立快捷方式在InstallShield5.1以上版本可以可以在Resource窗口中建立,而在以前的版本必须用程序解决该问题,如果现在有一文件RegPad.exe(安装路径为用户选定的),给该程序在“开始”->“程序”中加一个快捷方式,具体实现程序如下:function SetupFolders()NUMBER nResult;STRING svResult,szCommand;STRING szName;beginszName = "RegPad.exe";szCommand = TARGETDIR ^ szName ;LongPathToQuote ( szCommand , TRUE );AddFolderIcon ( FOLDER_PROGRAMS ^"RegPad1.0Beta","RegPad" ,szCommand , TARGETDIR , "" , 0 , "" , REPLACE );4.怎样控制用户序列号在向导生成的框架程序中,定义了一个STRING型的全局变量svSerial,在SdRegisterUserEx()结束时将给该值赋上用户输入的序列号,你对该变量进行判断即可。
5.怎样控制重新启动计算机只需加入以下语句System ( SYS_BOOTWIN );6.怎样给Autoexec.bat或Config.sys加入语句以下程序给Autoexec.bat加入一行语句OpenFileMode ( FILE_MODE_APPEND );OpenFile (nvFileHandle, "C:\\", "Autoexec.bat");WriteLine ( nvFileHandle , "SET PATH=%PATH%;C:\\ORAWIN95\\BIN" );7.怎样在安装结束时允许用户选择是否打开Readme文件假定Readme.txt文件已经复制到目标路径,以下程序将显示一个复选框,如果用户选择了,则用记事本打开Readme.txt。
function DialogShowSdFinishReboot()NUMBER nResult, nDefOptions;STRING szTitle, szMsg1, szMsg2, szOption1, szOption2,szPathls;NUMBER bOpt1, bOpt2;beginif (!BATCH_INSTALL) thenbOpt1 = TRUE;bOpt2 = FALSE;szMsg1 = "";szMsg2 = "";szOption1 = "阅读Readme文件";szOption2 = "";nResult = SdFinish( szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2 );if bOpt1 = TRUE thenCopyFile ( "Readme.txt" , "Readme.txt" );LaunchApp ( WINDIR^"Notepad.exe" , TARGETDIR^"Readme.txt" );endif;return 0;endif;..........8.如何指定默认路径在function SetupInstall()中修改以下代码,如默认目录改为C:\JttMis,见以下修改的代码if (bIs32BitSetup) thensvDir = WINDISK ^ "Jttmis";elsesvDir = WINDISK ^ "Jttmis"; // use short namesendif;TARGETDIR = svDir;。