shardineblog 发表于 2009-7-17 11:22:10

360安全卫士自动安装脚本所遇到的问题

本帖最后由 shardineblog 于 2009-7-17 14:59 编辑

脚本内容如下

Run("360safe_5.2Beta3.exe")
WinWaitActive("360安全卫士 5.2.0.1012 安装", "欢迎使用“360安全卫士”安装向导")
ControlClick("360安全卫士 5.2.0.1012 安装", "下一步(&N) >", "Button2")
WinWaitActive("360安全卫士 5.2.0.1012 安装", "最终用户授权协议")
ControlClick("360安全卫士 5.2.0.1012 安装", "我接受(&I)", "Button2")
WinWaitActive("360安全卫士 5.2.0.1012 安装", "请选择安装位置")
;安装位置默认为:C:\Program Files\360\360Safe
ControlClick("360安全卫士 5.2.0.1012 安装", "安装(&I)", "Button2")
WinWaitActive("360安全卫士 5.2.0.1012 安装", "360安全卫士保险箱安装设置")
ControlCommand("360安全卫士 5.2.0.1012 安装", "立即安装360保险箱", "Button4", "UnCheck")
;不安装360保险箱
ControlClick("360安全卫士 5.2.0.1012 安装", "下一步(&N) >", "Button2")
WinWaitActive("360安全卫士 5.2.0.1012 安装", "正在完成“360安全卫士”安装向导")
ControlCommand("360安全卫士 5.2.0.1012 安装", "了解 360安全卫士","Button5", "UnCheck")
ControlClick("360安全卫士 5.2.0.1012 安装", "完成(&F)", "Button2")


这是今天刚刚写的,将360安装文件和脚本放置于同一文件夹,运行脚本后,仅仅是打开360安装文件,接下来就不走了。。。大家帮忙看一些原因好么?Thanks!

截图如下:
脚本及安装文件位于同一文件夹下:
http://odkdla.bay.livefilestore.com/y1phcl_NllnxdRyKw5LBxBB7Q8bltKMXAbtX4qvwPM2PYiVO__G9ktHUoCj5xCAr9MIRnrIbAC0O3jKlEmWSegu9GDoIUNZ5fC2/1.jpg

脚本内容
http://odkdla.bay.livefilestore.com/y1pbtPHvcN0AlWQ81phyNdvXMTbq_-tXk4tkf3Yigog2LWk3QiCcLWL-5_DUnYgXatCWi4CvEGmScBdQnERlmWLDFGUckHPEfDF/2.jpg

运行脚本后,仅仅是停留在运行安装程序界面,并不进行安装。截图如下:
http://odkdla.bay.livefilestore.com/y1p1-DeBPjFzxSVMbAtcWIUImsPSeKmqjPCHMzoYZEtAGh2YGoZeO92a2d8CpouLrmhoqo4g_CqBSdE3Dgl-sybDJklpFx-vTaj/3.jpg


经过仔细翻阅论坛的一些老帖子,自己已经找出了问题所在,那就是“360安全卫士 5.2.0.1012 安装”前面其实缺少了一个空格。这次已经可以使用!

附可用的脚本内容。


Run("360safe.exe")
TrayTip(" 360安全卫士 5.2.0.1012 安装", "安装期间,请勿作其他操作,否则可能导致安装失败", 10)
$A=" 360安全卫士 5.2.0.1012 安装"
WinWaitActive($A, "欢迎使用“360安全卫士”安装向导")
ControlClick($A, "下一步(&N) >", "Button2")
WinWaitActive($A, "最终用户授权协议")
ControlClick($A, "我接受(&I)", "Button2")
WinWaitActive($A, "请选择安装位置")
ControlClick($A, "安装(&I)", "Button2")
WinWaitActive($A, "360安全卫士保险箱安装设置")
ControlCommand($A, "立即安装360保险箱", "Button4", "UnCheck")
ControlClick($A, "下一步(&N) >", "Button2")
WinWaitActive($A, "正在完成“360安全卫士”安装向导")
ControlClick($A, "完成(&F)", "Button2")
FileDelete(@DesktopDir&"\360软件管家.lnk")
FileDelete(@DesktopDir&"\360安全卫士.lnk")
FileDelete(@DesktopDir&"\修复360安全卫士.lnk")



经过几次来回的折腾,发现语句也记得更准确了。

shardineblog 发表于 2009-7-17 11:28:47

我用的是紫光输入法,脚本的汉字,有些是用紫光输入法录入的。

难道脚本的运行会与输入法有关么?紫光为6.2版本,不支持Unicode编码。

shardineblog 发表于 2009-7-17 14:56:43

首先,我不得不承认,我犯了一个很低级的错误,那就是没有搜索一下就发问了。
其次,AutoIt Win Ifo 内的内容我看的不够仔细,因此给自动安装造成了一个致命的缺陷,导致无法安装。


问题的解决。
其实很简单,原来语句里 的“360安全卫士 5.2.0.1012 安装”前面其实是有一个空格的,缺少空格时,无法自动安装。

xytjc 发表于 2009-7-21 17:52:10

LLLOOOOOOOOOOOOK

xytjc 发表于 2009-7-21 17:54:01

LLLOOOOOOOOOOOOK

包谷面 发表于 2011-4-30 09:50:39

高人啊    我怎么都看不出有个   空格   
现在终于解决了{:1_544:}
页: [1]
查看完整版本: 360安全卫士自动安装脚本所遇到的问题