安装软体加上判断(已解決)
本帖最后由 CCM 于 2011-3-11 08:52 编辑搞了一个上午,还是做不出来,求助各位大俠
状况:
想弄个iTune的自动安装,有装过旧版本的Itune,会先出现移除的画面,这时候就移除旧的。如果没装过,就直接进行安装。
目前安装可以执行,但遇到移除时指令没作用,请问该怎么调整。
另外如果想改成,执行程序判断有无安装,有的话就移除,移除完毕后跟着安装,应该怎么改写?
谢谢了
if ProcessExists("outlook.exe") Then
ProcessClose("outlook.exe")
EndIf
Run("iTunesSetup.exe")
If WinWaitActive("iTunes + QuickTime","iTunes 让您在 PC、iPhone、iPad 或 iPod 上轻松享受喜爱的音乐") Then
send("!n")
WinWaitActive("iTunes + QuickTime","请仔细阅读下面的许可协议")
Send("!a")
send("!n")
WinWaitActive("iTunes + QuickTime","请选择要安装 iTunes 档案的数据夹并选择安装选项。")
send("!i")
WinWaitActive("iTunes + QuickTime","已顺利将 iTunes 安装到您的计算机上。")
send("!f")
msgbox(0,"iTune自动安装程序","安装完毕,请按确定继续。")
EndIf
If WinWaitActive("iTunes + QuickTime","请选择下方的一个选项。") Then
Send("!r")
WinWaitActive("iTunes + QuickTime","您要完全移除")
Send("!y")
WinWaitActive("iTunes + QuickTime","请选择下方的一个选项。")
send("!f")
EndIf
台湾的朋友?“会先出现移除的画面,这时候就移除旧的”没看懂
是不是想写一个判断语句
参考IF 。。。。THEN eNDIF 语句 就是如果已经安装过itune,执行安装程式时,会先出现询问移除软体的画面,这时候我要它先执行移除itune,然後再重新安装itune。因为如果用覆盖的,安装时间会非常久。
不过目前移除那边的程序都没反应,看别的讨论串做修改,觉得条件判断应该是没错,但就是不执行,所以来请教各位。 已经安装过itune,会在注册表里留下信息吧,安装的目录也能找到,先让脚本itune的执行卸载程式,再安装新的版本就好了吧,没用过itune 按照顺序自然也行,但主要想练习有关if、else判断式的写法,昨天摸索出来的结果如下
if FileExists(@ProgramFilesDir & "\iTunes\iTunes.exe") Then
run("iTunesSetup.exe")
WinWaitActive("iTunes + QuickTime","更改或移除 iTunes")
Send("!r")
WinWaitActive("iTunes + QuickTime","您要完全移除")
Send("!y")
WinWaitActive("iTunes + QuickTime","安装程序已完成")
send("!f")
msgbox(0,"iTune自动安装程序","软件已移除,请重新执行安装程序。",3)
Else
run("iTunesSetup.exe")
WinWaitActive("iTunes + QuickTime","欢迎使用 iTunes 安装程序")
send("!n")
WinWaitActive("iTunes + QuickTime","请仔细阅读下面的许可协议")
Send("!a")
send("!n")
WinWaitActive("iTunes + QuickTime","请选择要安装 iTunes 档案的数据夹并选择安装选项。")
send("!i")
WinWaitActive("iTunes + QuickTime","已顺利将 iTunes 安装到您的计算机上。")
send("!f")
msgbox(0,"iTune自动安装程序","软件已安装完毕,请按确定结束。")
EndIf
Exit
本帖最后由 骗子 于 2011-3-11 09:35 编辑
没做过自动安装,但是觉得按照楼主的要求可以这样写一个判断,就中文了
运行安装程序以后,判断出现的是安装窗口还是卸载窗口,如果是安装窗口的话直接安装,如果是卸载窗口的话就执行卸载,然后再运行一次安装程序,
run("iTunesSetup.exe") ;运行安装程序
if WinExists ( "移除窗口的标题" [, "移除窗口的标题"] );判断出现的窗口标题是不是卸载窗口
执行卸载操作
run("iTunesSetup.exe") ;运行安装程序
执行安装操作
else
执行安装操作
endif
没做过自动安装,但是觉得按照楼主的要求可以这样写一个判断,就中文了
运行安装程序以后,判断出现的是安装 ...
骗子 发表于 2011-3-11 09:33 http://www.autoitx.com/images/common/back.gif
谢谢
这判断方法我之前有测试过,不过很奇怪,条件无法作用,所以最後我改判断档案是否存在。 补充一下
if ... then
msgbox...
else
msgbox..
我一开始是这样加,判断if 跟 else 有无执行,结果都只有跑最上面。 专门下载了iTunes试了一下,下面的判断应该没问题
run("iTunesSetup.exe") ;运行安装程序
If WinExists("iTunes + QuickTime","若要安装 iTunes 与 QuickTime(iTunes 必不可少的部分)") Then
MsgBox(0, "", "你的系统里没有安装iTunes")
Else
MsgBox(0, "", "系统已经安装过iTunes,请先执行卸载过程")
EndIf
页:
[1]