semiono
09-11-2008, 23:18
; Java Runtime Environiment 1.6.0_07
$InstallPath=@ProgramFilesDir & "\Java\"
If FileExists(@SystemDir & "\java.exe") Then
Exit
Else
Blockinput(1)
Run("jre-6u7-windows-i586-p-s.exe")
EndIf
WinWaitActive("Java Setup - Welcome")
Sleep(300)
ControlClick("", "", "[Class:Button; Instance:4]", "left", 1)
Sleep(300)
ControlClick("", "", "[Class:Button; Instance:2]", "left", 1)
WinWaitActive("Java Setup - Custom", "Custom Setup")
Sleep(300)
ControlClick("", "", "[Class:SysTreeView32; Instance:1]", "left", 1, 55, 40)
Send("{DOWN 5}")
Sleep(300)
Send("{ENTER}")
Sleep(300)
Send("{UP 3}")
Sleep(300)
ControlClick("", "Custom Setup", "[Class:Button; Instance:1]", "left", 1)
WinWaitActive("Java Setup", "Change Current Destination Folder")
Sleep(300)
Send($InstallPath)
Sleep(300)
ControlClick("", "Change Current Destination Folder", "[Class:Button; Instance:1]", "left", 1)
WinWaitActive("Java Setup - Custom", "Custom Setup")
Sleep(300)
ControlClick("", "Custom Setup", "[Class:Button; Instance:4]", "left", 1)
WinWaitActive("Java Setup - Complete", "")
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
Blockinput(0)
RegWrite("HKLM\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Java", "", "REG_SZ", "&Java")
RegWrite("HKLM\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Java\command", "", "REG_SZ", @SystemDir & "\control.exe javacpl.cpl,,0")
;
RegWrite("HKCU\Software\JavaSoft\Java Update\Policy", "EnableAutoUpdateCheck", "REG_BINARY", "01000000d08c9ddf0115d1118c7a00c04fc297eb010000001975f2a9e936824fbc0ae15fc6a0d0f9000000001c0000005000 61007300730077006f007200640020004400610074006100000003660000a80000001000000036816277b863a2e41eedd7b1 6585ac1c0000000004800000a000000010000000f2fede231677b69c99a6f3f2184405250800000075bb4e220e65c3b01400 00005e0f6be8b61e3fd2c5cd5254eb6892df701405c7")
RegWrite("HKLM\Software\JavaSoft\Java Plug-in\1.6.0_07", "HideSystemTrayIcon", "REG_DWORD", "00000001")
RegWrite("HKLM\Software\JavaSoft\Java Update\Policy", "EnableJavaUpdate", "REG_DWORD", "00000000")
; Links
FileCreateShortcut(@SystemDir & "\control.exe", @UserProfileDir & "\SendTo\Config\Java.lnk", @SystemDir, "javacpl.cpl,,0", "Java", $InstallPath & "bin\java.exe", "", 0, @SW_SHOWNORMAL)
FileCreateShortcut(@SystemDir & "\control.exe", @ProgramsDir & "\Config\Java.lnk", @SystemDir, "javacpl.cpl,,0", "Java", $InstallPath & "bin\java.exe", "", 0, @SW_SHOWNORMAL)
;
FileSetAttrib($InstallPath & "COPYRIGHT", "-R")
FileSetAttrib($InstallPath & "LICENSE", "-R")
FileSetAttrib($InstallPath & "PATCH.ERR", "-R")
FileSetAttrib($InstallPath & "README.txt", "-R")
FileSetAttrib($InstallPath & "THIRDPARTYLICENSEREADME.txt", "-R")
FileSetAttrib($InstallPath & "Welcome.html", "-R")
;
FileDelete($InstallPath & "COPYRIGHT")
FileDelete($InstallPath & "LICENSE")
FileDelete($InstallPath & "PATCH.ERR")
FileDelete($InstallPath & "README.txt")
FileDelete($InstallPath & "THIRDPARTYLICENSEREADME.txt")
FileDelete($InstallPath & "Welcome.html")
;
FileDelete(@AppDataDir & "\Sun\Java\Deployment\deployment.properties")
;
$file = FileOpen(@AppDataDir & "\Sun\Java\Deployment\deployment.properties", 10)
FileWrite($file, "deployment.javaws.autodownload=never" & @CRLF)
FileWrite($file, "deployment.cache.max.size=1" & @CRLF)
FileWrite($file, "deployment.javaws.cache.update=false" & @CRLF)
FileWrite($file, "deployment.system.tray.icon=false" & @CRLF)
FileWrite($file, "deployment.version=6.0" & @CRLF)
FileWrite($file, "deployment.browser.vm.iexplorer=false" & @CRLF)
FileWrite($file, "deployment.javaws.associations=never" & @CRLF)
FileWrite($file, "deployment.cache.enabled=false" & @CRLF)
FileWrite($file, "deployment.javaws.shortcut=never" & @CRLF)
FileWrite($file, "deployment.console.startup.mode=disable" & @CRLF)
FileClose($file)
;
FileSetAttrib($InstallPath, "+R")
$file = FileOpen($InstallPath & "desktop.ini", 10)
FileWrite($file, "[.ShellClassInfo]" & @CRLF)
FileWrite($file, "IconFile=bin\java.exe" & @CRLF)
FileWrite($file, "IconIndex=0" & @CRLF)
FileClose($file)
Вот написал скриптик, кампилируем его и архивируем вместе с дистрибутивом от Sun,
затем можно из этого nLite хотфикс зделать:
[EditFile]
SVCPACK.INF,SetupHotfixesToRun,AddProgram
[AddProgram]
Java.exe
Так как я ньюб, меня в автоит испугало по началу вот это Class:SysTreeView32,
потому-что пришлось координатами X Y нажимать! Но всё обошлось. :)
Ещё один момент по автоиту, я вообще-то хотел запустить в конце консоль Javacpl.cpl,
чтобы отконфигурировать постинстал настройки, но удивительно,
что кнопки этого CPL-а совершенно не видно в Au3Info! Хм. забавно!
$InstallPath=@ProgramFilesDir & "\Java\"
If FileExists(@SystemDir & "\java.exe") Then
Exit
Else
Blockinput(1)
Run("jre-6u7-windows-i586-p-s.exe")
EndIf
WinWaitActive("Java Setup - Welcome")
Sleep(300)
ControlClick("", "", "[Class:Button; Instance:4]", "left", 1)
Sleep(300)
ControlClick("", "", "[Class:Button; Instance:2]", "left", 1)
WinWaitActive("Java Setup - Custom", "Custom Setup")
Sleep(300)
ControlClick("", "", "[Class:SysTreeView32; Instance:1]", "left", 1, 55, 40)
Send("{DOWN 5}")
Sleep(300)
Send("{ENTER}")
Sleep(300)
Send("{UP 3}")
Sleep(300)
ControlClick("", "Custom Setup", "[Class:Button; Instance:1]", "left", 1)
WinWaitActive("Java Setup", "Change Current Destination Folder")
Sleep(300)
Send($InstallPath)
Sleep(300)
ControlClick("", "Change Current Destination Folder", "[Class:Button; Instance:1]", "left", 1)
WinWaitActive("Java Setup - Custom", "Custom Setup")
Sleep(300)
ControlClick("", "Custom Setup", "[Class:Button; Instance:4]", "left", 1)
WinWaitActive("Java Setup - Complete", "")
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
Blockinput(0)
RegWrite("HKLM\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Java", "", "REG_SZ", "&Java")
RegWrite("HKLM\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Java\command", "", "REG_SZ", @SystemDir & "\control.exe javacpl.cpl,,0")
;
RegWrite("HKCU\Software\JavaSoft\Java Update\Policy", "EnableAutoUpdateCheck", "REG_BINARY", "01000000d08c9ddf0115d1118c7a00c04fc297eb010000001975f2a9e936824fbc0ae15fc6a0d0f9000000001c0000005000 61007300730077006f007200640020004400610074006100000003660000a80000001000000036816277b863a2e41eedd7b1 6585ac1c0000000004800000a000000010000000f2fede231677b69c99a6f3f2184405250800000075bb4e220e65c3b01400 00005e0f6be8b61e3fd2c5cd5254eb6892df701405c7")
RegWrite("HKLM\Software\JavaSoft\Java Plug-in\1.6.0_07", "HideSystemTrayIcon", "REG_DWORD", "00000001")
RegWrite("HKLM\Software\JavaSoft\Java Update\Policy", "EnableJavaUpdate", "REG_DWORD", "00000000")
; Links
FileCreateShortcut(@SystemDir & "\control.exe", @UserProfileDir & "\SendTo\Config\Java.lnk", @SystemDir, "javacpl.cpl,,0", "Java", $InstallPath & "bin\java.exe", "", 0, @SW_SHOWNORMAL)
FileCreateShortcut(@SystemDir & "\control.exe", @ProgramsDir & "\Config\Java.lnk", @SystemDir, "javacpl.cpl,,0", "Java", $InstallPath & "bin\java.exe", "", 0, @SW_SHOWNORMAL)
;
FileSetAttrib($InstallPath & "COPYRIGHT", "-R")
FileSetAttrib($InstallPath & "LICENSE", "-R")
FileSetAttrib($InstallPath & "PATCH.ERR", "-R")
FileSetAttrib($InstallPath & "README.txt", "-R")
FileSetAttrib($InstallPath & "THIRDPARTYLICENSEREADME.txt", "-R")
FileSetAttrib($InstallPath & "Welcome.html", "-R")
;
FileDelete($InstallPath & "COPYRIGHT")
FileDelete($InstallPath & "LICENSE")
FileDelete($InstallPath & "PATCH.ERR")
FileDelete($InstallPath & "README.txt")
FileDelete($InstallPath & "THIRDPARTYLICENSEREADME.txt")
FileDelete($InstallPath & "Welcome.html")
;
FileDelete(@AppDataDir & "\Sun\Java\Deployment\deployment.properties")
;
$file = FileOpen(@AppDataDir & "\Sun\Java\Deployment\deployment.properties", 10)
FileWrite($file, "deployment.javaws.autodownload=never" & @CRLF)
FileWrite($file, "deployment.cache.max.size=1" & @CRLF)
FileWrite($file, "deployment.javaws.cache.update=false" & @CRLF)
FileWrite($file, "deployment.system.tray.icon=false" & @CRLF)
FileWrite($file, "deployment.version=6.0" & @CRLF)
FileWrite($file, "deployment.browser.vm.iexplorer=false" & @CRLF)
FileWrite($file, "deployment.javaws.associations=never" & @CRLF)
FileWrite($file, "deployment.cache.enabled=false" & @CRLF)
FileWrite($file, "deployment.javaws.shortcut=never" & @CRLF)
FileWrite($file, "deployment.console.startup.mode=disable" & @CRLF)
FileClose($file)
;
FileSetAttrib($InstallPath, "+R")
$file = FileOpen($InstallPath & "desktop.ini", 10)
FileWrite($file, "[.ShellClassInfo]" & @CRLF)
FileWrite($file, "IconFile=bin\java.exe" & @CRLF)
FileWrite($file, "IconIndex=0" & @CRLF)
FileClose($file)
Вот написал скриптик, кампилируем его и архивируем вместе с дистрибутивом от Sun,
затем можно из этого nLite хотфикс зделать:
[EditFile]
SVCPACK.INF,SetupHotfixesToRun,AddProgram
[AddProgram]
Java.exe
Так как я ньюб, меня в автоит испугало по началу вот это Class:SysTreeView32,
потому-что пришлось координатами X Y нажимать! Но всё обошлось. :)
Ещё один момент по автоиту, я вообще-то хотел запустить в конце консоль Javacpl.cpl,
чтобы отконфигурировать постинстал настройки, но удивительно,
что кнопки этого CPL-а совершенно не видно в Au3Info! Хм. забавно!