100分急求安装结束调用另一安装包的问题! ( 积分: 100 )

  • 主题发起人 主题发起人 hairmen
  • 开始时间 开始时间
H

hairmen

Unregistered / Unconfirmed
GUEST, unregistred user!
没人回复啊,只好换个地方了:)

我想在完成之后调用另一个安装包中的setup.exe(另一安装包是第三方提供的了,也是用installshield制作,所用版本可能不同,在运行第一个安装包时已将第二个安装包拷贝到C:/test下了),
我是在OnEnd中调用的,在点击"完成"关闭第一个安装完成对话框后
将会调用第二安装程序,调用方法如下面代码,但就在第二个程序开始拷贝文件时出错,
其实是C://test目录已被删除了(其实第一个安装程序应该还没有彻底完成吧,
为第一个程序的安装背景还没有退出)。
function OnEnd()
begin
LaunchAppAndWait ("c://test"^"setup.exe", "", WAIT);
DeleteDir("c://test", ALLCONTENTS);
end;

请各位高手帮我一下吧,应该如何放置删除DeleteDir的位置才不会有问题啊!
 
如果都是installsheild做的,那就不难,因为installsheild提供了一套开发的接口的,如果你需要,留下你的email,我给你发过去。当然,如果不是installsheild做的,而且要用delphi来开发实现,那我建议你用才createprocess来启动安装程序,这个启动安装程序有个好处,能够返回句柄,那么等到第一个安装程序退出,那就启动后面的第二个安装程序。但是这个也有一个问题,因为现在比较大的软件 ,它在安装过程中都有启动别的安装程序的做法,这样的话就不能准确的处理了。
 
cqwty,太谢谢你了,我现在急着完成这个安装包的制作,还忙烦你给我一些指点啊。
我的mail是:jennieok@tom.com
 
我马上给你发,嘿嘿,希望你能够解决掉你的问题哈
 
我试了几下,有点不得要领啊,我试图找到第二个程序的运行窗口,如果找到就Delay主安装程序,可是试了几下没有成功。我继续再试。
 
你查一下createprocess,这个可以返回启动的外部程序的主窗体句柄的,还有就是,你没有必要使用delay哦,何况你也不知道需要delay多少时间萨,你最好用waitforsingle哦bject来处理。
 
能否也发一份给给我
helium-he@163.com
 
后退
顶部