InstallShield自定义安装界面

转载 2015年07月10日 16:21:09

转自: http://blog.csdn.net/dy_paradise/article/details/8234651

前言:

对于一些InstallShield用户或企业,对于安装包界面除了采用默认的安装对话框外,有时可能会需要利用安装界面这个平台进行产品或企业形象宣传,自定义安装对话框。下面将就此需求展示如何在InstallScript,Basic MSI或InstallScript MSI工程中如何自定义安装过程中的对话框。
安装对话框类型:
安装程序的安装界面分外部对话框和内部对话框两类。外部对话框是指安装前和安装结束部分,典型的就是欢迎和结束对话框;在欢迎和结束对话框之间的其他对话框称之为内部对话框。
外部对话框示例(如下图):

内部对话框示例(如下图)

下面将具体的工程类型介绍如何自定义对话框。
InstallScript工程类型
内部对话框:

在InstallScript工程中,可以通过函数DialogSetInfo指定内部对话框中显示的资源文件(只支持bmp格式),具体操作如下:
首先需要将bmp格式(尺寸大小为499*58像素点)文件添加到Support Files/Language Independent目录下。如下图


之后在事件响应函数OnBegin中添加如下代码:
DialogSetInfo(DLG_INFO_ALTIMAGE, SUPPORTDIR ^ "Bear_Banner.bmp", TRUE);
重新编译释放之后,内部对话框中将显示我们自定义的资源,如下图:



外部对话框:
前边在事件响应函数OnBegin中调用函数DialogSetInfo的图片资源,嵌入显示到外部对话框中,效果如下图:

如果不需要这张插入的图片,可以直接在Dialog视图中,将相应对话框中名为ControlId_1200的控件直接删除就可以。
在InstallScript工程中,每个外部对话框中都有一个名为ControlId_551的位图控件,其属性File Name指向一位图文件(默认大小为220*370像素):
<ISProductFolder>\Script\Dialogs\BitmapId_103.bmp
可以直接在每个外部对话框中重新指定自定义的位图文件。
之后重新编译,效果如下图:

涉及修改的外部对话框包括Welcome,SdWelcome,SdFinish,SdFinishReboot,SdFinishUpdate(Ex),SdFinishUpdateReboot,以及SdPatchWelcome,当然上述对话框可以根据需要有选择的进行修改。
这样,我们就完成了InstallScript工程的自定义对话框资源的修改。
虽然我们完成了内部和外部对话框的自定义,但细心的用户会发现,在安装初始化时,依然显示的InstallShield的资源文件,这是因为这部分内容是在脚本代码运行之前显示的,所以用户无法修改。不过,我们可以在Release视图中,将属性Small Initialization Dialog的值设为Yes,现在在安装初始化时将显示小的对话框,不会加载显示标准的位图,修改方式见下图:


Basic MSI工程类型:
内部对话框:

在Basic MSI工程内部对话框中,有一个称作“Banner”的位图控件,该控件的File Name属性指向一个位图文件(499*58的JPEG,扩展名为ibd)。默认指向:
<ISProductFolder>\Redist\Language Independent\OS Independent\IsDialogBanner.ibd
可以在Dialog视图中,对每个内部对话框进行修改,包括AdminChangeFolder,AdminNetworkLocation,CustomerInformation,CustomSetup,CustomSetupTips,DatabaseFolder,DestinationFolder,DiskSpaceRequirements,FilesInUse,InstallChangeFolder,LicenseAgreement,MaintenanceType,MsiRMFilesInUse,OutOfSpace,ReadyToInstall,ReadyToRemove,SetupInterrupted,SetupProgress,SetupType。
修改效果如下:

外部对话框:
在Basic MSI工程外部对话框中,有一个称作“Image”的位图控件,该控件的File Name属性指向一个位图文件(499*312的JPEG,扩展名为ibd)。默认指向:
<ISProductFolder>\Redist\Language Independent\OS Independent\ IsDialogBitmap.ibd
可以在Dialog视图中,对每个外部对话框进行修改,包括AdminWelcome, InstallWelcome, MaintenanceWelcome,PatchWelcome, SetupCompleteError,SetupCompleteSuccess,SetupInitialization,SetupInterrupted,SetupResume,SplashBitmap。
修改后效果如下图:

对于安装包初始化界面中出现的问题,处理方式与InstallScript工程方式相同,选择Small Initialization Dialog。
注意:对于Basic MSI工程,还有一个更方便的方式自定义界面,这就是Project Assistant,在Project Assistant的Installation Localization界面的左上角,有一个Use custom images on dialogs。通过它可以直接设置自定义的界面。

InstallScript MSI工程类型:
InstallScript MSI工程类型是间于InstallScript和Basic MSI直接的一种工程类型,其对话框部分处理方式与InstallScript相同,所以我们可以参考InstallScript工程进行设置。
外部对话框效果如下:

内部对话框效果如下:

对于安装包初始化界面中出现的问题,处理方式前两种工程类型相同,选择Small Initialization Dialog

相关文章推荐

InstallShield自定义安装界面

前言: 对于一些InstallShield用户或企业,对于安装包界面除了采用默认的安装对话框外,有时可能会需要利用安装界面这个平台进行产品或企业形象宣传,自定义安装对话框。下面将就此需求展示如何在I...

InstallShield工程中如何识别初次安装,维护模式和卸载

一个标准安装包,有第一次安装模式,还有修复维护模式和卸载。 无论是MSI工程里Sequence,还是InstallScript中OnBegin,OnEnd等事件响应函数,有些动作会在各种模式下都...

InstallShield自定义安装界面

版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。 前言: 对于一些InstallShield用户或企业,对于安装包界面除了采用默认的安装对话框外,有时...

InstallShield安装包制作笔记:如何修改安装语言选项

问题描述:安装包有多语言设定时,会按照当前系统的语言显示语言选择窗口,但每种选项的表达都是系统语言,例如中文环境下English的选项是“英文”,英文环境下中文的显示是”Chinese”,但实际上,无...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

InstallShield自定义对话框浅谈(转)

说明:本文档的InstallShield为6.22版本,语言:中文。操作系统为Windows2000。资源编辑工具:Microsoft Visual C ++ 6.0。修改的DLL:_isuer.d...
  • dragoo1
  • dragoo1
  • 2015年05月02日 14:57
  • 2516

Installshield程序打包之自定义皮肤

  • 2012年05月31日 15:52
  • 728KB
  • 下载

InstallShield创建自定义对话框 实例(转)

1.在Dialogs视图中,右键All Dialog,选择新建对话框(New Dialog) 2.创建一个空白对话框,命名为MyDlg. 3.双击MyDlg下的子项即可进入对话框的编辑模式 4....
  • dragoo1
  • dragoo1
  • 2015年03月30日 21:50
  • 1353

以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用

; Script generated by the Inno Setup 脚本向导. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETU...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:InstallShield自定义安装界面
举报原因:
原因补充:

(最多只允许输入30个字)