InstallShieldPro 2015中Basic MSI工程类型如何调用InstallScript脚本

转载:http://blog.csdn.net/mengzhishen/article/details/8953901

这是一个Basic MSI基础知识。

A. 首先在Installation Designer/Behavior and Logic/InstallScript视图中,选中Files点击鼠标右键选择“New Script File”,默认会生成一个setup.rul的文件,并有一个MyFunction的函数声明和。

B. 之后我们在MyFunction函数内添加一行代码:MessageBox("MyFunction", INFORMATION);

当然,你也可以修改函数名,用更有实际意义字符串代替。

C. 在Installation Designer/Behavior and Logic/Custom Actions and Sequences视图中,选中顶端的Custom Actions点击鼠标右键选择“Custom Action Wizard”(这里的Custom Action我们经常也简称为CA),下面按着向导逐步说明。

  1. 第一个界面是Custom Action Wizard欢迎界面。
  2. 在第二个Basic Information界面中,选择CA的Name,而Comment可忽略。
  3. 在第三个Action Type界面中,在Type的下拉菜单中选择Run InstallScript Code。(这里你会发现你可以通过CA调用托管代码,其他可执行程序,以及JScript,VBScript等)
  4. 在第四个Action Parameters界面中,在Source的下拉菜单选择的MyFunction。(如果脚本Setup.rul中你有多个函数声明,你会发现都会显示到下拉菜单中)
  5. 之后的界面都按照默认设置,直到点击Finish结束。

D. 在同一树状结构中,Sequences/Installation/Execute,选中Execute点击鼠标右键选择Insert,你会看到在C中你添加的CA,选中你的CA,然后设置Condition。(注意如果是想在安装时执行:Not Installed;如果是卸载执行:Installed)

E. 有关我们的CA在Sequence中的位置, 可根据情况调整位置。

CA可以在Sequence中被调用,也可以在各个Dialog中被调用执行。 

第一步:

第二步:我这个脚本是删除指定目录,所以把自动生成的MyFunction --- > DeleteFiles,在begin 和end之间写上 

           DeleteDir (AppDataFolder^"QDocument",ALLCONTENTS);

     

第三步:新建自定义事件

         

第四步:重命名为CA

第五步:选择自定义的函数

   

第六步:在同一树状结构中,Sequences/Installation/Execute,选中Execute点击鼠标右键选择Insert,你会看到在C中你添加的CA,选中你的CA,然后设置Condition。(注意如果是想在安装时执行:Not Installed;如果是卸载执行:Installed)

 

原文地址:https://www.cnblogs.com/chechen/p/6340308.html