打包软件InstallShield提示和技巧:创建自定义对话框以启用互斥功能

本文简要介绍了SelectionTree控件及其在Windows 2000 / XP上MSI范围的局限性,并介绍了启用互斥功能的替代方法。

InstallShield是构建Windows安装程序和MSIX包并直接在Microsoft Visual Studio中创建安装的最快速最简单的方法。借助InstallShield,您可以快速适应行业的变化,更快地进入市场并提供引人入胜的客户体验。

InstallShield最新试用版


本文简要介绍了SelectionTree控件及其在Windows 2000 / XP上MSI范围的局限性,并介绍了启用互斥功能的替代方法。

背景

在Basic MSI项目中,SelectionTree控件使用户可以更改Feature表中要素的选择状态。 该控件是使用WC_TREEVIEW类创建的,具有以下样式:

  • WS_BORDER
  • TVS_HASLIINES
  • TVS_HASBUTTONS
  • TVS_LINESATROOT
  • TVS_DISABLERAGDROP
  • TVS_SHOWSELALWAYS
  • WS_CHILD
  • WS_TABSTOP
  • WS_GROUP

SelectionTree控件将自动发布以下控件事件,

  • SelectionAction
  • SelectionBrowse
  • SelectionDescription
  • SelectionNoItems
  • SelectionPath
  • SelectionPathOn
  • SelectionSize

此控件本身不支持功能的互斥选择。

启用互斥特征选择的替代方法

在只能从一组给定功能中选择并安装一个(1)功能的情况下,开发人员标准对话框中使用的SelectionTree控件受技术限制。一种替代方法是使用ListBox控件来操纵特征选择。

创建带有自定义项目列表框控件的自定义对话框的步骤如下。

  • 创建一个内部对话框
  • 将ListBox控件添加到对话框
  • 填充ListBox控件
  • 定义特征选择

步骤1:创建一个内部对话框,如下所示。

内部空白对话框

步骤2:将ListBox控件添加到对话框。

ListBox控件按钮

自定义功能选择对话框

步骤3:填充ListBox控件

  • 下图显示了ListBox控件可用的属性的完整列表。至少应该熟悉以下属性名称,属性和项目。

ListBox控件属性
  • 选择并单击上图中的属性名称Items,以打开以下对话框。

添加列表框项目对话框
  • 单击Add(添加按钮,弹出以下对话框,将单个功能添加到ListBox控件中。为Value输入的字符串由MSI在内部使用,并且在运行时对用户不可见。 为文本输入的字符串将显示给用户。值和文本不必具有相同的字符串。如果将文本留空,则为值输入的字符串也将用于文本。

添加项目

步骤4:定义功能选择

  • 给定一组功能,如下图所示,将所有功能的Install Level设置为大于INSTALLLEVEL属性值的数字。默认的INSTALLLEVEL为100,这样做是为了初始化默认情况下未选择安装的所有功能。

现有功能
  • 将AddLocal事件添加到Next按钮,如下图所示。它将根据用户的选择来选择要安装的功能。您可以根据安装要求添加其他必要的事件。AddLocal事件采用字符串参数,并且不解析该字符串。选择一个列表项时,ListBox控件的属性将包含步骤3添加列表框项目对话框中的Value列的字符串。

在下一步按钮上添加本地事件

  • 下图显示了对话框在运行时的外观。若要设置默认选择,可以在IDE的属性管理器中为ListBox控件的属性分配一个值。

运行时的功能选择对话框


以上内容对您使用InstallShield是否有帮助果您有其他的疑惑或者建议都可以在评论区留言。

推荐文章:

MSI功能和组件的使用

InstallShield v2019最新更新说明

=================================================

如果您想要购买正版授权InstallShield,可以联系在线客服>>咨询相关问题。

关注慧聚IT微信公众号了解产品的最新动态及最新资讯。

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月3日
下一篇 2020年1月3日

相关推荐

发表回复

登录后才能评论