InstallShield自定义安装界面

简介: 原文:InstallShield自定义安装界面 版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。 前言: 对于一些InstallShield用户或企业,对于安装包界面除了采用默认的安装对话框外,有时可能会需要利用安装界面这个平台进行产品或企业形象宣传,自定义安装对话框。
原文: InstallShield自定义安装界面

版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。

前言:

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

安装对话框类型

安装程序的安装界面分外部对话框和内部对话框两类。外部对话框是指安装前和安装结束部分,典型的就是欢迎和结束对话框;在欢迎和结束对话框之间的其他对话框称之为内部对话框。

外部对话框示例(如下图):

clip_image002

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

clip_image002[4]

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


InstallScript工程类型

内部对话框:

在InstallScript工程中,可以通过函数DialogSetInfo指定内部对话框中显示的资源文件(只支持bmp格式),具体操作如下:

首先需要将bmp格式(尺寸大小为499*58像素点)文件添加到Support Files/Language Independent目录下。如下图

1

之后在事件响应函数OnBegin中添加如下代码:

DialogSetInfo(DLG_INFO_ALTIMAGE, SUPPORTDIR ^ "Bear_Banner.bmp", TRUE);

重新编译释放之后,内部对话框中将显示我们自定义的资源,如下图:

clip_image002[11]

外部对话框:

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

clip_image002[13]

如果不需要这张插入的图片,可以直接在Dialog视图中,将相应对话框中名为ControlId_1200的控件直接删除就可以。

在InstallScript工程中,每个外部对话框中都有一个名为ControlId_551的位图控件,其属性File Name指向一位图文件(默认大小为220*370像素):

<ISProductFolder>\Script\Dialogs\BitmapId_103.bmp

可以直接在每个外部对话框中重新指定自定义的位图文件。

之后重新编译,效果如下图:

clip_image004

涉及修改的外部对话框包括Welcome,SdWelcome,SdFinish,SdFinishReboot,SdFinishUpdate(Ex),SdFinishUpdateReboot,以及SdPatchWelcome,当然上述对话框可以根据需要有选择的进行修改。

这样,我们就完成了InstallScript工程的自定义对话框资源的修改。

虽然我们完成了内部和外部对话框的自定义,但细心的用户会发现,在安装初始化时,依然显示的InstallShield的资源文件,这是因为这部分内容是在脚本代码运行之前显示的,所以用户无法修改。不过,我们可以在Release视图中,将属性Small Initialization Dialog的值设为Yes,现在在安装初始化时将显示小的对话框,不会加载显示标准的位图,修改方式见下图:

clip_image002[15]


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。

修改效果如下:

clip_image008

外部对话框:

在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。

修改后效果如下图:

clip_image010

对于安装包初始化界面中出现的问题,处理方式与InstallScript工程方式相同,选择Small Initialization Dialog。

注意:对于Basic MSI工程,还有一个更方便的方式自定义界面,这就是Project Assistant,在Project Assistant的Installation Interview界面的左上角(谢谢Fanjing的校正),有一个Use custom images on dialogs。通过它可以直接设置自定义的界面。


InstallScript MSI

工程类型:

 

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

外部对话框效果如下:

clip_image012

内部对话框效果如下:

clip_image014

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

目录
相关文章
|
缓存 图形学
Unity 之 关于UnityHub无法打开项目的问题(弹出Unity启动界面有退回到Hub选择工程界面)
弹出Unity启动界面有退回到Hub选择工程界面方案一:万能的重启大法;方案二:未开启许可证;方案三:终极奥义 -- 弃用Hub
3048 0
Unity 之 关于UnityHub无法打开项目的问题(弹出Unity启动界面有退回到Hub选择工程界面)
Visual Studio2019安装闪退(不弹出下载界面)等问题解决方法
Visual Studio2019安装闪退(不弹出下载界面)等问题解决方法
476 0
Visual Studio2019安装闪退(不弹出下载界面)等问题解决方法
|
8月前
CTK框架 - 将菜单按钮写到插件中
之前我们在的两个插件Core和About,在Core和About中加入了界面,并且Core中插入了一个菜单,点击之后弹出About界面。 我们现在来用之前的知识把菜单改成注册的,并且点击之后弹出About界面。 我这里的思路是使用事件或者是在Core中加注册的服务来注册菜单。之后点击菜单的时候发送事件。
64 0
|
XML C语言 数据格式
CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面
CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面
CentOS8安装Geant4笔记(三):Geant4介绍、编译、安装支持Qt5界面并运行exampleB1例程显示Qt界面
|
存储 vr&ar Windows
NSIS安装包开发笔记(三):NSIS使用Qt做的安装界面制作安装包交互详解
NSIS安装包开发笔记(三):NSIS使用Qt做的安装界面制作安装包交互详解
NSIS安装包开发笔记(三):NSIS使用Qt做的安装界面制作安装包交互详解
|
编译器 Linux Windows
NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
NSIS安装包开发笔记(二):NSIS使用NSIS+Qt界面制作安装包流程
NSIS安装包开发笔记(二):NSIS使用NSIS+Qt界面制作安装包流程
NSIS安装包开发笔记(二):NSIS使用NSIS+Qt界面制作安装包流程
|
XML C# 数据格式
Wix 安装部署教程(九) --用WPF做安装界面
原文:Wix 安装部署教程(九) --用WPF做安装界面       经常安装PC端的应用,特别是重装系统之后,大致分为两类。一类像QQ,搜狗输入法这样的。分三步走的:第一个页面可以自定义安装路径和软件许可。
1561 0
|
C#
Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面
原文:Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面        在上一篇中曾留下两个问题,.Net捆绑安装不触发以及路径选择的问题现在都已经解决,这段时间花的最多的地方还是WPF调样式上面,奈何WPF功力不够,暂时还是没有达到自己想要的效果。
1516 0