如何用InstallShiled调用其他安装程序

xingyu9844 2003-09-15 08:51:01
如何用InstallShiled调用其他安装程序,并在其他安装程序结束后,重新启动原安装程序并把该界面窗体设为最顶层窗体。
...全文
123 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kelvengong 2003-11-25
  • 打赏
  • 举报
回复
如果不是安装第三方程序,那你可以用doinstall调用其他安装程序。
changlele 2003-11-24
  • 打赏
  • 举报
回复
function runWinCap()
STRING szProgram, szCmdLine;
NUMBER nResult;
begin
szProgram = TARGETDIR^"\\Program\\3.0beta-winpcap.exe";
szCmdLine = "";
if (LaunchAppAndWait(szProgram, szCmdLine, WAIT) < 0) //(regsvr32,Timebar.ocx,WAIT)
then MessageBox("Wincap安装不成功!", SEVERE);
endif;
return nResult;
end;
注意文件路径一定要放好(TARGETDIR^"\\Program\\3.0beta-winpcap.exe";)放在安装目录下了
kelvengong 2003-11-24
  • 打赏
  • 举报
回复
将你要安装的第三方程序放到support files中,然后再用launchappandwait调用它。
changlele 2003-11-23
  • 打赏
  • 举报
回复
这个问题我以前遇到过,已经解决了,明天带来一段代码你看看(赚点分)
klbt 2003-09-20
  • 打赏
  • 举报
回复
学习。
xingyu9844 2003-09-16
  • 打赏
  • 举报
回复
芹菜您好,LaunchAppAndWait方式以前用过,不灵,在98下就可以,我在windows2000下用了您提供的方式,可只是第一个安装程序机活了第二个安装程序,然后第一个安装程序可以继续运行而不管第二个安装程序,并没有等待(LaunchAppAndWait参数为wait,LaunchApp)我都用过不行。
而后我用动态库写了个快照程序,循环判断第二个程序是否结束,但在98下遇到了问题,使得第2个安装程序再运行完以后退不出来。高手帮我想想办法。
芹菜大哥 2003-09-15
  • 打赏
  • 举报
回复
赚点小分,以下是摘自手册:
如果要执行的另一个安装程序是第三方提供的安装程序,它可能只有一个可执行的文件。这时就要使用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) 编译并运行。

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧