hackboss 发表于 2009-2-26 18:35:06

如何让一个软件安装完后自动安装下一个软件?

今天第一次接触autoIT,感觉很不错.
我想把很多个软件弄在一个文件夹里面,然后一个一个的自动安装.
;安装Foxmail
Run("soft\foxmail.exe")
WinWait("安装 - Foxmail","Welcome")
send("{enter}");ControlClick("安装 - Foxmail","Welcome","TButton2")
WinWait("安装 - Foxmail","Foxmail是腾讯公司按照用户")
ControlClick("安装 - Foxmail","Foxmail是腾讯公司按照用户","TRadioButton2")
send("{enter}");ControlClick("安装 - Foxmail","Foxmail是腾讯公司按照用户","TButton2")
if WinWait("安装","将升级原来的Foxmail") = 1 Then
Send("{enter}")
EndIf
WinWait("安装 - Foxmail","Main")
ControlClick("安装 - Foxmail","Main","TButton2")
WinWait("安装 - Foxmail","在桌面创建快捷图标(D)")
ControlClick("安装 - Foxmail","在桌面创建快捷图标(D)","TButton2")
WinWait("安装 - Foxmail","Finished")
send("{enter}")
;我想把Foxmail安装完后自动安装金山词霸,但是运行不起来.
;-----金山词霸安装-----
Run("soft\king.exe")
WinWait("谷歌金山词霸合作版 安装","此向导将指引您安装")
send("{enter}")
WinWait("谷歌金山词霸合作版 安装 ","软件许可协议")
send("!A")
send("!N")
WinWait("谷歌金山词霸合作版 安装 ","选定安装位置")
send("!I")
WinWait("谷歌金山词霸合作版 安装 ","安装程序已经正确完成")
send("{enter}")
WinWait("谷歌金山词霸合作版 安装 ","已安装在您的系统")
send("!R")
send("{enter}")

请高手指点!谢谢

还有一个问题:
有些程序安装完后有两个复选框,而且默认是选中了的,用什么命令可以取消选中呢?
(比如Foxmail安装完后就有    查看 readme.txt   
                                                运行 Foxmail

[ 本帖最后由 hackboss 于 2009-2-27 10:13 编辑 ]

niheshang 发表于 2009-2-26 19:34:59

我们要把两个脚本编译成可安装文件1.exe和2.exe
再新增加一个脚本
脚本内容如下






run ("1.exe")                        ;运行第一个脚本的编译文件
ProcessWait("1.exe")                                ;暂停脚本运行直至检测到第一个脚本编译文件的进程
ProcessWaitclose("1.exe")                                ;暂停脚本运行,直至检测到第一个脚本编译文件的进程消失
if not ProcessExists("1.exe") Then run ("2.exe")                                ;如果检测不到第一个脚本编译文件的进程,则运行第二个脚本编译文件

hackboss 发表于 2009-2-26 20:34:23

回复 2# niheshang 的帖子

这也是个方法,谢谢!

但这样好麻烦哟,有没有更好的方法啊?

jackxiaozi 发表于 2009-2-26 21:11:40

runwait("1.exe")
run("2.exe")

ZEROBOYS 发表于 2009-2-27 05:16:11

基本上,一个良心建议...
一套软体封包(WinRAR)一次,再使用WPI或是这边能找到的自动安装程式选单...
WinRAR的部份为...以下提共完整范例

===
TempMode
Silent=1
Overwrite=1
Setup=Go.exe
===
打包内容为
SETUP.exe 主程式
Go.exe Autoit3 所建成的自动安装档
xxxxxx.......倘若里面有补钉?啥的...

至於看你回覆他人说麻烦? 我可以这样子说...我电脑少说200套 一键安装注册中文化版
你不另外使用专门的安装管理程式,到最後 只是本末倒置(单一软体改版快,你却包在一起)

还有你或许会矛盾,为何我不把主程式利用Autoit3一起包进去,原因很简单...
随着你玩语法技术的进步,你会注意到 当软体出新版本 仅需要改名为setup.exe 塞进压缩档覆盖...
OK...你的一键安装版 当场是最新版本(无痛升级),5-10秒解决一切...

[ 本帖最后由 ZEROBOYS 于 2009-2-27 05:21 编辑 ]

风行者 发表于 2009-2-27 07:27:36

窗口要在激活状态才可以

楼主的代码都是等待窗口出现而没有激活窗口啊!
在每行winwait下一行加上winactivate

[ 本帖最后由 风行者 于 2009-2-27 08:01 编辑 ]

xrbenbeba 发表于 2009-2-27 09:29:38

原帖由 风行者 于 2009-2-27 07:27 发表 http://www.autoitx.com/images/common/back.gif
窗口要在激活状态才可以

楼主的代码都是等待窗口出现而没有激活窗口啊!
在每行winwait下一行加上winactivate

正确:face (37):

hackboss 发表于 2009-2-27 10:09:44

回复 4# jackxiaozi 的帖子

感谢
runwait("1.exe")
run("2.exe")
runwait("2.exe")
run("3.exe")
runwait("3.exe")
.......
run("N.exe")

对吧??

hackboss 发表于 2009-2-27 10:12:04

回复 5# ZEROBOYS 的帖子

这个思路不错

thanks

hackboss 发表于 2009-2-27 10:13:11

回复 6# 风行者 的帖子



我去查一下这两个命令的区别先

谢谢

hackboss 发表于 2009-2-27 10:13:57

还有个问题请高手回答一下
页: [1]
查看完整版本: 如何让一个软件安装完后自动安装下一个软件?