编者按:其实这篇文章叫做如何修饰对话框界面或者叫做如何自定义界面元素更加确切一些,因为这并不是一篇关于如何创建自定义界面的文章,而是告诉你如何将自己的LOGO或者图片加入到已有的对话框界面上

前言:

出处:http://www.cnblogs.com/installshield/archive/2010/06/28/1766664.html

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

安装对话框类型

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

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

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

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

InstallScript工程类型

内部对话框:

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

首先需要将bmp格式(尺寸大小为499*58像素点)文件添加到Support Files/Billboards视图中的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。

作者简介:

万炳宏(Kevin Wan)

InstallShield专业技术支持与咨询师,从2003年开始使用InstallShield,有上百个项目安装打包经验,经常撰写一些InstallShield使用操作的技术文档,长期关注软件打包行业发展,对于其他软件打包工具,如InstallAnywhere,Advanced Installer,Wise,Wix,Inno Setup和NSIS等也非常熟悉,同时也在关注软件分发部署以及应用程序虚拟化打包等新的技术与应用。

邮箱: kevin.wan@msn.com

技术专栏: http://www.cnblogs.com/installshield

转载于:https://www.cnblogs.com/Cindy_weiwei/archive/2010/05/21/1740930.html

Kevin专栏---自定义安装对话框的界面相关推荐

  1. InstallShield自定义安装界面

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

  2. Wix 安装部署(二)自定义安装界面和行为

    Wix 安装部署(二)自定义安装界面和行为 原文:Wix 安装部署(二)自定义安装界面和行为 上一篇介绍了如何联合MSBuild来自动生成打包文件和对WIX的一些初步认识,http://www.cnb ...

  3. CentOS 7的安装配置图形界面

    访问其官网,https://www.centos.org/,点击Get CentOS Now,点击alternative downloads,点击CentOS 7列表中的x86_64,点击http:/ ...

  4. QT自定义精美换肤界面

    QT自定义精美换肤界面 陆陆续续用QT开发过很多项目,也用QT写过不少私活项目,也写过N个工具,一直梦寐以求能像VC一样可以很方便的有个自定义的界面,QSS的强大让我看到了很好的希望,辗转百度谷歌无数 ...

  5. Solr7 安装部署 管理界面介绍

    Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...

  6. 024 Android 自定义样式对话框(AlertDialog)

    1.AlertDialog介绍 AlertDialog并不需要到布局文件中创建,而是在代码中通过构造器(AlertDialog.Builder)来构造标题.图标和按钮等内容的. 常规使用步骤(具体参见 ...

  7. office自定义安装选项_如何自定义Office 2013中功能区上的现有选项卡

    office自定义安装选项 The Ribbon in Microsoft Office 2013 provides quick access to many features and options ...

  8. Solr7 安装部署 管理界面介绍 1

    转载来源:https://www.cnblogs.com/itdragon/p/7995040.html Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的 ...

  9. mysql典型安装和自定义_Mysql8.0.19下载安装—windows版本自定义安装

    一.下载MySQL Community Server 官网下载网址:https://dev.mysql.com/downloads/mysql/ 选择社区版 这里说安装包是32位的,但是看前面跳转的说 ...

最新文章

  1. Linux软件的安装,更新与卸载
  2. G1回收器:我怎么知道你是什么时候的垃圾?
  3. Git + BeyondCompare
  4. Nike Kyrie 1 Performance Review
  5. 1、kali的安装与环境配置
  6. mysql存储过程表迁移for_MySQL存储过程--通过游标遍历和异常处理迁移数据到历史表 (转)...
  7. 学习ssm框架一般要用多少时间
  8. 博览无限搜索导航,天下没有搜不到的内容,人人少年开卷天才
  9. 掌控你的信息流:在自己的VPS上部署RSSHub
  10. python计算2的n次方编写_python中n次方怎么表示
  11. 计算机exo乐谱,History钢琴简谱-数字双手-EXO
  12. .net mysql sqlhelper_「谢灿asp.net三层架构」5、DAL中公共类-SqlHelper类应该这样写
  13. Python py文件如何调用其他py文件
  14. mysql 排除节假日_MYSQL 两日期之间的工作日(去掉周六日,不考虑节假日)_mysql...
  15. 北京WIFI密码,很强大
  16. 用python做股市数据分析一_用python做股票数据分析(兴趣篇)
  17. iOS中检测硬件和传感器
  18. 查询彩票中奖号码小程序
  19. “有一只鸟来到这个世界,它该做什么?”你知道么?
  20. 2021-09-08-EMMC启动命令备份-设置bootargs-编译内核存放的路径-SD卡uboot启动备份,print打印的信息

热门文章

  1. 懒加载 jquery代码
  2. 数据查询(1)-简单查询(芮)
  3. CString之GetBuffer、ReleaseBuffer
  4. 无法在 Web 服务器上启动调试。调试失败,因为没有启用集成 Windows 身份验证。请...
  5. 基于MFC的socket编程(异步非阻塞通信)
  6. c# 调用c库dll ,char*转string的解决办法
  7. 微信小程序实现点击不同view标签,移动到一行
  8. IOS开发基础之异步下载网络图片第1部分
  9. php7 根据日期算星座,php根据日期判断星座的函数分享
  10. 查WiFi密码的三种方法