用InstallShield8.0制作安装程序 下载本文

InstallScript MSI脚本语言采用的事件驱动模式,也就是说,所有的函数调用是安装一定的顺序来进行的。

在你的工程中自己定义的函数都会出现你的函数树上,见上图,你可以单击树上函数名称来编辑或者修改该函数。

事件处理函数(event-handler functions)是不会出现你的函数树上,但是这些函数你的工程也可以使用,当然,此时我们使用的该函数的缺省代码,如果你想修改某个事件处理函数,你可以从事件列表中选择一个事件比如我们选择(Befor Move Data),然后选择一个关于这个事件的函数(比如Begin),然后这个函数的定义就会出现在你的脚本中,在你的脚本中会出现下面的代码:

////////////////////////////////////////////////////////////////////////////// //

// FUNCTION: OnBegin //

// EVENT: Begin event is always sent as the first event during installation. //

////////////////////////////////////////////////////////////////////////////// function OnBegin( ) begin

// TO DO: you may change default non-UI settings, for example //

// You may also perform your custom initialization steps, check requirements, etc. end;

你可以在这个函数执行自己的代码了。

下面我们演示一下如何在这个函数添加一个MessageBox函数。

1)首先将begin和end间的//开头的都删除

2)按下CTRL+I弹出添加函数的向导。

3)在函数的种类列表中,选择\

4)在函数名称中,选择\单击下一步。

5)In the szMsg field-which contains the message you want to display-type \to the Tutorial installation!\

6)In the nType drop-down list-which specifies the type of message box to display-select INFORMATION.

7)Click Finish to paste your function call into the script.

最后,其实就是在你的OnBegin函数中添加了如下的代码:

function OnBegin( ) begin

MessageBox ( \end;

当你修改了你的脚本时,你就要重新编译它,这样,当你运行安装程序的时候,在弹出欢迎对话框之前就会弹出这个消息框。

InstallScript语言包含了大概250个函数用来处理相关的任务,详细内容参见帮助文档。

修改安装界面

处理用户的输入:

在你的安装脚本中,所有处理用户输入对话框的显示只在下面的四个函数中出现OnFirstUIBefore,这个函数里包含了用户第一次安装该程序,在复制文件之前的所有的对话框。

OnFirstUIAfter,这个函数包含用户第一次安装该程序,在复制文件之后所用到的对话框显示

OnMaintUIBefore,这个函数中包含了用户采用maintenance模式安装时,在复制文件之前的所用到的所有的对话框。

OnMaintUIAfter,这个函数中包含了用户采用maintenance模式安装,在复制文件之后所用到的对话框。

对于InstallScript MSI工程来说,其实这里最重要的还是OnFirstUIBefore and OnMaintUIBefore两个函数,用户无论是第一次安装还是maintenance安装,对话框显示都在这两个函数中,OnFirstUIBefore函数缺省的情形应该像下面这样吧。

Dlg_Start:

// beginning of dialogs label Dlg_SdWelcome: szTitle = \szMsg = \

nResult = SdWelcome( szTitle, szMsg ); if (nResult = BACK) goto Dlg_Start;

Dlg_SdCustomerInformation: szMsg = \szTitle = \

nResult = SdCustomerInformation( szTitle, szName, szCompany, nUser ); if (nResult = BACK) goto Dlg_SdWelcome;

关于InstallShield8.0的入门就简单介绍到这里,关于安装程序的制作,以后有机会我会写一些更加详细的帮助文档,希望和大家多交流。