elexy 发表于 2009-4-19 08:51:21

问一个比较难的软件安装脚本问题

请看附件中的安装界面,这个软件安装从始至终,标题都是 SAPSetup - SAP Front End Installer界面可能为了防止其他语言系统乱码,采用的是图片,用窗口信息工具查看不到其他可见文本,只有几个按钮上的字,但是每个界面都有这几个字。   这样WinWaitActive("SAPSetup - SAP Front End Installer","")后面的 " "就无参数可填。
举个例子:倒数第四行执行完后有一个复制文件的过程,可是不等文件复制完,后面三行语句就执行完了,造成了复制完文件后停在那里不动,用sleep不好把握时间,因为软件安装时间很长,不同机器性能差距很大,没办法控制时间。

请问大侠们有何好的解决方案,可以解决掉类似这样的安装程序的自动脚本问题?

脚本如下:
Run(".\PRES1\GUI\WINDOWS\WIN32\SapGuiSetup.exe")
WinWaitActive("SAPSetup - SAP Front End Installer")
send("!N")
sleep(500)
WinWaitActive("SAPSetup - SAP Front End Installer")
send("{TAB}")
sleep(500)
send("{TAB}")
sleep(500)
send("{space}")
sleep(500)
send("!N")
WinWaitActive("SAPSetup - SAP Front End Installer")
send("!N")
WinWaitActive("SAPSetup - SAP Front End Installer")
sleep(2000)
send("!F")

[ 本帖最后由 elexy 于 2009-4-20 13:51 编辑 ]

yeqing880 发表于 2009-4-22 15:08:44

sleep可不是个好办法,如果有一台老一点的机器很可能就不能正常安装

amwyygycep 发表于 2009-4-23 06:09:04

WinWait   暂停脚本的执行直至指定窗口存在(出现)为止.
可以加上:
winWait ("SAPSetup - SAP Front End Installer","")
winWaitActive ("SAPSetup - SAP Front End Installer","")


两个一起用,不用加sleep等待

qinguofang 发表于 2009-6-2 03:07:18

呵呵
我来顶下

nsdiy 发表于 2009-6-2 10:38:44

最好加点时间,同一个型号,配置一样的机器,性能可能有点差别,速度也不一样(特别是安装要连网的软件)
在200台以上,批量电脑上试验过多次,

dash82845633 发表于 2009-6-4 19:09:42

观望~哪位有解决办法;

ldj8181 发表于 2009-6-6 17:52:07

别用SLEEP非常 容易 出错   还 有 快捷键也 别 用

xcraft 发表于 2009-6-6 22:07:35

首先,樓主的軟件安裝程序是用什麼安裝程序打包的?msi?installshield? 如果是這些就不用autoit 了。

如果是很特別的不支援任何silent 安裝,你可以試試看看這個方法。它安裝後應該會在某個地方放檔案吧(就是安裝的檔案,你看看那個檔案是最後創建的),那你可以寫一個檔案檢查,如果檔案存在就執行下一步不就好了嗎?

kn007 发表于 2009-6-6 22:50:58

最好不要sleep与sent,用ControlClick

abendessen 发表于 2009-6-12 11:18:25

winwait("title","text")
winactive("title","text")
Please doesn't use "sleep" commond, you can't control time, if you system is difference.

asssd 发表于 2009-7-31 18:43:12

哪位有解决办法............
页: [1]
查看完整版本: 问一个比较难的软件安装脚本问题