转载: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)

InstallShieldPro 2015中Basic MSI工程类型如何调用InstallScript脚本的更多相关文章

  1. linux+php+apache web调用python脚本权限问题

    lamp : linux + apache + mysql + php 在近期项目中使用 linux + apache + php调用python脚本是出现以下权限问题: build/bdist.li ...

  2. Centos下使用php调用shell脚本

    我们在实际项目中或许会遇到php调用shell脚本的需求.下面就用简单案例在Centos环境下实践 准备 查看php.ini中配置是否打开安全模式 //php.ini safe_mode = //这个 ...

  3. InstallShield 2015 Premier的Basic MSI Project如何在卸载时删除残留的文件 (转)

    转载:http://blog.csdn.net/zztoll/article/details/54018615#comments 先说下缘由,我在用InstallShield 2015 Premier ...

  4. Basic MSI silent install

    Articles and post about silent install for Basic MSI, InstallScript, InstallScript MSI: Silent-mode ...

  5. InstallShield Basic MSI工程常见问题解答[转]

    1.  问题描述:采用何种安装模式?实现方法:如果对用户界面等自定义要求不高的话,建议用Basic Msi Project,否则用InstallScript MSI Project. 2.  问题描述 ...

  6. Visual Studio 2015中的常用调试技巧分享

    .NET 技术交流群:337901356 欢迎您的加入! 为什么要学习调试? 调试(Debug)是作为一个程序员必须要学会的东西,学会调试可以极大的提高开发效率,排错时间,很多人不喜欢调试,但我认为这 ...

  7. Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用

    Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用 Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.cs ...

  8. ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用

    Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作.Grun ...

  9. cocos2dx中使用tolua++使lua调用c++函数

    一直想学学cocos2dx中如何使用tolua++工具使得lua脚本调用C++函数,今天就来搞一下,顺便记录下来: 首先,我们打开cocos2dx-2.2.4中projects下的test的VS工程, ...

随机推荐

  1. JavaScript 中的陷阱

    JavaScript 通过函数管理作用域.在函数内部声明的变量只在这个函数内部,函数外面不可用.另一方面,全局变量就是在任何函数外面声明的或是未声明直接简单使用的. “未声明直接简单使用”,指的是不用 ...

  2. js部署中如何提高页面加载速度

    1.合并js文件,减少http请求数量. 2.对js文件进行压缩 3.以gzip的形式提供js 4.使js文件可缓存 5.使用CDN

  3. chrome中image图片预留位置的问题

    在项目中发现,当设置 <img src="" width="100" height="100"> 通过设置img的width属性 ...

  4. 【Android N 7】使用量统计usagestats

    Android N 7.1.1 高通 1. /data/system/usagestats/0 2. 每天使用量统计 /data/system/usagestats/0/daily 查看数值: cat ...

  5. jquery收集表单数组及去掉字符串最后的逗号!

    jquery收集表单数组: <input type='text' name='one[]' value='' /><br> <input type='text' name ...

  6. 170731、Nginx初探

    一. 概念 Nginx——Ngine X,是一款自由的.开源的.高性能HTTP服务器和反向代理服务器:也是一个IMAP.POP3.SMTP代理服务器:也就是说Nginx本身就可以托管网站(类似于Tom ...

  7. LightBGM之Dataset

    最近使用了LightBGM的Dataset,记录一下: 1.说明: classlightgbm.Dataset(data, label=None, reference=None, weight=Non ...

  8. MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具

    mybatis – MyBatis 3 | 日志 http://www.mybatis.org/mybatis-3/zh/logging.html MyBatis 内置日志工厂基于运行时自省机制选择合 ...

  9. arpa/inet.h所引起的Segmentation fault及网络编程常见的头文件

    最近在学习Linux网络编程方面的知识,感觉还是有些困难.主要是对协议过程的理解,还有socket的API的理解不够深刻.今天复习编写了一个TCP的服务端和客户端的程序实现client.c从命令行参数 ...

  10. 使用dockerfile 创建ubuntu ssh镜像

    ############################################################ # Dockerfile to build ubunto ssh contai ...