InstallShield 7.0 脚本学习之路

本文介绍了使用InstallShield 7.0脚本实现安装和升级时显示不同组件的选择,文件拷贝与进度条同步显示,以及执行可执行程序的方法。重点讲解了SdAskOptionsList函数用于组件选择,SetStatusWindow函数控制进度条显示,以及CopyFile函数配合进度条进行文件拷贝的细节。同时,文中探讨了在安装程序中如何根据用户选择的组件动态拷贝外部文件。
摘要由CSDN通过智能技术生成

InstallShield 7.0 脚本学习之路

本人因工作需要,学习了一下Installshield的脚本,现写一下需求与解决方法:

  • 在安装和升级时显示不同的Components(或者说是Feature)
  • 文件拷贝与进度条同步显示
  • 执行可执行程序(exe)
  • 函数执行顺序
  • 文件复制

在安装和升级时显示不同的Components(或者说是Feature)

这种情况可以通过SdAskOptionsList函数的不同参数来实现,这个函数创建一个对话框,供用户选择需要安装的组件。第三个参数默认为”“时,表示显示所有visible为yes的组件。否则,显示指定的组件,关于指定方法,是直接将第三个参数设置为所需显示组件的父组件。例如第三个参数为A,则显示A下一级的所有visible为yes的组件。
注意!!!当某个Components的visible属性被设置为No,或者通过SdAskOptionsList函数的参数控制不显示某个Components时,不显示的Components默认是安装的。即假如总共有4个Components,如果用户选择的时候只显示了2个,那么另外两个默认安装。
另外,添加的文件组的文件只能通过Features来进行赋值安装,即通过安装组件来实现文件的拷贝,无法自主操作文件组的文件。

文件拷贝与进度条同步显示

文件拷贝:

XcopyFile:支持拷贝多个文件
CopyFile:将一个文件从某个文件夹拷贝到另一个文件夹

进度条同步显示:

1.调用SdStartCopy
2.调用SetStatusWindow
    -SetStatusWindow函数介绍

语法:SetStatusWindow (nPercent, szString);
说明:SetStatusWindows函数为进度指示器(状态条)设置完成指示器的百分比的初始值或当前值,并指定在进度指示器(状态条)最高行显示的当前消息。
  通过调用ComponentTransferData或ComponentMoveData来传输文件的安装必须在文件传输开始之前调用SetStatusWindows,这是为了设置完成指示器百分比为0%而且清除指示器最高行。不再需要另外调用SetStatusWindows。每一个组件的文件被装入时,该组件的 ‘状态文本’字符串会在状态条最高行自动显示。
  使用CopyeFile或XcopyFile函数装入文件的安装程序在相继调用CopyFile或XcopyFile之间,可能需要多次调用SetStatusWindows来改变指示器最高行的信息。
  在传输文件前,你的安装程序还应该调用StatusUpdate函数激活文件传输过程中百分比完成指示器的自动更新。为了使得在状态条第二行显示正被安装文件的名称和路径,需在传输文件前带参数INDVFILESTATUS来调用Enable函数。在这些调用后,百分比完成指示器在文件传输过程中被平滑更新,每个文件的文件名在被传输时将显示。
参数:
nPercent
指定0到100之间的一个数值来表示百分比完成指示器显示的百分比。若要改变显示在状态条最高行的信息而不改变百分比完成指示器,则指定该参数为-1。
szString
指定显示在状态条最高行的字符串。注意如果一个’DisplayText’参数已被指定给该组件(在IDE中),那么当调用ComponentTransferData时该字符串将自动改写任何该参数指定的文本。
返回值:该函数没有返回值。

3.设置enableÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值