• 我开发了一套软件,要另外安装一套驱动程序,我要如何在installShield中一起安装


    http://topic.csdn.net/t/20010603/12/144563.html

    我没有试过,但是下面的文档我想对你有用
      需要多个安装程序的情况是比较多的,如 "金山词霸 "的安装。启动多个安装程序可就下面两种情况而有不同的方法。

      1.   由InstallShield构造的两个安装项目
      在这种情况下,用户首先指定其中一个为主安装项目,另一个为次安装项目,并且次安装项目已被编译过,能完全正确运行。这时,我们按下列步骤进行:
      (1)   启动InstallShield   5.5,将主安装项目调入。
      (2)   切换到项目工作区窗口的 "Setup   Files "页面,将次安装项目要发布的安装媒介\Dsik1、\Disk2...等文件夹下的文件全部调入用户指定的\目录项中。
      (3)   在主安装项目的脚本程序中,添加下列语句:
         DoInstall(   SUPPORTDIR   ^   "Setup.ins ",   " ",   WAIT   );
      其中,DoInstall就是用来启动另一个安装程序的,其函数原型如下:
         DoInstall   (szInsFile,   szCmdLine,   lWait);
      该函数是用来运行另一个安装程序。参数szInsFile用来指定用户要运行的被正确编译过的脚本文件.ins的文件全名;szCmdLine用来指定InstallShield命令行内容;lWait表示运行的操作方式,它可以是下列值之一:
       NOWAIT   两个安装程序同时运行
       WAIT   在次安装程序运行完成后,才进行主安装项目的下一步操作
      该函数返回1时表示成功调用了次安装程序,并将流程返回到调用DoInstall的下一个语句中。若InstallShield找到了要调用的安装脚本文件,但却不能启动它,那么流程仍就被返回,并且此函数返回1。返回-2时表示InstallShield没有找到要调用的安装脚本文件。返回其他负数则表示产生不可预知的错误。
      (4)   将项目工作区窗口切换到Media页面,单击Media   Build   Wizard项,创建新的媒介。
      (5)   编译并运行。
      需要说明的是,如果被调用的次安装程序中也有DoInstall的调用,那么就形成了嵌套,从而可以启动许许多多的安装程序。
      2.   由第三方提供的安装程序包
      如果要执行的另一个安装程序是第三方提供的安装程序,它可能只有一个可执行的文件。这时就要使用LaunchAppAndWait和LaunchApp函数来启动,它们的原型如下:
       LaunchAppAndWait   (szProgram,   szCmdLine,   lWait);
       LaunchApp   (szCommand,   szCmdLine);
      这两个函数都是用来启动一个应用程序,它们唯一的区别是LaunchApp函数直到已启动的应用程序被关闭或中断后,流程才会被返回,而LaunchAppAndWait可以立即返回流程。参数szProgram和szCommand都是用来指定要启动的应用程序文件全名,但对于szProgram来说,若应用程序没有指定路径和文件扩展名,LaunchAppAndWait不会启动该应用程序,而对于szCommand来说,若没有指定应用程序的路径,LaunchApp将在当前目录、Windows目录、Windows系统目录以及其他PATH环境变量指定的目录中进行查找。szCmdLine用来指定应用程序执行时的命令行参数,若没有,则将此参数设为NULL。lWait用来指定流程的返回方式,它可以是NOWAIT(立即返回)或WAIT(直到应用程序关闭或中断才将流程返回)。
         如果需要启动的应用程序需要的DLL文件不在Windows系统目录中,则需要调用ChangeDirectory函数来改变调用DLL的目录,例如下面的过程是通过LaunchAppAndWait函数执行另一个安装程序:
       (1)   启动InstallShield   5.5,将主安装项目调入。
       (2)   切换到项目工作区窗口的 "Setup   Files "页面,将次安装项目要发布的安装媒介下的文件全部调入用户指定的\目录下。
       (3)   在主安装项目的脚本程序中,添加下列语句:
      NUMBER   nResult;
      STRING   szDir;
      program
       ...
       szDir   =   SUPPORTDIR;
       StrRemoveLastSlash   (szDir);
       ChangeDirectory   (szDir);
       LaunchAppAndWait   (   SUPPORTDIR   ^ "Setup.exe   "   ,   " "   ,WAIT);
      endprogram
      (4)   将项目工作区窗口切换到Media页面,单击Media   Build   Wizard项,创建新的媒介。
      (5)   编译并运行

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/carl2380/archive/2010/12/20/6087256.aspx

  • 相关阅读:
    【转】The final local variable xxx cannot be assigned, since it is defined in an enclosing type
    Android开发UI之手动显示和隐藏软键盘
    ListView使用CursorAdapter增加和删除item
    转:LayoutInflater作用及使用
    Android开发之ContentValues
    Android开发:向下一个activity传递数据,返回数据给上一个activity
    Android开发之bug-No Activity found to handle Intent
    Android学习Service中遇到的问题
    You must supply a layout_width attribute的错误原因及解决办法
    Android:EditText 属性
  • 原文地址:https://www.cnblogs.com/carl2380/p/2093401.html
Copyright © 2020-2023  润新知