本帖最后由 quboboo 于 2015-10-10 14:42 编辑
想做个自动安装 JAVA 的脚本,XP下是安装 JAVA7,WIN8、10这些就是安装 JAVA8,单独的JAVA7或者JAVA8的脚本我做好了,自动安装没有问题,现在是合起来的时候不工作,应该是我用IF和SELECT不熟悉引起的,请大家帮忙看下问题在哪,要实现的效果就是判断是XP系统后就安装JAVA7,非XP系统后就安装JAVA8同时如果是64位的就再加装64位JAVA,安装好后取消了一些启动项。我在64位WIN7下测试时,没有运行后半段进行安装直接就结束了,不知道哪里的问题,请指点,谢谢Opt("WinTitleMatchMode", 2)
WinMinimizeAll()
Select
;XP 系统安装下面的 JAVA 7
Case @OSVersion = "WIN_XP"
RunWait(@ScriptDir & "\jre-7u79-windows-i586.exe /s")
Sleep(1000)
;打开 JAVA 控制面板取消其自动更新
Opt("MouseCoordMode", 0)
;BlockInput(1)
Run(@ProgramFilesDir & "\Java\jre7\bin\javacpl.exe /qr")
WinWaitActive("Java 控制面板")
Do
Sleep(100)
Until MouseClick("left", 55, 35) = 1
MouseClick("left", 85, 155)
Sleep(1000)
If WinActive("Java Update") Then
MouseClick("left", 460, 170)
EndIf
WinWaitActive("Java 控制面板")
MouseClick("left", 315, 535)
;BlockInput(0)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "SunJavaUpdateSched")
RunWait(@ComSpec & " /c net stop JavaQuickStarterService", "", @SW_HIDE)
RunWait(@ComSpec & " /c sc config JavaQuickStarterService start= demand", "", @SW_HIDE)
Sleep(1000)
Case Else
;非 WindowsXP 安装下面的 JAVA 8
RunWait(@ScriptDir & "\jre-8-windows-i586.exe /s AUTO_UPDATE=Disable REBOOT=Disable NOSTARTMENU=Enable")
Sleep(1000)
;64位系统再加装64位 JAVA
If @OSArch = "X64" Then
RunWait(@ScriptDir & "\jre-8-windows-x64.exe /s AUTO_UPDATE=Disable REBOOT=Disable NOSTARTMENU=Enable")
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run", "SunJavaUpdateSched")
EndIf
Sleep(1000)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "SunJavaUpdateSched")
EndSelect
WinMinimizeAllUndo()
|