代码改变世界

HOWTO:在Basic MSI工程中添加自定义安装界面

2010-09-17 11:42  Kevin.Wan  阅读(4115)  评论(0编辑  收藏  举报

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

用户如果通过InstallShield自带的Project Assistant创建一个Basic MSI类型的工程,默认的安装界面只有欢迎界面,License协议界面,用户信息界面,安装路径选择界面,自定义安装界面,以及安装结束界面,但安装需求往往并非这么简单,有些用户可能需要添加自定义界面,但如何能将自定义界面添加到标准安装界面的序列中,我们接下来将详细讲解。

删减标准安装界面

如果只是想去掉一些标准界面,则直接在Project Assitant的Installation Interview向导中进行勾选或反勾选(如下图)


比如,有的用户可能不需要License授权协议界面,则直接在Do you want to display a License Agreement Dialog? 下选择No,然后重新编译安装包即可。

其他界面操作类似,即使用了很久的工程,我们同样可以返回到Project Assistant中重新进行修改调整。

增加自定义安装界面

安装包界面犹如一条链,通过Next进入下一个界面,通过Back返回上一个界面,这就像数据结构中的双向链表。所以如果要添加一个自定义的界面,就相当于要在双向链表中添加一个新的结点。

首先,我们要在Installation Designer –> User Interface -> Dialogs视图中添加一个自定义界面,选中All Dialogs点击鼠标右键,点击“New Dialog…”,新增加一个Dialog,比如Dialog名叫CustomDialog,现在我们将CustomDialog插入到License授权协议对话框界面和用户信息对话框界面之间。

1. 在Dialogs视图中找到LicenseAgreement对话框界面,将其展开会看到Behavior子节点,找到Next控件,修改其NewDialog事件参数(见下图):

 

在Argument列点击下拉菜单,选择CustomDialog。

2. 在Dialogs视图中找到CustomDialog对话框界面,在Behavior中修改Back控件对应的NewDialog事件参数,将其修改为LicenseAgreement;同一界面,将Next控件的NewDialog事件参数修改为CustomerInformation。

3. 在Dialogs视图中找到CustomerInformation对话框界面,在Behavior中修改Back控件对应的NewDialog事件参数,将其修改为CustomDialog。

最后,完成上述步骤后重新编译并运行。