在Setup.rul中,新增OnBegin函数


STRING str1,spath,szApplicationPath,szApplicationCmdLine,szCmdLine;
function OnBegin()    
begin
    // TO DO: you may change default non-UI setting, for example
    //
    // You may also perform your custom initialization steps, check requirements, etc.  
    Disable(BACKBUTTON);
    if(!MAINTENANCE)then
    SdLicense2("License","","",SUPPORTDIR^"协议.txt",FALSE);
    endif;

//------------------------------------------------------------------------------------
    szApplicationPath = WINSYSDIR ^ "msiexec.exe";
    szApplicationCmdLine = "/i c:\\mysql.msi";
    LongPathToQuote( szApplicationPath, TRUE );
    szCmdLine = szApplicationPath + " " + szApplicationCmdLine;

RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
    MessageBox ("You are here", INFORMATION);
if(RegDBKeyExist("SOFTWARE\\MySQL AB\\MySQL Connector/ODBC 5.2 64bit(community edition)")<0)then    
    MessageBox ("You are here1", INFORMATION);
    MessageBox(PROGRAM,INFORMATION);  
    MessageBox(SRCDIR,INFORMATION);  
    MessageBox(szCmdLine,INFORMATION);
    LaunchAppAndWait("",szCmdLine, LAAW_OPTION_WAIT);
endif;

end;功能:在安装时,出现许可证后检测是否系统中安装必要的组件,如果没有安装就提示安装。有,则跳过。当必要组件是.exe的文件。直接加载到support中即可。如果是.msi后缀的文件需要调用window installer来安装。用到的函数是LaunchAppAndWait(szProgram, szCmdLine, nOptions )


szProgram:Specifies the complete path and file name of the application to be launched.

szCmdLine:Specifies the command-line parameters to pass to the launched application.

nOptions:LAAW_OPTION_WAIT----Passed through the function to WaitForApplication.

IS---InstallShield第二天的更多相关文章

  1. 使用InstallShield打包VS程序

    使用InstallShield打包VS程序 InstallShield是微软自己的一个打包工具,这个打包工具,有其优势也有其弊端.其优势,可以很好且方便地将.NET平台的控件以及程序所需要的dll打包 ...

  2. InstallShield 脚本语言学习笔记

    InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加.     一.基本语法规则      ...

  3. 初次使用InstallShield笔记

    公司的产品需要打包发布,以前一直没打包,打包方法的学习交给了我 下面的内容是我研究过后的,通过回忆写的笔记.由于不熟悉,可能会有错误或者是笨办法,希望高手指正,感激不尽. 有些东西是什么,以及是什么意 ...

  4. (转)INSTALLSHIELD 2010 预安装组件和软件

    使用Installshield2010提供的组件 大家再开发软件产品的时候经常是基于某些软件和类库的,像我们的项目就用到了.Net Framework3.5,mapinfo,sqlserver 200 ...

  5. (转)安装程序发布利器——InstallShield 2011 Limited Edition

    最近经常写WCF服务和Windows服务,之前知道可以通过vs2010自带的“安装项目”可以发布程序,但是自vs2010起,同时提供了InstallShield LE. 下面我们通过图示,来了解Ins ...

  6. 【InstallShield】 为什么卸载后有的文件没有删掉

    1.Component的属性Permanent设置为Yes. 2.Component的ID为空. 3.Component被其他应用程序或者Feature使用. 4.设置了一个Condition,在安装 ...

  7. InstallShield 创建自己的Dialog

    1.在"User Interface"-"Dialogs"下,在All Dialogs右击"New Dialogs-"创建自己的Dialog ...

  8. InstallShield 12 制作安装包

    目  录 一. 二. 三. (一) 打开project... 2 (二) project助手页面... 3 1.Application Information:程序信息... 4 2.Installa ...

  9. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(四) --高级设置二

    原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(四) --高级设置二 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一4. 根据用户选择的组 ...

  10. 在Installshield的安装进度中显示自己设置的信息

    原文:在Installshield的安装进度中显示自己设置的信息 以Installscript msi project为例,在installshield所制作的安装包安装过程中显示安装进度的,就在On ...

随机推荐

  1. HDU 2298 Toxophily

    题目: Description The recreation center of WHU ACM Team has indoor billiards, Ping Pang, chess and bri ...

  2. ActiveMQ入门实例(转)

    1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 2.运行ActiveMQ 解压缩apache-activemq-5.5.1-bin.zip,然后双击a ...

  3. xml增强学习笔记

    2 Dom4j修改xml文档 2.1 写出内容到xml文档 XMLWriter writer = new XMLWriter(OutputStream, OutputForamt) wirter.wr ...

  4. php 环境变量收集

    常用的PHP环境变量和系统常量列表 是一个包含服务器端相关信息的PHP全局环境变量,在PHP4.1.0之前的版本使用$HTTP_SERVER_VARS.更多信息可以参考这里. $_SERVER['PH ...

  5. jetty-如何配置虚拟主机【转】

    jetty-如何配置虚拟主机[转]http://weifly.iteye.com/blog/1152688 官方配置:http://wiki.eclipse.org/Jetty/Howto/Confi ...

  6. MKDOCS在线文档编辑器

    http://www.mkdocs.org/  api接口文档编写 ,效果非常不错

  7. .net互转java 转行必备

    .net与java其实是差不多的语言,学习起来只需要弄清楚差异及查库的方法,转起来还是很快的 以下列出几点,希望能给正在转行的你一些帮助 1,java与c#语言超详细对比 http://www.har ...

  8. 理解CSS中的三种选择器>+~

    1. p~ul p和ul有相同的父元素,选择出p元素之后的所有ul元素,其中,p和ul不一定是紧随,但是必须有相同的父元素 E+F            相邻兄弟选择器.选择匹配F的元素,且该元素位于 ...

  9. EasyUI-在行内进行表格的增删改操作

    第一篇笔记中记录了如何实现表格的增删改,那个是点击之后跳出来一个对话框然后进行的,这里是在表格本身上进行的操作,也很简单,但是这里发现一个版本问题,也可以说是兼容性问题. 1.首先我们看引用的js和c ...

  10. OpenFileDialog

    打开一个文件         private void button1_Click(object sender, EventArgs e)         {             openFile ...