├── .gitattributes ├── .gitignore ├── Functions.vb ├── JREInstallObject.vb ├── JavaRa.ico ├── JavaRa.sln ├── JavaRa.vbproj ├── My Project ├── Application.Designer.vb ├── Application.myapp ├── AssemblyInfo.vb ├── Resources.Designer.vb ├── Resources.resx ├── Settings.Designer.vb ├── Settings.settings └── app.manifest ├── README.md ├── Resources ├── about.html ├── atom.png ├── clean.png ├── clear.png ├── credits.html ├── credits1.html ├── download.png ├── tools.png └── update.png ├── UI.Designer.vb ├── UI.resx ├── UI.vb ├── binaries └── JavaRa.exe ├── localizations ├── lang.Brazilian.locale ├── lang.Chinese (Simplified).locale ├── lang.Chinese (Traditional).locale ├── lang.Czech.locale ├── lang.Finnish.locale ├── lang.French.locale ├── lang.German.locale ├── lang.Hungarian.locale ├── lang.Italian.locale ├── lang.Polish.locale ├── lang.Russian.locale ├── lang.Spanish.locale └── output_strings.false ├── routines_interface.vb ├── routines_locales.vb └── routines_registry.vb /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ################# 2 | ## Eclipse 3 | ################# 4 | 5 | *.pydevproject 6 | .project 7 | .metadata 8 | bin/ 9 | tmp/ 10 | *.tmp 11 | *.bak 12 | *.swp 13 | *~.nib 14 | local.properties 15 | .classpath 16 | .settings/ 17 | .loadpath 18 | 19 | # External tool builders 20 | .externalToolBuilders/ 21 | 22 | # Locally stored "Eclipse launch configurations" 23 | *.launch 24 | 25 | # CDT-specific 26 | .cproject 27 | 28 | # PDT-specific 29 | .buildpath 30 | 31 | 32 | ################# 33 | ## Visual Studio 34 | ################# 35 | 36 | ## Ignore Visual Studio temporary files, build results, and 37 | ## files generated by popular Visual Studio add-ons. 38 | 39 | # User-specific files 40 | *.suo 41 | *.user 42 | *.sln.docstates 43 | 44 | # Build results 45 | [Dd]ebug/ 46 | [Rr]elease/ 47 | *_i.c 48 | *_p.c 49 | *.ilk 50 | *.meta 51 | *.obj 52 | *.pch 53 | *.pdb 54 | *.pgc 55 | *.pgd 56 | *.rsp 57 | *.sbr 58 | *.tlb 59 | *.tli 60 | *.tlh 61 | *.tmp 62 | *.vspscc 63 | .builds 64 | *.dotCover 65 | 66 | ## TODO: If you have NuGet Package Restore enabled, uncomment this 67 | #packages/ 68 | 69 | # Visual C++ cache files 70 | ipch/ 71 | *.aps 72 | *.ncb 73 | *.opensdf 74 | *.sdf 75 | 76 | # Visual Studio profiler 77 | *.psess 78 | *.vsp 79 | 80 | # ReSharper is a .NET coding add-in 81 | _ReSharper* 82 | 83 | # Installshield output folder 84 | [Ee]xpress 85 | 86 | # DocProject is a documentation generator add-in 87 | DocProject/buildhelp/ 88 | DocProject/Help/*.HxT 89 | DocProject/Help/*.HxC 90 | DocProject/Help/*.hhc 91 | DocProject/Help/*.hhk 92 | DocProject/Help/*.hhp 93 | DocProject/Help/Html2 94 | DocProject/Help/html 95 | 96 | # Click-Once directory 97 | publish 98 | 99 | # Others 100 | [Bb]in 101 | [Oo]bj 102 | sql 103 | TestResults 104 | *.Cache 105 | ClientBin 106 | stylecop.* 107 | ~$* 108 | *.dbmdl 109 | Generated_Code #added for RIA/Silverlight projects 110 | 111 | # Backup & report files from converting an old project file to a newer 112 | # Visual Studio version. Backup files are not needed, because we have git ;-) 113 | _UpgradeReport_Files/ 114 | Backup*/ 115 | UpgradeLog*.XML 116 | 117 | 118 | 119 | ############ 120 | ## Windows 121 | ############ 122 | 123 | # Windows image file caches 124 | Thumbs.db 125 | 126 | # Folder config file 127 | Desktop.ini 128 | 129 | 130 | ############# 131 | ## Python 132 | ############# 133 | 134 | *.py[co] 135 | 136 | # Packages 137 | *.egg 138 | *.egg-info 139 | dist 140 | build 141 | eggs 142 | parts 143 | bin 144 | var 145 | sdist 146 | develop-eggs 147 | .installed.cfg 148 | 149 | # Installer logs 150 | pip-log.txt 151 | 152 | # Unit test / coverage reports 153 | .coverage 154 | .tox 155 | 156 | #Translations 157 | *.mo 158 | 159 | #Mr Developer 160 | .mr.developer.cfg 161 | 162 | # Mac crap 163 | .DS_Store 164 | -------------------------------------------------------------------------------- /Functions.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.Win32 2 | Module Functions 3 | 4 | 'Determine if a file is in use 5 | Public Function FileInUse(ByVal sFile As String) As Boolean 6 | If System.IO.File.Exists(sFile) Then 7 | Try 8 | Dim F As Short = FreeFile() 9 | FileOpen(F, sFile, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite) 10 | FileClose(F) 11 | Catch 12 | Return True 13 | End Try 14 | End If 15 | Return False 16 | End Function 17 | 18 | 'Delete a file if it isn't in use 19 | Public Sub DeleteIfPermitted(ByVal path As String) 20 | Try 21 | If My.Computer.FileSystem.FileExists(path) = True Then 22 | If FileInUse(path) = False Then 23 | My.Computer.FileSystem.DeleteFile(path) 24 | End If 25 | End If 26 | Catch ex As Exception 27 | End Try 28 | End Sub 29 | 30 | 'Determine if a registry key exists 31 | Public Function RegKeyExists(ByVal key As String) As Boolean 32 | Try 33 | 34 | 'Filter any trailing backslashes, as they make everything go to hell. 35 | If key.EndsWith("\") Then 36 | key = key.TrimEnd(CChar("\")) 37 | End If 38 | 39 | 'preserve the original path 40 | Dim original_key As String = key 41 | 42 | 'Check for the existence of the subkey, assigning the key value to a predefined registry hive 43 | Dim regKey As Microsoft.Win32.RegistryKey 44 | If key.StartsWith("HKLM\") Then 45 | key = key.Replace("HKLM\", "") 46 | regKey = Registry.LocalMachine.OpenSubKey(key, True) 47 | ElseIf key.StartsWith("HKCU\") Then 48 | key = key.Replace("HKCU\", "") 49 | regKey = Registry.CurrentUser.OpenSubKey(key, True) 50 | ElseIf key.StartsWith("HKCR\") Then 51 | key = key.Replace("HKCR\", "") 52 | regKey = Registry.ClassesRoot.OpenSubKey(key, True) 53 | ElseIf key.StartsWith("HKCC\") Then 54 | key = key.Replace("HKCC\", "") 55 | regKey = Registry.CurrentConfig.OpenSubKey(key, True) 56 | ElseIf key.StartsWith("HKUS\") Then 57 | key = key.Replace("HKUS\", "") 58 | regKey = Registry.Users.OpenSubKey(key, True) 59 | Else 60 | 'prevent a null reference exeption in rare circumstances 61 | regKey = Nothing 62 | End If 63 | 64 | 'Conditional to check if key exists 65 | If regKey Is Nothing Then 'doesn't exist. Check for values. 66 | 67 | 'Values require the hive name to be specified. Do the replacement. 68 | If original_key.StartsWith("HKLM\") Then 69 | original_key = original_key.Replace("HKLM\", "HKEY_LOCAL_MACHINE\") 70 | ElseIf key.StartsWith("HKCU\") Then 71 | original_key = original_key.Replace("HKCU\", "HKEY_CURRENT_USER\") 72 | ElseIf original_key.StartsWith("HKCR\") Then 73 | original_key = original_key.Replace("HKCR\", "HKEY_CLASSES_ROOT\") 74 | ElseIf original_key.StartsWith("HKUS\") Then 75 | original_key = original_key.Replace("HKUS\", "HKEY_USERS\") 76 | ElseIf original_key.StartsWith("HKCC\") Then 77 | original_key = original_key.Replace("HKCC\", "HKEY_CURRENT_CONFIG\") 78 | End If 79 | 80 | 'Work out the valuename and subkey 81 | Dim last_index As String = original_key.LastIndexOf("\") 82 | Dim valueName As String = original_key.Remove(0, (last_index + 1)) 83 | original_key = original_key.Remove(last_index) 84 | 85 | 'Do the conditional on the specified value in the subkey 86 | Dim regValue As Object = Registry.GetValue(original_key, valueName, Nothing) 87 | If regValue Is Nothing Then 88 | Return False 89 | Else 90 | Return True 91 | End If 92 | 93 | Else 94 | 'It was the subkey after all, return true. 95 | Return True 96 | End If 97 | 98 | Catch ex As Exception 99 | 'An exception has occurred. Return false to be on the safe side. 100 | Return False 101 | End Try 102 | End Function 103 | 104 | 'Method for logging important events 105 | Public Sub write_log(ByVal message As String) 106 | Try 107 | Dim SW As IO.TextWriter 108 | SW = IO.File.AppendText(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\JavaRa-" & sanitze_str(CStr(Date.Today)) & ".log") 109 | SW.WriteLine(message) 110 | SW.Close() 111 | Catch ex As Exception 112 | End Try 113 | End Sub 114 | 115 | 'Method that logs exceptions 116 | Public Sub write_error(ByVal error_object As Exception) 117 | 118 | Try 119 | 'Get the exception data 120 | Dim source As String = Reflection.Assembly.GetCallingAssembly.GetName.Name 121 | Dim message As String = error_object.Message 122 | Dim stack As String = error_object.StackTrace 123 | 124 | 'Write it 125 | Dim exception_text As String = ("Exception encountered in module [" & source & "]" & _ 126 | Environment.NewLine & "Message: " & message & _ 127 | Environment.NewLine & stack & Environment.NewLine) 128 | write_log(exception_text) 129 | Catch ex As Exception 130 | End Try 131 | End Sub 132 | 133 | 'Remove unsafe characters from a string. Useful for formatting dates as NTFS-compatible filenames. 134 | Public Function sanitze_str(ByVal filename As String, Optional ByVal allowSpaces As Boolean = False) As String 135 | filename = filename.Replace("[", "") 136 | filename = filename.Replace("*]", "") 137 | 138 | 'Allow spaces 139 | If allowSpaces = False Then 140 | filename = filename.Replace(" ", "") 141 | End If 142 | 143 | filename = filename.Replace(")", "") 144 | filename = filename.Replace("(", "") 145 | filename = filename.Replace("/", "-") 146 | filename = filename.Replace("\", "-") 147 | filename = filename.Replace(":", "") 148 | filename = filename.Replace(".", "") 149 | filename = filename.Replace("'", "") 150 | 151 | Return filename 152 | End Function 153 | 154 | End Module 155 | -------------------------------------------------------------------------------- /JREInstallObject.vb: -------------------------------------------------------------------------------- 1 | Public Class JREInstallObject 2 | 3 | 'Instance variables 4 | Dim app_name As String 5 | Dim version_number As String 6 | Dim uninstall_string As String 7 | Dim _installed As Boolean = True 8 | 9 | 'Constructor to create an instance of the JREInstallObject class 10 | Sub New(ByVal name As String, ByVal version As String, ByVal uninstall As String) 11 | 12 | app_name = name 13 | version_number = version 14 | uninstall_string = uninstall 15 | 16 | End Sub 17 | 18 | 'Return the version number 19 | Public ReadOnly Property Version 20 | Get 21 | Return version_number 22 | End Get 23 | End Property 24 | 25 | 'Return the Application Name 26 | Public ReadOnly Property Name 27 | Get 28 | Return app_name 29 | End Get 30 | End Property 31 | 32 | 'Get the MSI uninstall string 33 | Public ReadOnly Property UninstallString 34 | Get 35 | Return uninstall_string 36 | End Get 37 | End Property 38 | 39 | 'Allow an object to be marked as uninstalled without removing it from the collection 40 | Public Property Installed 41 | Get 42 | Return _installed 43 | End Get 44 | Set(value) 45 | _installed = value 46 | End Set 47 | End Property 48 | 49 | End Class 50 | -------------------------------------------------------------------------------- /JavaRa.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/JavaRa.ico -------------------------------------------------------------------------------- /JavaRa.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.16 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "JavaRa", "JavaRa.vbproj", "{07C76606-90AF-449A-8006-CC6735FB4CA1}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Debug|x86 = Debug|x86 12 | Release|Any CPU = Release|Any CPU 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {07C76606-90AF-449A-8006-CC6735FB4CA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {07C76606-90AF-449A-8006-CC6735FB4CA1}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {07C76606-90AF-449A-8006-CC6735FB4CA1}.Debug|x86.ActiveCfg = Debug|x86 19 | {07C76606-90AF-449A-8006-CC6735FB4CA1}.Debug|x86.Build.0 = Debug|x86 20 | {07C76606-90AF-449A-8006-CC6735FB4CA1}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {07C76606-90AF-449A-8006-CC6735FB4CA1}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {07C76606-90AF-449A-8006-CC6735FB4CA1}.Release|x86.ActiveCfg = Release|x86 23 | {07C76606-90AF-449A-8006-CC6735FB4CA1}.Release|x86.Build.0 = Release|x86 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /JavaRa.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | x86 6 | 7 | 8 | 2.0 9 | {07C76606-90AF-449A-8006-CC6735FB4CA1} 10 | WinExe 11 | JavaRa.My.MyApplication 12 | JavaRa 13 | JavaRa 14 | 512 15 | WindowsForms 16 | v2.0 17 | 18 | 19 | x86 20 | true 21 | full 22 | true 23 | true 24 | bin\Debug\ 25 | JavaRa.xml 26 | 41999,42016,42017,42018,42019,42020,42021,42022,42032,42036 27 | 28 | 29 | 30 | 31 | x86 32 | pdbonly 33 | false 34 | true 35 | true 36 | bin\Release\ 37 | JavaRa.xml 38 | 41999,42016,42017,42018,42019,42020,42021,42022,42032,42036 39 | 40 | 41 | 42 | 43 | On 44 | 45 | 46 | Binary 47 | 48 | 49 | Off 50 | 51 | 52 | On 53 | 54 | 55 | JavaRa.ico 56 | 57 | 58 | true 59 | true 60 | true 61 | bin\Debug\ 62 | JavaRa.xml 63 | 41999,42016,42017,42018,42019,42020,42021,42022,42032,42036 64 | full 65 | AnyCPU 66 | false 67 | false 68 | false 69 | 70 | 71 | 72 | 73 | true 74 | bin\Release\ 75 | JavaRa.xml 76 | true 77 | 41999,42016,42017,42018,42019,42020,42021,42022,42032,42036 78 | pdbonly 79 | AnyCPU 80 | false 81 | false 82 | 83 | 84 | 85 | 86 | My Project\app.manifest 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | Form 109 | 110 | 111 | UI.vb 112 | Form 113 | 114 | 115 | 116 | True 117 | Application.myapp 118 | 119 | 120 | True 121 | True 122 | Resources.resx 123 | 124 | 125 | True 126 | Settings.settings 127 | True 128 | 129 | 130 | 131 | 132 | 133 | UI.vb 134 | 135 | 136 | VbMyResourcesResXFileCodeGenerator 137 | Resources.Designer.vb 138 | My.Resources 139 | Designer 140 | 141 | 142 | 143 | 144 | 145 | MyApplicationCodeGenerator 146 | Application.Designer.vb 147 | 148 | 149 | SettingsSingleFileGenerator 150 | My 151 | Settings.Designer.vb 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | xcopy "$(ProjectDir)localizations" "$(TargetDir)localizations" /e /y /i /r 173 | copy /Y "$(TargetDir)JavaRa.exe" "$(ProjectDir)binaries\JavaRa.exe" 174 | 175 | 176 | 177 | 178 | 179 | 186 | -------------------------------------------------------------------------------- /My Project/Application.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.225 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | 'NOTE: This file is auto-generated; do not modify it directly. To make changes, 18 | ' or if you encounter build errors in this file, go to the Project Designer 19 | ' (go to Project Properties or double-click the My Project node in 20 | ' Solution Explorer), and make changes on the Application tab. 21 | ' 22 | Partial Friend Class MyApplication 23 | 24 | _ 25 | Public Sub New() 26 | MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) 27 | Me.IsSingleInstance = false 28 | Me.EnableVisualStyles = true 29 | Me.SaveMySettingsOnExit = true 30 | Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses 31 | End Sub 32 | 33 | _ 34 | Protected Overrides Sub OnCreateMainForm() 35 | Me.MainForm = Global.JavaRa.UI 36 | End Sub 37 | End Class 38 | End Namespace 39 | -------------------------------------------------------------------------------- /My Project/Application.myapp: -------------------------------------------------------------------------------- 1 |  2 | 3 | true 4 | UI 5 | false 6 | 0 7 | true 8 | 0 9 | true 10 | -------------------------------------------------------------------------------- /My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' General Information about an assembly is controlled through the following 6 | ' set of attributes. Change these attribute values to modify the information 7 | ' associated with an assembly. 8 | 9 | ' Review the values of the assembly attributes 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 'The following GUID is for the ID of the typelib if this project is exposed to COM 21 | 22 | 23 | ' Version information for an assembly consists of the following four values: 24 | ' 25 | ' Major Version 26 | ' Minor Version 27 | ' Build Number 28 | ' Revision 29 | ' 30 | ' You can specify all the values or you can default the Build and Revision Numbers 31 | ' by using the '*' as shown below: 32 | ' 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.18034 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'This class was auto-generated by the StronglyTypedResourceBuilder 19 | 'class via a tool like ResGen or Visual Studio. 20 | 'To add or remove a member, edit your .ResX file then rerun ResGen 21 | 'with the /str option, or rebuild your VS project. 22 | ''' 23 | ''' A strongly-typed resource class, for looking up localized strings, etc. 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' Returns the cached ResourceManager instance used by this class. 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("JavaRa.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' Overrides the current thread's CurrentUICulture property for all 51 | ''' resource lookups using this strongly typed resource class. 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | 63 | ''' 64 | ''' Looks up a localized resource of type System.Drawing.Bitmap. 65 | ''' 66 | Friend ReadOnly Property clear() As System.Drawing.Bitmap 67 | Get 68 | Dim obj As Object = ResourceManager.GetObject("clear", resourceCulture) 69 | Return CType(obj,System.Drawing.Bitmap) 70 | End Get 71 | End Property 72 | 73 | ''' 74 | ''' Looks up a localized resource of type System.Drawing.Bitmap. 75 | ''' 76 | Friend ReadOnly Property download() As System.Drawing.Bitmap 77 | Get 78 | Dim obj As Object = ResourceManager.GetObject("download", resourceCulture) 79 | Return CType(obj,System.Drawing.Bitmap) 80 | End Get 81 | End Property 82 | 83 | ''' 84 | ''' Looks up a localized resource of type System.Drawing.Bitmap. 85 | ''' 86 | Friend ReadOnly Property tools() As System.Drawing.Bitmap 87 | Get 88 | Dim obj As Object = ResourceManager.GetObject("tools", resourceCulture) 89 | Return CType(obj,System.Drawing.Bitmap) 90 | End Get 91 | End Property 92 | 93 | ''' 94 | ''' Looks up a localized resource of type System.Drawing.Bitmap. 95 | ''' 96 | Friend ReadOnly Property update() As System.Drawing.Bitmap 97 | Get 98 | Dim obj As Object = ResourceManager.GetObject("update", resourceCulture) 99 | Return CType(obj,System.Drawing.Bitmap) 100 | End Get 101 | End Property 102 | End Module 103 | End Namespace 104 | -------------------------------------------------------------------------------- /My Project/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | ..\Resources\clear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 123 | 124 | 125 | ..\Resources\download.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 126 | 127 | 128 | ..\Resources\tools.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 129 | 130 | 131 | ..\Resources\update.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 132 | 133 | -------------------------------------------------------------------------------- /My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.225 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | _ 20 | Partial Friend NotInheritable Class MySettings 21 | Inherits Global.System.Configuration.ApplicationSettingsBase 22 | 23 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) 24 | 25 | #Region "My.Settings Auto-Save Functionality" 26 | #If _MyType = "WindowsForms" Then 27 | Private Shared addedHandler As Boolean 28 | 29 | Private Shared addedHandlerLockObject As New Object 30 | 31 | _ 32 | Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) 33 | If My.Application.SaveMySettingsOnExit Then 34 | My.Settings.Save() 35 | End If 36 | End Sub 37 | #End If 38 | #End Region 39 | 40 | Public Shared ReadOnly Property [Default]() As MySettings 41 | Get 42 | 43 | #If _MyType = "WindowsForms" Then 44 | If Not addedHandler Then 45 | SyncLock addedHandlerLockObject 46 | If Not addedHandler Then 47 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 48 | addedHandler = True 49 | End If 50 | End SyncLock 51 | End If 52 | #End If 53 | Return defaultInstance 54 | End Get 55 | End Property 56 | End Class 57 | End Namespace 58 | 59 | Namespace My 60 | 61 | _ 64 | Friend Module MySettingsProperty 65 | 66 | _ 67 | Friend ReadOnly Property Settings() As Global.JavaRa.My.MySettings 68 | Get 69 | Return Global.JavaRa.My.MySettings.Default 70 | End Get 71 | End Property 72 | End Module 73 | End Namespace 74 | -------------------------------------------------------------------------------- /My Project/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /My Project/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## JavaRa is no longer receiving updates. Please see the [Retiring JavaRa](https://singularlabs.com/news/site/retiring-javara/) post for more information. 2 | 3 | JavaRa 4 | ----------- 5 | 6 | JavaRa is a Windows application to simplify the process of updating, removing or deploying the Oracle Java Runtime Environment. 7 | 8 | Pre-compiled builds can be downloaded at http://singularlabs.com/software/javara/ 9 | 10 | Targets: Microsoft .NET Framework 2.0 11 | 12 | Compiler: Microsoft Visual Studio 2010 or Microsoft Visual Studio 2012 13 | -------------------------------------------------------------------------------- /Resources/about.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | About 6 | 7 | 8 | 9 | 10 |

11 | 12 | About JavaRa
13 | JavaRa is designed to simplify the process of deploying, updating and removing the Oracle Java Runtime Environment. The program is developed by SingularLabs and released for free under the liberal GNU General Public License version 2 or later.

14 | Icons: Origami Colored Pencil by Double-J Design.
15 | Original Idea: Fred De Vries.
16 | Developer: Shane Gowland at SingularLabs. 17 | 18 | 19 |
20 |

21 | 22 | 23 | -------------------------------------------------------------------------------- /Resources/atom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/Resources/atom.png -------------------------------------------------------------------------------- /Resources/clean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/Resources/clean.png -------------------------------------------------------------------------------- /Resources/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/Resources/clear.png -------------------------------------------------------------------------------- /Resources/credits.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | JavaRa support is available at the 8 | following locations:
9 |
10 | - JavaRa Documentation
13 | - SingularLabs Support Forum
16 |
17 | Professional, developer-provided 18 | support licenses will be available shortly.
19 | 20 | 21 | -------------------------------------------------------------------------------- /Resources/credits1.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | JavaRa 2.0:
8 |
9 |
10 | 11 | 12 | -------------------------------------------------------------------------------- /Resources/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/Resources/download.png -------------------------------------------------------------------------------- /Resources/tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/Resources/tools.png -------------------------------------------------------------------------------- /Resources/update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/Resources/update.png -------------------------------------------------------------------------------- /UI.vb: -------------------------------------------------------------------------------- 1 | Imports System.Net 2 | Imports Microsoft.Win32 3 | Public Class UI 4 | 5 | #Region "Global Variables/Declarations" 6 | 7 | 'Store the version number 8 | Dim version_number As String = "020500" 9 | 10 | 'Downloader variables 11 | Dim whereToSave As String 'Where the program save the file 12 | Delegate Sub ChangeTextsSafe(ByVal length As Long, ByVal position As Integer, ByVal percent As Integer, ByVal speed As Double) 13 | Delegate Sub DownloadCompleteSafe(ByVal cancelled As Boolean) 14 | Dim theResponse As HttpWebResponse 15 | Dim theRequest As HttpWebRequest 16 | 17 | 'Local variables used for command-line args 18 | Friend stay_silent As Boolean = False 'Self explanatory. 19 | 20 | 'Determine if program should restart when closed 21 | Dim reboot As Boolean = False 22 | 23 | 'Variable to count the number of removed items 24 | Friend removal_count As Integer = 0 25 | 26 | 'Variable to store the location of the config file 27 | Dim config_file As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\config.ini" 28 | 29 | 'List of uninstall object 30 | Public JREObjectList As New List(Of JREInstallObject) 31 | 32 | #End Region 33 | 34 | #Region "Opening/Closing JavaRa" 35 | 36 | 'Form closing/saving event 37 | Private Sub UI_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 38 | 'Save the settins to config.ini 39 | Try 40 | 'Remove the previous instance 41 | If My.Computer.FileSystem.FileExists(config_file) Then 42 | My.Computer.FileSystem.DeleteFile(config_file) 43 | End If 44 | 45 | 'Declare the textwriter 46 | Dim SW As IO.TextWriter 47 | SW = IO.File.AppendText(config_file) 48 | 49 | 'Do not save log if language is English 50 | If language = "English" = False Then : SW.WriteLine("Language:" & language) : End If 51 | 52 | 'Save the update check settings 53 | If boxUpdateCheck.Checked = False Then : SW.WriteLine("UpdateCheck:False") : End If 54 | 55 | 'Save the window size 56 | If boxPreserveUISize.Checked = True Then 57 | SW.WriteLine("WindowHeight:" & Me.Height) : SW.WriteLine("WindowWidth:" & Me.Width) 58 | End If 59 | 60 | 'Close the textwriter 61 | SW.Close() 62 | 63 | 'Delete the file if nothing was written to it. This is pretty much a hack job. 64 | If IO.File.Exists(config_file) = True Then 65 | Dim fileDetail = My.Computer.FileSystem.GetFileInfo(config_file) 66 | If fileDetail.Length = 0 Then 67 | My.Computer.FileSystem.DeleteFile(config_file) 68 | End If 69 | End If 70 | Catch ex As Exception 71 | End Try 72 | End Sub 73 | 74 | 'Form_Load event 75 | Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 76 | 77 | 'read config.ini to acquire settings 78 | If My.Computer.FileSystem.FileExists(config_file) Then 79 | Dim r As IO.StreamReader 80 | Dim rule As String 81 | Try 82 | r = New IO.StreamReader(config_file) 83 | Do While (r.Peek() > -1) 84 | rule = (r.ReadLine.ToString) 85 | 86 | 'Read language settings 87 | If (rule.StartsWith("Language:")) = True Then 88 | language = rule.Replace("Language:", "") 89 | End If 90 | 91 | 'Update check 92 | If rule = ("UpdateCheck:False") Then 93 | boxUpdateCheck.Checked = False 94 | End If 95 | 96 | 'Window size 97 | If (rule.StartsWith("WindowHeight:")) Then 98 | boxPreserveUISize.Checked = True 99 | Me.Height = CInt(rule.Replace("WindowHeight:", "")) 100 | ElseIf (rule.StartsWith("WindowWidth:")) Then 101 | boxPreserveUISize.Checked = True 102 | Me.Width = CInt(rule.Replace("WindowWidth:", "")) 103 | End If 104 | 105 | Loop 106 | r.Close() 107 | Catch ex As Exception 108 | write_error(ex) 109 | End Try 110 | End If 111 | 112 | 'Show available language files 113 | Try 114 | For Each script As String In My.Computer.FileSystem.GetFiles(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\localizations") 115 | 'Check whether it is actually a script 116 | If System.IO.Path.GetExtension(script) = ".locale" = True Then 117 | 118 | 'Get the name of the file 119 | Dim file_name As String = System.IO.Path.GetFileNameWithoutExtension(script) 120 | 121 | 'Ensure the file is a language file 122 | If file_name.StartsWith("lang.") Then 123 | 'Add it to the list of available languages 124 | boxLanguage.Items.Add(file_name.Replace("lang.", "")) 125 | 126 | End If 127 | End If 128 | Next 129 | Catch ex As Exception 130 | write_error(ex) 131 | End Try 132 | 133 | 'Get Current Windows UI Language 134 | If (language = Nothing Or language = "") Then 135 | Dim languageName = System.Globalization.CultureInfo.CurrentCulture.Name 136 | If languageName = "zh-CN" Then 137 | language = "Chinese (Simplified)" 138 | ElseIf languageName.StartsWith("zh") Then 139 | language = "Chinese (Traditional)" 140 | ElseIf languageName = "en" Then 141 | language = "English" 142 | ElseIf languageName.StartsWith("pt") Then 143 | language = "Brazilian" 144 | ElseIf languageName = "cs" Then 145 | language = "Czech" 146 | ElseIf languageName = "fi" Then 147 | language = "Finnish" 148 | ElseIf languageName = "fr" Then 149 | language = "French" 150 | ElseIf languageName = "de" Then 151 | language = "German" 152 | ElseIf languageName = "hu" Then 153 | language = "Hungarian" 154 | ElseIf languageName = "it" Then 155 | language = "Italian" 156 | ElseIf languageName = "pl" Then 157 | language = "Polish" 158 | ElseIf languageName = "ru" Then 159 | language = "Russian" 160 | ElseIf languageName = "es" Then 161 | language = "Spanish" 162 | End If 163 | End If 164 | 165 | 'Define the language JavaRa should load in 166 | Dim translated = translate_strings() 167 | If translated = True Then 168 | boxLanguage.Text = language 169 | Else 170 | language = "English" 171 | boxLanguage.Text = "English" 172 | End If 173 | 174 | 'Decide if UI should be displayed 175 | If My.Application.CommandLineArgs.Count > 0 Then 176 | For Each value As String In My.Application.CommandLineArgs 177 | 178 | 'Make value uppercase 179 | value = value.ToUpper 180 | 181 | 'Check for the presense of the /Silent option 182 | If value = "/SILENT" Then 183 | Me.Visible = False 184 | Me.Opacity = 0 185 | Me.ShowInTaskbar = False 186 | stay_silent = True 187 | End If 188 | Next 189 | If stay_silent = False Then 190 | 'Render the ui if no /Silent tag is detected 191 | Call render_ui() 192 | End If 193 | 'Parse command line arguements 194 | Select Case My.Application.CommandLineArgs(0).ToString.ToUpper 195 | Case "/PURGE" 196 | If stay_silent = True Then 197 | Call purge_jre() 198 | Me.Close() 199 | Else 200 | Call purge_jre() 201 | End If 202 | Case "/CLEAN" 203 | If stay_silent = True Then 204 | Call cleanup_old_jre() 205 | Me.Close() 206 | Else 207 | Call cleanup_old_jre() 208 | End If 209 | Case "/UNINSTALLALL" 210 | If stay_silent = True Then 211 | Call uninstall_all(stay_silent) 212 | Me.Close() 213 | Else 214 | Call uninstall_all() 215 | End If 216 | Case "/UPDATEDEFS" 217 | If stay_silent = True Then 218 | download_defs() 219 | Me.Close() 220 | Else 221 | btnUpdateDefs.PerformClick() 222 | End If 223 | Case "/SILENT" 224 | MessageBox.Show(get_string("Syntax Error. /SILENT is a secondary option to be used in combination with other command line options.") _ 225 | & get_string("It should not be the first option used, nor should it be used alone. Use /? for more information."), get_string("Syntax Error.")) 226 | Me.Close() 227 | Case "/?" 228 | MessageBox.Show("/PURGE -" & vbTab & vbTab & get_string("Removes all JRE related registry keys, files and directories.") & vbCrLf _ 229 | & "/CLEAN -" & vbTab & vbTab & get_string("Removes only JRE registry keys from previous version.") & vbCrLf _ 230 | & "/UNINSTALLALL -" & vbTab & get_string("Run the built-in uninstaller for all versions of JRE detected.") & vbCrLf _ 231 | & "/UPDATEDEFS -" & vbTab & get_string("Downloads a new copy of the JavaRa definitions.") & vbCrLf _ 232 | & "/SILENT -" & vbTab & vbTab & get_string("Hides the graphical user interface and suppresses all dialog") & vbCrLf _ 233 | & vbTab & vbTab & get_string("messages and error reports.") & vbCrLf _ 234 | & "/? -" & vbTab & vbTab & get_string("Displays this help dialog") & vbCrLf & vbCrLf _ 235 | & " " & get_string("Example: JavaRa /UPDATEDEFS /SILENT") & vbCrLf _ 236 | & " " & get_string("Example: JavaRa /UNINSTALLALL /SILENT") & vbCrLf, get_string("Command Line Parameters")) 237 | Me.Close() 238 | Case Else 239 | MessageBox.Show(get_string("Unsupported argument. Please use /PURGE, /CLEAN, /UNINSTALLALL, or /UPDATEDEFS") & vbCrLf _ 240 | & get_string("with, or without /SILENT."), get_string("Option Not Supported.")) 241 | Me.Close() 242 | End Select 243 | Else 244 | 'Render the UI if no command line arguments were used 245 | Call render_ui() 246 | End If 247 | 248 | 'Acquire the list of installed JREs 249 | get_jre_uninstallers() 250 | 251 | 'Check silently for updates 252 | If boxUpdateCheck.Checked Then 253 | Dim trd As Threading.Thread = New Threading.Thread(AddressOf check_for_update) 254 | trd.IsBackground = True 255 | trd.Start() 256 | End If 257 | 258 | End Sub 259 | 260 | 'Render the grid of icons on the main GUI 261 | Private Sub render_ui() 262 | 'Render the user interface 263 | Try 264 | 265 | 'First, clear the existing UI 266 | lvTools.Items.Clear() 267 | lbTasks.Items.Clear() 268 | 269 | Dim i As Bitmap 270 | Dim exePath As String 271 | 272 | 'Add icon for Java updater 273 | i = My.Resources.update 274 | ExecutableImages.Images.Add(get_string("Update Java Runtime"), i) 275 | exePath = get_string("Update Java Runtime") 276 | lvTools.Items.Add(get_string("Update Java Runtime"), exePath) 277 | 278 | 'Add icon for redundant cleaner 279 | i = My.Resources.clear 280 | ExecutableImages.Images.Add(get_string("Remove Java Runtime"), i) 281 | exePath = get_string("Remove Java Runtime") 282 | lvTools.Items.Add(get_string("Remove Java Runtime"), exePath) 283 | 284 | 'Add icon for definition updates 285 | i = My.Resources.download 286 | ExecutableImages.Images.Add(get_string("Update JavaRa Definitions"), i) 287 | exePath = get_string("Update JavaRa Definitions") 288 | lvTools.Items.Add(get_string("Update JavaRa Definitions"), exePath) 289 | 290 | 'Add icon for additional tools 291 | i = My.Resources.tools 292 | ExecutableImages.Images.Add(get_string("Additional Tasks"), i) 293 | exePath = get_string("Additional Tasks") 294 | lvTools.Items.Add(get_string("Additional Tasks"), exePath) 295 | 296 | 'Populate the list of tasks 297 | lbTasks.Items.Add(get_string("Remove startup entry")) 298 | lbTasks.Items.Add(get_string("Check Java version")) 299 | lbTasks.Items.Add(get_string("Remove Outdated JRE Firefox Extensions")) 300 | lbTasks.Items.Add(get_string("Clean JRE Temp Files")) 301 | 302 | Catch ex As Exception 303 | write_error(ex) 304 | End Try 305 | 306 | 'Set the user interface 307 | If boxPreserveUISize.Checked = False Then 308 | Me.Width = 460 309 | Me.Height = 260 310 | End If 311 | 312 | Call return_home() 'Sets the GUI to the start position 313 | 314 | 315 | End Sub 316 | 317 | 'Perform the reboot 318 | Public Sub reboot_app() 319 | reboot = True 320 | Me.Close() 321 | End Sub 322 | 323 | 'After the form has closed, reboot it 324 | Private Sub UI_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed 325 | 'Allow for a reboot 326 | If reboot = True Then 327 | Process.Start(System.Reflection.Assembly.GetExecutingAssembly. _ 328 | GetModules()(0).FullyQualifiedName) 329 | End If 330 | 331 | 'Log language file errors 332 | 'Output the locale errors 333 | If IO.File.Exists(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\localizations\output_strings.true") And (language = "English" = False) Then 334 | For Each untranslated_string As String In routines_locales.untranslated_strings 335 | Try 336 | Dim SW As IO.TextWriter 337 | SW = IO.File.AppendText(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\debug-errors." & language.ToUpper & ".log") 338 | SW.WriteLine(untranslated_string) 339 | SW.Close() 340 | Catch ex As Exception 341 | End Try 342 | Next 343 | End If 344 | 345 | End Sub 346 | 347 | #End Region 348 | 349 | #Region "Additional Tools and cleaning functions" 350 | 351 | 'Iterates through checkedlistbox and decides which functions need to be run 352 | Private Sub btnRun_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRun.Click 353 | 'Check if anything is selected 354 | If lbTasks.CheckedItems.Count = 0 Then : ToolTip1.Show(get_string("You didn't select any tasks to be performed."), lblTitle) : Exit Sub : End If 355 | 356 | 'Check for startup entry 357 | If lbTasks.CheckedItems.Contains(get_string("Remove startup entry")) Then 358 | delete_jre_startup_entries() 359 | End If 360 | 361 | 'Check Java version 362 | If lbTasks.CheckedItems.Contains(get_string("Check Java version")) Then 363 | output_jre_version() 364 | End If 365 | 366 | 'Remove firefox extensions 367 | If lbTasks.CheckedItems.Contains(get_string("Remove Outdated JRE Firefox Extensions")) Then 368 | delete_jre_firefox_extensions() 369 | End If 370 | 371 | 'Clean JRE temp files 372 | If lbTasks.CheckedItems.Contains(get_string("Clean JRE Temp Files")) Then 373 | Call clean_jre_temp_files() 374 | End If 375 | 376 | 'Show some user feedback 377 | ToolTip1.Show(get_string(get_string("Selected tasks completed successfully.")), lblTitle) 378 | End Sub 379 | 380 | 'Read the list of defs and remove the files and registry keys specified 381 | Private Sub btnCleanup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCleanup.Click 382 | Call cleanup_old_jre() 383 | End Sub 384 | 385 | #End Region 386 | 387 | #Region "Update Java Downloader/Backgroundworker" 388 | 389 | 'Downloads the specified file in a thread. 390 | Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork 391 | 392 | 'Creating the request and getting the response 393 | Dim theResponse As HttpWebResponse 394 | Dim theRequest As HttpWebRequest = WebRequest.Create(Me.txtFileName.Text) 395 | 396 | Try 'Checks if the file exist 397 | 398 | theResponse = theRequest.GetResponse 399 | Catch ex As Exception 400 | MessageBox.Show(get_string("An error occurred while downloading file. Possible causes:") & ControlChars.CrLf & _ 401 | get_string("1) File doesn't exist") & ControlChars.CrLf & _ 402 | get_string("2) Remote server error"), get_string("Error"), MessageBoxButtons.OK, MessageBoxIcon.Error) 403 | Dim cancelDelegate As New DownloadCompleteSafe(AddressOf DownloadComplete) 404 | Me.Invoke(cancelDelegate, True) 405 | Exit Sub 406 | End Try 407 | 408 | 'Delete previous instances of Me.whereToSave 409 | If IO.File.Exists(Me.whereToSave) Then 410 | DeleteIfPermitted(Me.whereToSave) 411 | End If 412 | 413 | Dim length As Long = theResponse.ContentLength 'Size of the response (in bytes) 414 | ' MsgBox(theResponse.ContentLength) 'Used for troubleshooting 415 | 416 | 'Hack to prevent negative length exploding shit 417 | If length < 1 Then 418 | length = 550000 419 | End If 420 | 421 | Dim safedelegate As New ChangeTextsSafe(AddressOf ChangeTexts) 422 | Me.Invoke(safedelegate, length, 0, 0, 0) 'Invoke the TreadsafeDelegate 423 | Dim writeStream As New IO.FileStream(Me.whereToSave, IO.FileMode.Create) 424 | 'Replacement for Stream.Position (webResponse stream doesn't support seek) 425 | Dim nRead As Integer 426 | 'To calculate the download speed 427 | Dim currentspeed As Double = -1 428 | Do 429 | 430 | 'Test for cancellation 431 | If BackgroundWorker1.CancellationPending Then 'If user abort download 432 | IO.File.Delete(Me.whereToSave) 433 | Dim cancelDelegate As New DownloadCompleteSafe(AddressOf DownloadComplete) 434 | Me.Invoke(cancelDelegate, True) 435 | Exit Sub 436 | End If 437 | 438 | 439 | Dim readBytes(4095) As Byte 440 | Dim bytesread As Integer = theResponse.GetResponseStream.Read(readBytes, 0, 4096) 441 | nRead += bytesread 442 | 443 | 'Calculate the progress bar 444 | Dim percent As Short = ProgressBar2.Value 445 | Try 446 | percent = (nRead * 100) / length 447 | Catch ex As Exception 448 | End Try 449 | 450 | 'Update the UI 451 | Me.Invoke(safedelegate, length, nRead, percent, currentspeed) 452 | If bytesread = 0 Then Exit Do 453 | writeStream.Write(readBytes, 0, bytesread) 454 | 455 | Loop 456 | 'Close the streams 457 | theResponse.GetResponseStream.Close() 458 | writeStream.Close() 459 | 460 | Dim completeDelegate As New DownloadCompleteSafe(AddressOf DownloadComplete) 461 | Me.Invoke(completeDelegate, False) 462 | End Sub 463 | 464 | 'Code that runs when background worker has completed. 465 | Public Sub DownloadComplete(ByVal cancelled As Boolean) 466 | Me.txtFileName.Enabled = True 467 | btnDownload.Enabled = True 468 | 469 | If cancelled Then 470 | MessageBox.Show(get_string("Download has been cancelled."), get_string("Cancelled."), MessageBoxButtons.OK, MessageBoxIcon.Information) 471 | Else 472 | 473 | End If 474 | Me.ProgressBar1.Value = 0 : Me.ProgressBar3.Value = 0 475 | 'Just in case of a minor exception 476 | Me.lblStep1.Text = "" 477 | 478 | 'Call the exe on completion 479 | If Me.whereToSave = My.Computer.FileSystem.SpecialDirectories.Temp & "\java-installer.exe" Then 480 | If IO.File.Exists(My.Computer.FileSystem.SpecialDirectories.Temp & "\java-installer.exe") Then 481 | ProgressBar2.Value = 95 482 | Shell(My.Computer.FileSystem.SpecialDirectories.Temp & "\java-installer.exe", AppWinStyle.NormalFocus, True) 483 | ProgressBar2.Value = 100 484 | Me.Button1.Enabled = True 485 | Me.Button4.Enabled = True 486 | End If 487 | Else 488 | ToolTip1.Show(get_string("JavaRa definitions updated successfully"), ToolStrip1) 489 | End If 490 | 491 | Me.Cursor = Cursors.Default 492 | End Sub 493 | 494 | 'Update the progress bar while a file is being downloaded. Shared between multiple downloaders. 495 | Public Sub ChangeTexts(ByVal length As Long, ByVal position As Integer, ByVal percent As Integer, ByVal speed As Double) 496 | Me.ProgressBar2.Value = percent 497 | ProgressBar3.Value = percent 498 | End Sub 499 | 500 | 'Start the background worker by supplying essential "what to download?" information. 501 | Private Sub btnDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDownload.Click 502 | Me.Cursor = Cursors.WaitCursor 503 | 'Confirm the connection to the server 504 | Try 505 | theRequest = WebRequest.Create("http://content.thewebatom.net/files/confirm.txt") 506 | theResponse = theRequest.GetResponse 507 | 508 | 'Set the path to the corrrect JRE url 509 | If IO.Directory.Exists("C:\Program Files (x86)") Then 510 | txtFileName.Text = "http://singularlabs.com/download/jrex64/latest/" 511 | Else 512 | txtFileName.Text = "http://singularlabs.com/download/jrex86/latest/" 513 | End If 514 | 515 | 516 | Catch ex As Exception 517 | MessageBox.Show(get_string("Could not make a connection to download server. Please see our online help for assistance.") & Environment.NewLine & get_string("This error can be caused by incorrect proxy settings or a security product conflict."), get_string("An error was encountered."), MessageBoxButtons.OK, MessageBoxIcon.Error) 518 | Me.Cursor = Cursors.Default 519 | btnDownload.Enabled = False 520 | Exit Sub 521 | End Try 522 | 523 | 'Set some paths and variables 524 | Me.whereToSave = My.Computer.FileSystem.SpecialDirectories.Temp & "\java-installer.exe" 525 | Me.txtFileName.Enabled = False 526 | Me.btnDownload.Enabled = False 527 | Me.Button1.Enabled = False 528 | Me.Button4.Enabled = False 529 | Me.BackgroundWorker1.RunWorkerAsync() 'Start download 530 | End Sub 531 | 532 | 'Update the JavaRa definitions 533 | Private Sub btnUpdateDefs_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdateDefs.Click 534 | download_defs() 535 | End Sub 536 | 537 | #End Region 538 | 539 | #Region "Uninstall/Reinstall Java Runtime environment" 540 | 541 | 'Read the list of defs and remove the files and registry keys specified 542 | Private Sub btnRemoveKeys_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemoveKeys.Click 543 | Call purge_jre() 544 | End Sub 545 | 546 | 'Run the uninstaller depending on which combobox item is selected. 547 | Private Sub btnRunUninstaller_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRunUninstaller.Click 548 | 'Check for blank selection 549 | If cboVersion.Text = "" Then 550 | MessageBox.Show(get_string("Please select a version of JRE to remove.")) 551 | End If 552 | 553 | 'Uninstall the Java corresponding to the selected combobox item 554 | For Each InstalledJRE As JREInstallObject In JREObjectList 555 | 556 | 'Check if it's the right version 557 | If InstalledJRE.Name = cboVersion.Text Then 558 | 559 | Try 560 | 561 | 'Don't do this twice 562 | If InstalledJRE.Installed = True Then 563 | 564 | 'Call the uninstaller 565 | Shell(InstalledJRE.UninstallString, AppWinStyle.NormalFocus, True) 566 | 567 | 'Remove the item from the combobox 568 | cboVersion.Items.Remove(InstalledJRE.Name) 569 | InstalledJRE.Installed = False 570 | 571 | 'Disable the stuff if nothing remaining 572 | If cboVersion.Items.Count = 0 Then 573 | cboVersion.Enabled = False 574 | btnRunUninstaller.Enabled = False 575 | End If 576 | 577 | End If 578 | 579 | Catch ex As Exception 580 | If stay_silent = False Then 581 | MessageBox.Show(get_string("Could not locatate uninstaller for") & " " & cboVersion.Text, get_string("Uninstaller not found"), MessageBoxButtons.OK, MessageBoxIcon.Error) 582 | End If 583 | write_error(ex) 584 | End Try 585 | 586 | End If 587 | 588 | Next 589 | 590 | End Sub 591 | 592 | 'Launch the appropriate method for checking the JRE version installed. 593 | Private Sub btnUpdateNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdateNext.Click 594 | 'Decide which method the user wishes to check for updates with 595 | If boxOnlineCheck.Checked = True Then 596 | If MessageBox.Show(get_string("Would you like to open the Oracle online JRE version checker?"), get_string("Launch online check"), MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then 597 | 598 | 'This needs to be localized 599 | If language = "French" Then 600 | Process.Start("http://java.com/fr/download/installed.jsp") 601 | ElseIf language = "Brazilian" Then 602 | Process.Start("http://java.com/pt_BR/download/installed.jsp") 603 | ElseIf language = "German" Then 604 | Process.Start("http://java.com/de/download/installed.jsp") 605 | ElseIf language = "Polish" Then 606 | Process.Start("http://www.java.com/pl/download/installed.jsp") 607 | ElseIf language = "Russian" Then 608 | Process.Start("http://www.java.com/ru/download/installed.jsp") 609 | ElseIf language = "Spanish" Then 610 | Process.Start("http://www.java.com/es/download/installed.jsp") 611 | ElseIf language = "Chinese (Simplified)" Then 612 | Process.Start("http://www.java.com/zh_CN/download/installed.jsp") 613 | ElseIf language = "Chinese (Traditional)" Then 614 | Process.Start("http://www.java.com/zh_TW/download/installed.jsp") 615 | Else 616 | Process.Start("http://java.com/en/download/installed.jsp") 617 | End If 618 | Exit Sub 619 | End If 620 | 621 | 622 | 'fill with new panel 623 | show_panel(pnlCompleted) 624 | 625 | 'Change the label 626 | lblCompleted.Text = get_string("step 2 - completed.") 627 | End If 628 | 629 | If boxDownloadJRE.Checked = True Then 630 | 631 | 'fill with new panel 632 | show_panel(pnlDownload) 633 | 634 | 'Update the label 635 | lblDownloadNewVersion.Text = get_string("step 2 - download new version") 636 | 637 | End If 638 | 639 | If boxJucheck.Checked Then 640 | Try 641 | 'Create a variable to contain the path 642 | Dim path As String = Nothing 643 | 644 | 'Get the path to jucheck.exe (x64 systems) 645 | If My.Computer.FileSystem.FileExists("C:\Program Files (x86)\Common Files\Java\Java Update\jucheck.exe") Then 646 | path = "C:\Program Files (x86)\Common Files\Java\Java Update\jucheck.exe" 647 | End If 648 | 649 | 'x86 systems. 650 | If My.Computer.FileSystem.FileExists("C:\Program Files\Common Files\Java\Java Update\jucheck.exe") Then 651 | path = "C:\Program Files\Common Files\Java\Java Update\jucheck.exe" 652 | End If 653 | 654 | 'Inform user if JRE does not exist 655 | If path = Nothing Then 656 | MessageBox.Show(get_string("Java Update Checking Utility (jucheck.exe) could not be found on your system."), get_string("Could not locate jucheck.exe")) 657 | Else 658 | Shell(path, AppWinStyle.NormalFocus, True) 659 | End If 660 | 661 | 'Show the next panel 662 | show_panel(pnlCleanup) 663 | 664 | 'Change the label 665 | lblCompleted.Text = get_string("step 3 - completed.") 666 | 667 | 'Catch any errors 668 | Catch ex As Exception 669 | write_error(ex) 670 | End Try 671 | End If 672 | End Sub 673 | 674 | 'Decide which step of the process the downloader should be. 675 | Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 676 | If lblDownloadNewVersion.Text = get_string("step 3 - download new version") Then 677 | show_panel(pnlRemoval) 678 | End If 679 | 'Java update mode 680 | If lblDownloadNewVersion.Text = get_string("step 2 - download new version") Then 681 | show_panel(pnlUpdateJRE) 682 | End If 683 | End Sub 684 | 685 | 'This launches the manual download page. Auto-jumped to the Windows section. 686 | Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked 687 | Process.Start("http://www.java.com/en/download/manual.jsp#win") 688 | End Sub 689 | 690 | #End Region 691 | 692 | #Region "User interface navigation" 693 | 694 | 'Open the appropriate subtool 695 | Private Sub lvTools_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lvTools.Click 696 | 'Handles click events on the main GUI and loads the correct panel. 697 | For Each file As ListViewItem In lvTools.Items 698 | If file.Selected = True Then 699 | Dim path As String = file.SubItems(0).Text 700 | If path = get_string("Additional Tasks") Then 701 | show_panel(PanelExtra) 702 | End If 703 | If path = get_string("Remove Java Runtime") Then 704 | 705 | 'Reset the ComboBox control 706 | cboVersion.Items.Clear() 707 | 708 | 'Get the list of installed JRE items 709 | For Each InstalledJRE As JREInstallObject In JREObjectList 710 | cboVersion.Items.Add(InstalledJRE.Name) 711 | Next 712 | 713 | show_panel(Step1) 714 | 715 | 'Make sure there are some uninstallers found. If not, display a message. 716 | 'The opposite output needs to be explicitly coded, as users may run this function twice. 717 | If cboVersion.Items.Count = 0 Then 718 | cboVersion.Enabled = False 719 | lblStep1.Text = get_string("No uninstaller found. Please press 'next' to continue") 720 | btnRunUninstaller.Enabled = False 721 | Else 722 | btnRunUninstaller.Enabled = True 723 | cboVersion.Enabled = True 724 | lblStep1.Text = get_string("We recommend that you try running the Java Runtime Environment's built-in") & Environment.NewLine & get_string("uninstaller before you continue.") 725 | End If 726 | 727 | End If 728 | If path = get_string("Update JavaRa Definitions") Then 729 | show_panel(pnlUpdate) 730 | End If 731 | If path = get_string("Update Java Runtime") = True Then 732 | show_panel(pnlUpdateJRE) 733 | End If 734 | End If 735 | Next 736 | End Sub 737 | 738 | 'Navigate to step #2 of removal process. 739 | Private Sub btnStep1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStep1.Click 740 | show_panel(pnlRemoval) 741 | End Sub 742 | 743 | 'Make sure the correct "step-label" is displayed when moving the step 3 744 | Private Sub btnStep2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStep2.Click 745 | show_panel(pnlDownload) 746 | End Sub 747 | 748 | 'Decide if the user wishes to close JavaRa or continue using it 749 | Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click 750 | If btnCloseWiz.Checked = True Then 751 | 752 | 'Reset the UI 753 | Call return_home() 754 | 755 | 'Reset the list of uninstallers 756 | get_jre_uninstallers() 757 | 758 | 'Reset the label text 759 | lblCompleted.Text = get_string("step 4 - completed.") 760 | 761 | Else 762 | Me.Close() 763 | End If 764 | End Sub 765 | 766 | 'Navigate to step #4 767 | Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 768 | 'Clear progress bars 769 | ProgressBar2.Value = 0 770 | ProgressBar3.Value = 0 771 | 772 | show_panel(pnlCompleted) 773 | 774 | 'Display correct label on completion page 775 | If lblDownloadNewVersion.Text = get_string("step 3 - download new version") Then 776 | lblCompleted.Text = get_string("step 4 - completed.") 777 | ElseIf lblDownloadNewVersion.Text = get_string("step 2 - download new version") Then 778 | lblCompleted.Text = get_string("step 3 - completed.") 779 | End If 780 | End Sub 781 | 782 | 'Return to panel #1 783 | Private Sub btnPrev1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev1.Click 784 | show_panel(Step1) 785 | End Sub 786 | 787 | 'Show the settings panel in the UI 788 | Private Sub btnSettings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSettings.Click 789 | show_panel(PanelSettings) 790 | End Sub 791 | 792 | 'Return to the home page whenever a back button is pressed 793 | Private Sub Return_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click, Button11.Click, Button12.Click, btnUpdateJavaPrevious.Click, Button8.Click, Button2.Click 794 | Call return_home() 795 | End Sub 796 | 797 | 'Load the about page 798 | Private Sub btnAbout_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbout.Click 799 | show_panel(pnlAbout) 800 | End Sub 801 | Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 802 | show_panel(pnlUpdateJRE) 803 | End Sub 804 | Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click 805 | show_panel(pnlCompleted) 806 | End Sub 807 | 808 | #End Region 809 | 810 | #Region "Configuration & Updating" 811 | 812 | 'Change the current language selection 813 | Private Sub btnSaveLang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveLang.Click 814 | 'Temporarily store the previous language 815 | Dim initial_lang As String = language 816 | 817 | 'Update the language global 818 | language = boxLanguage.Text 819 | 820 | 'Ensure that user has actually changed the settings 821 | If initial_lang = language Then 822 | 823 | Else 824 | 825 | If initial_lang = "English" Then 826 | 827 | 'Initial language is English; we can directly translate the control. 828 | Call translate_strings() 829 | 830 | 'Re-render the UI 831 | Call render_ui() 832 | Else 833 | 'If the initial language wasn't English then reboot 834 | MessageBox.Show(get_string("Your changes will take effect when JavaRa is restarted.")) 835 | Call reboot_app() 836 | Me.Close() 837 | End If 838 | End If 839 | End Sub 840 | 841 | 'Prevent the language settings from doing dumb stuff. 842 | Private Sub boxLanguage_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles boxLanguage.SelectedIndexChanged 843 | If boxLanguage.Text <> language Then 844 | btnSaveLang.Enabled = True 845 | Else 846 | btnSaveLang.Enabled = False 847 | End If 848 | End Sub 849 | 850 | 'This delegate allows the update notification to show across threads. 851 | Public Delegate Sub ShowNotification(ByVal data As Boolean) 852 | Public Sub UI_Thread_Show_Notification(ByVal data As Boolean) 853 | If MessageBox.Show(get_string("A new version of JavaRa is available! Visit download page?"), get_string("Update Available"), MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then 854 | Process.Start("http://singularlabs.com/software/javara/javara-download/") 855 | End If 856 | End Sub 857 | 858 | 'Invokation method so that dialog can be shown on UI thread. 859 | Public Sub show_threaded_dialog() 860 | lblTitle.BeginInvoke(New ShowNotification(AddressOf UI_Thread_Show_Notification), False) 861 | End Sub 862 | 863 | 'Method that performs the update check 864 | Public Sub check_for_update() 865 | 866 | 'Download the current version definition file 867 | Try 868 | 869 | 'Store the path to the version tag online. 870 | Dim version_tag_url As String = "http://content.thewebatom.net/updates/javara/version.tag" 871 | 872 | 'Variable to hold the version tag after it's downloaded 873 | Dim version_tag_path As String = My.Computer.FileSystem.SpecialDirectories.Temp & "\javaraversion.tag" 874 | 875 | 'Download and store the file containing the version number 876 | Dim req As Net.WebRequest 877 | Dim resp As IO.Stream 878 | Dim out As IO.BinaryWriter 879 | req = Net.HttpWebRequest.Create(version_tag_url) 880 | resp = req.GetResponse().GetResponseStream() 881 | out = New IO.BinaryWriter(New IO.FileStream(version_tag_path, IO.FileMode.OpenOrCreate)) 882 | Dim buf(4096) As Byte 883 | Dim k As Int32 = resp.Read(buf, 0, 4096) 884 | Do While k > 0 885 | out.Write(buf, 0, k) 886 | k = resp.Read(buf, 0, 4096) 887 | Loop 888 | 889 | 'Close the downloader methods 890 | resp.Close() 891 | out.Close() 892 | 893 | 'Run a version comparison 894 | If IO.File.Exists(version_tag_path) Then 895 | Dim r As IO.StreamReader 896 | Dim newVersionNumber As String 897 | r = New IO.StreamReader(version_tag_path) 898 | Do While (r.Peek() > -1) 899 | newVersionNumber = (r.ReadLine.ToString) 900 | Dim oldVersionNumber As String = version_number 'Read from global variable 901 | If newVersionNumber.Length = oldVersionNumber.Length = False Then 902 | 'Version strings are a different length. Exit gracefully. 903 | End 904 | End If 905 | If CInt(newVersionNumber) > CInt(oldVersionNumber) Then 906 | 907 | 'A new version of JavaRa is available. 908 | Call show_threaded_dialog() 909 | 910 | End If 911 | Loop 912 | End If 913 | 914 | Catch ex As Exception 915 | 'Discard silently 916 | End Try 917 | 918 | End Sub 919 | 920 | 'Download the definition file without the background worker 921 | Private Sub download_defs() 922 | Me.Cursor = Cursors.WaitCursor 923 | 924 | 'Confirm the connection to the server 925 | Try 926 | theRequest = WebRequest.Create("http://content.thewebatom.net/files/confirm.txt") 927 | theResponse = theRequest.GetResponse 928 | 'Set the path to the rules 929 | txtFileName.Text = "http://content.thewebatom.net/updates/javara/JavaRa.def" 930 | Catch ex As Exception 931 | MessageBox.Show(get_string("Could not make a connection to download server. Please see our online help for assistance.") & Environment.NewLine & get_string("This error can be caused by incorrect proxy settings or a security product conflict."), get_string("An error was encountered."), MessageBoxButtons.OK, MessageBoxIcon.Error) 932 | Me.Cursor = Cursors.Default 933 | btnDownload.Enabled = False 934 | Exit Sub 935 | End Try 936 | 937 | 'Set some paths and variables 938 | Me.whereToSave = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\JavaRa.def" 939 | Me.txtFileName.Enabled = False 940 | Me.btnUpdateDefs.Enabled = False 941 | Me.btnDownload.Enabled = False 942 | 943 | 'If running silently, the background worker does not work correctly. 944 | 'Use a standard WebClient downloader instead 945 | If stay_silent = True Then 946 | My.Computer.Network.DownloadFile(txtFileName.Text, Me.whereToSave, "", "", False, 100, True) 947 | Else 948 | Me.BackgroundWorker1.RunWorkerAsync() 'Start download 949 | End If 950 | 951 | Me.Cursor = Cursors.Default 952 | End Sub 953 | 954 | #End Region 955 | End Class 956 | 957 | -------------------------------------------------------------------------------- /binaries/JavaRa.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/binaries/JavaRa.exe -------------------------------------------------------------------------------- /localizations/lang.Brazilian.locale: -------------------------------------------------------------------------------- 1 | //* translated by: Igor Rückert 2 | //* email: igorruckert@yahoo.com.br 3 | 4 | Update Java Runtime|Atualizar Java Runtime 5 | Remove JRE|Remover JRE 6 | Update JavaRa Definitions|Atualizar Definições do JavaRa 7 | update JavaRa definitions|atualizar definições do JavaRa 8 | Additional Tasks|Tarefas Adicionais 9 | Remove startup entry|Remover entrada de inicialização 10 | Check Java version|Verificar versão do Java 11 | Remove Outdated JRE Firefox Extensions|Remover extensões desatualizadas do JRE no Firefox 12 | JavaRa 2.0 loaded without incident. Checking system...|JavaRa 2.0 carregado com sucesso. Verificando sistema... 13 | Operating System:|Sistema Operacional: 14 | Save|Salvar 15 | Save Settings|Salvar Configurações 16 | Back|Voltar 17 | Program Language|Idioma do Programa 18 | Create a log file|Criar arquivo de log 19 | program settings|Configurações do Programa 20 | Use Jucheck.exe tool|Usar ferramenta Jucheck.exe 21 | Previous|Anterior 22 | Next|Próximo 23 | Download and install latest version|Baixar e instalar última versão 24 | Perform online version check|Realizar verificação online 25 | JavaRa can update JRE by either performing an online version check, or|O JavaRa pode atualizar o JRE realizando uma verificação online, 26 | downloading and re-installing the program - regardless of version.|ou baixando e reinstalando o programa - independente da versão. 27 | step 1 - select update method|passo 1 - selecione o método de atualização 28 | step 1 - run the uninstaller|passo 1 - executar desinstalador 29 | step 2 - download new version|passo 2 - baixar nova versão 30 | step 2 - perform removal routine|passo 2 - executar rotina de remoção 31 | step 2 - completed.|passo 2 - completado. 32 | step 3 - download new version|passo 3 - baixar nova versão 33 | step 3 - completed.|passo 3 - completado. 34 | step 4 - completed.|passo 4 - completado. 35 | Back|Voltar 36 | Download|Baixar 37 | Would you like to download and install the latest version of the JavaRa |Deseja baixar e instalar a última versão das definições do JavaRa? 38 | definitions? These are used to find and remove every last trace of JRE.|Estas são usadas para encontrar e remover qualquer traço restante do JRE. 39 | update JavaRa definitions|atualizar deninições do JavaRa 40 | Run|Executar 41 | Finish|Finalizar 42 | Exit JavaRa|Sair do JavaRa 43 | Close this wizard|Fechar assistente 44 | The process is complete. Select an option to continue.|Processo completado. Selecione uma opção para continuar. 45 | Java Manual Download|Download Manual do Java 46 | Would you like to download and install the latest version of JRE? |Deseja baixar e instalar a última versão do JRE? 47 | Use this interface.|Usa esta interface. 48 | Perform Removal Routine|Executar Remoção 49 | Perform Cleanup Routine|Executar Limpeza 50 | The removal routine will delete files, folder and registry entries that are known|A rotina de remoção irá apagar arquivos, pastas e entradas do registro conhecidos por 51 | to be associated with the Java Runtime Environment. It is recommended you |serem associados com versões antigas do Java Runtime Environment. É recomendável 52 | update the program definitions prior to running.|atualizar as definições do programa antes de executar. 53 | Only complete this step if you want to remove the newest JRE version|Somente complete este passo se você deseja remover a última versão do JRE 54 | Run Uninstaller|Executar Desinstalador 55 | We recommend that you try running the Java Runtime Environment's built-in|Recomendamos que você execute o desinstalador incluso 56 | uninstaller before you continue.|do Java Runtime Environment antes de continuar. 57 | Would you like to open the Oracle online JRE version checker?|Deseja abrir a verificação online do JRE da Oracle? 58 | Launch online check|Executar verificação online 59 | version 2.0 beta 3|versão 2.0 beta 3 60 | JavaRa|JavaRa 61 | Settings|Configurações 62 | Support|Suporte 63 | About JavaRa|Sobre o JavaRa -------------------------------------------------------------------------------- /localizations/lang.Chinese (Simplified).locale: -------------------------------------------------------------------------------- 1 | //* translated by: Danfong Hsieh 2 | //* blog: blog.yam.com/danfong 3 | JavaRa definitions updated successfully|JavaRa 定义更新成功 4 | Automatically check for updates|自动检查更新 5 | Could not locate jucheck.exe|找不到 jucheck.exe 6 | Java Update Checking Utility (jucheck.exe) could not be found on your system.|在您的系统上找不到 Java 更新检查工具(jucheck.exe)。 7 | Remove JRE|移除 JRE 8 | Update Java Runtime|更新 Java Runtime 9 | Remove Older Versions|移除旧版本 10 | Update JavaRa Definitions|更新 JavaRa 定义 11 | Additional Tasks|其他任务 12 | Settings|设置 13 | Support|支持 14 | About JavaRa|关于 JavaRa 15 | Back|上一步 16 | Previous|上一步 17 | Next|下一步 18 | Save Settings|保存设置 19 | Program Language|界面语言 20 | step 1 - select update method|步骤 1 - 选择更新方法 21 | JavaRa can update JRE by either performing an online version check, or|JavaRa 可以在线检查更新以更新 JRE 或 22 | downloading and re-installing the program - regardless of version.|下载并重新安装程序(与版本无关)来更新 JRE。 23 | Use Jucheck.exe tool|使用 jucheck.exe 工具 24 | Perform online version check|检查更新 25 | Download and install latest version|下载并安装最新版本 26 | Would you like to open the Oracle online JRE version checker?|您要开启 Oracle JRE 在线版本检查吗? 27 | Launch online check|启动在线版本检查 28 | step 2 - completed|步骤 2 - 完成 29 | step 2 - completed.|步骤 2 - 完成。 30 | step 2 - download new version|步骤 2 - 下载新版本 31 | step 3 - completed.|步骤 3 - 完成。 32 | Would you like to download and install the latest version of JRE? |您要下载并安装最新版本的 JRE 吗? 33 | Use this interface.|使用此介面。 34 | The process is complete. Select an option to continue.|程序完成。请选择选项并继续。 35 | Close this wizard|返回主界面 36 | Exit JavaRa|关闭 JavaRa 37 | Finish|完成 38 | step 1 - run the uninstaller|步骤 1 - 执行卸载程序 39 | We recommend that you try running the Java Runtime Environment's built-in|在这之前,我们建议您试着执行 Java Runtime Environment 的 40 | uninstaller before you continue.|內建卸载程序。 41 | Run Uninstaller|执行卸载程序 42 | Only complete this step if you want to remove the newest JRE version|如果您想移除最新的 JRE 版本,请完成此步骤 43 | step 2 - perform removal routine|步骤 2 - 执行移除程序 44 | step 2 - perform cleanup routine|步骤 2 - 执行清除程序 45 | Perform Cleanup Routine|执行清除程序 46 | The removal routine will delete files, folder and registry entries that are known|移除程序将删除档案、资料和登录密码(已知与 47 | to be associated with the older versions of the Java Runtime Environment|旧版本 Java Runtime Environment 相关联) 48 | to be associated with the Java Runtime Environment. It is recommended you |Java Runtime Environment 相关联)。建议您 49 | update the program definitions prior to running.|執行前先更新程序定义。 50 | Perform Removal Routine|执行移除程序 51 | step 3 - download new version|步骤 3 - 下载新版本 52 | Download|下载 53 | Java Manual Download|手动下载 Java 54 | step 4 - completed.|步骤 4 - 完成。 55 | update JavaRa definitions|更新 JavaRa 定义 56 | Would you like to download and install the latest version of the JavaRa |您要下载并安装最新版本的 JavaRa 57 | definitions? These are used to find and remove every last trace of JRE.|定义吗?这些用来寻找并移除每个 JRE 的最后痕迹。 58 | Remove startup entry|移除启动项 59 | Check Java version|检查 Java 版本 60 | Remove Outdated JRE Firefox Extensions|移除过时的 JRE Firefox 插件 61 | Run|执行 62 | Selected tasks completed successfully.|所选的任务已成功完成。 63 | About JavaRa|关闭 JavaRa 64 | Create a log file|建立日志 65 | program settings|设置 66 | You didn't select any tasks to be performed.|您没有选择任何任务。 67 | JavaRa 2.0 loaded without incident. Checking system...|JAVARa 2.0 载入沒有发生任何事件。正在检查系统... 68 | Operating System:|操作系统: 69 | Save|保存 70 | Please select a version of JRE to remove.|请选择要移除的 JRE 版本。 71 | Your changes will take effect when JavaRa is restarted.|您的设置将在 JavaRa 重启后生效。 72 | Removal routine completed successfully.|移除程序已成功完成。 73 | items have been deleted.|项目已删除。 74 | Removal Routine Complete|移除程序完成 75 | Syntax Error. /SILENT is a secondary option to be used in combination with other command line options.|语法错误。 /SILENT 是次要选项,与其他命令列选项结合使用。 76 | It should not be the first option used, nor should it be used alone. Use /? for more information|它不应是第一个使用的选项,也不应单独使用。使用 /? 取得更多信息 77 | Syntax Error.|语法错误。 78 | Removes all JRE related registry keys, files and directories|删除所有 JRE 相关的登录密码、档案和目录 79 | Removes only JRE registry keys from previous version.|只移除旧版本的 JRE 登录密码。 80 | Run the built-in uninstaller for all versions of JRE detected|执行所有搜索到的 JRE 版本其卸载程序 81 | Downloads a new copy of the JavaRa definitions.|下载新的 JavaRa 定义副本。 82 | Hides the graphical user interface and suppresses all dialog|隐藏图形化使用界面,并禁止显示所有对话框 83 | messages and error reports.|信息和错误报告。 84 | Displays this help dialog|显示此帮助信息 85 | Example: JavaRa /UPDATEDEFS /SILENT|实例: JavaRa /UPDATEDEFS /SILENT 86 | Example: JavaRa /UNINSTALLALL /SILENT|实例: JavaRa /UNINSTALLALL /SILENT 87 | Command Line Parameters|命令列参数 88 | Unsupported argument. Please use /PURGE, /CLEAN, /UNINSTALLALL, or /UPDATEDEFS|不支持的参数。请使用 /PURGE, /CLEAN, /UNINSTALLALL 或 /UPDATEDEFS 89 | with, or without /SILENT.|用或不用 /SILENT。 90 | Option Not Supported.|不支持该选项。 91 | Clean JRE Temp Files|删除 JRE 临时文件 92 | No uninstaller found. Please press 'next' to continue|找不到卸载程序。点击 [下一步] 继续 93 | Download|下载 94 | version 2.2|版本 2.2 -------------------------------------------------------------------------------- /localizations/lang.Chinese (Traditional).locale: -------------------------------------------------------------------------------- 1 | //* translated by: Danfong Hsieh 2 | //* blog: blog.yam.com/danfong 3 | JavaRa definitions updated successfully|JavaRa 定義更新成功 4 | Automatically check for updates|自動檢查更新 5 | Could not locate jucheck.exe|找不到 jucheck.exe 6 | Java Update Checking Utility (jucheck.exe) could not be found on your system.|您的系統上找不到 Java 更新檢查工具(jucheck.exe)。 7 | Remove JRE|移除 JRE 8 | Update Java Runtime|更新 Java Runtime 9 | Remove Older Versions|移除舊版本 10 | Update JavaRa Definitions|更新 JavaRa 定義 11 | Additional Tasks|其餘任務 12 | Settings|設定 13 | Support|支援 14 | About JavaRa|關於 JavaRa 15 | Back|上一步 16 | Previous|上一步 17 | Next|下一步 18 | Save Settings|儲存設定 19 | Program Language|程式語言 20 | step 1 - select update method|步驟 1 - 選擇更新方法 21 | JavaRa can update JRE by either performing an online version check, or|JavaRa 可以藉由執行線上版本檢查或 22 | downloading and re-installing the program - regardless of version.|下載並重新安裝程式(與版本無關)來更新 JRE。 23 | Use Jucheck.exe tool|使用 jucheck.exe 工具 24 | Perform online version check|執行線上版本檢查 25 | Download and install latest version|下載並安裝最新版本 26 | Would you like to open the Oracle online JRE version checker?|您要開啟 Oracle 線上 JRE 版本檢查程式嗎? 27 | Launch online check|啟動線上檢查 28 | step 2 - completed|步驟 2 - 完成 29 | step 2 - completed.|步驟 2 - 完成。 30 | step 2 - download new version|步驟 2 - 下載新版本 31 | step 3 - completed.|步驟 3 - 完成。 32 | Would you like to download and install the latest version of JRE? |您要下載並安裝最新版本的 JRE 嗎? 33 | Use this interface.|使用此介面。 34 | The process is complete. Select an option to continue.|程序完成。請選擇選項後繼續。 35 | Close this wizard|關閉此精靈 36 | Exit JavaRa|結束 JavaRa 37 | Finish|完成 38 | step 1 - run the uninstaller|步驟 1 - 執行解除安裝程式 39 | We recommend that you try running the Java Runtime Environment's built-in|在您繼續前,我們建議您試著執行 Java Runtime Environment 的 40 | uninstaller before you continue.|內建解除安裝程式。 41 | Run Uninstaller|執行解除安裝程式 42 | Only complete this step if you want to remove the newest JRE version|如果您想移除最新的 JRE 版本,僅完成此步驟 43 | step 2 - perform removal routine|步驟 2 - 執行移除程序 44 | step 2 - perform cleanup routine|步驟 2 - 執行清除程序 45 | Perform Cleanup Routine|執行清除程序 46 | The removal routine will delete files, folder and registry entries that are known|移除程序將刪除檔案、資料夾和登錄機碼(已知與 47 | to be associated with the older versions of the Java Runtime Environment|舊版本 Java Runtime Environment 相關聯) 48 | to be associated with the Java Runtime Environment. It is recommended you |Java Runtime Environment 相關聯)。建議您 49 | update the program definitions prior to running.|執行前先更新程式定義。 50 | Perform Removal Routine|執行移除程序 51 | step 3 - download new version|步驟 3 - 下載新版本 52 | Download|下載 53 | Java Manual Download|Java 手動下載 54 | step 4 - completed.|步驟 4 - 完成。 55 | update JavaRa definitions|更新 JavaRa 定義 56 | Would you like to download and install the latest version of the JavaRa |您要下載並安裝最新版本的 JavaRa 57 | definitions? These are used to find and remove every last trace of JRE.|定義嗎?這些用來尋找並移除每個 JRE 的最後痕跡。 58 | Remove startup entry|移除啟動項 59 | Check Java version|檢查 Java 版本 60 | Remove Outdated JRE Firefox Extensions|移除過時的 JRE Firefox 擴充套件 61 | Run|執行 62 | Selected tasks completed successfully.|所選的任務已成功完成。 63 | About JavaRa|關於 JavaRa 64 | Create a log file|建立記錄檔 65 | program settings|程式設定 66 | You didn't select any tasks to be performed.|您沒有選擇任何任務供執行。 67 | JavaRa 2.0 loaded without incident. Checking system...|JAVARa 2.0 載入沒有發生任何事件。正在檢查系統... 68 | Operating System:|作業系統: 69 | Save|儲存 70 | Please select a version of JRE to remove.|請選擇要移除的 JRE 版本。 71 | Your changes will take effect when JavaRa is restarted.|您的變更將在 JavaRa 重新啟動後生效。 72 | Removal routine completed successfully.|移除程序已成功完成。 73 | items have been deleted.|項目已刪除。 74 | Removal Routine Complete|移除程序完成 75 | Syntax Error. /SILENT is a secondary option to be used in combination with other command line options.|語法錯誤。 /SILENT 是次要選項,與其他命令列選項組合使用。 76 | It should not be the first option used, nor should it be used alone. Use /? for more information|它不應是第一個使用的選項,也不應單獨使用。使用 /? 取得更多資訊 77 | Syntax Error.|語法錯誤。 78 | Removes all JRE related registry keys, files and directories|移除所有 JRE 相關的登錄機碼、檔案和目錄 79 | Removes only JRE registry keys from previous version.|僅移除先前版本的 JRE 登錄機碼。 80 | Run the built-in uninstaller for all versions of JRE detected|執行所有偵測到的 JRE 版本其內建解除安裝程式 81 | Downloads a new copy of the JavaRa definitions.|下載新的 JavaRa 定義副本。 82 | Hides the graphical user interface and suppresses all dialog|隱藏圖形化使用者介面,並禁止顯示所有對話方塊 83 | messages and error reports.|訊息和錯誤報告。 84 | Displays this help dialog|顯示此說明對話方塊 85 | Example: JavaRa /UPDATEDEFS /SILENT|範例: JavaRa /UPDATEDEFS /SILENT 86 | Example: JavaRa /UNINSTALLALL /SILENT|範例: JavaRa /UNINSTALLALL /SILENT 87 | Command Line Parameters|命令列參數 88 | Unsupported argument. Please use /PURGE, /CLEAN, /UNINSTALLALL, or /UPDATEDEFS|不支援的引數。請使用 /PURGE, /CLEAN, /UNINSTALLALL 或 /UPDATEDEFS 89 | with, or without /SILENT.|用或不用 /SILENT。 90 | Option Not Supported.|選項不支援。 91 | Clean JRE Temp Files|清除 JRE 暫存檔 92 | No uninstaller found. Please press 'next' to continue|找不到解除安裝程式。請按 [下一步] 繼續 93 | Download|下載 94 | version 2.2|版本 2.2 -------------------------------------------------------------------------------- /localizations/lang.Czech.locale: -------------------------------------------------------------------------------- 1 | //* translated by: Buchtič 2 | //* email: martin.buchta@gmail.com 3 | 4 | JavaRa definitions updated successfully|Definice JavaRa úspěšně aktualizovány 5 | Automatically check for updates|Automaticky kontrolovat aktualizace 6 | Could not locate jucheck.exe|Nelze najít jucheck.exe 7 | Java Update Checking Utility (jucheck.exe) could not be found on your system.|Ve vašem systému nebyl nalezen Java Update Checking Utility (jucheck.exe). 8 | Remove JRE|Odebrat JRE 9 | Update Java Runtime|Aktualizovat Java Runtime 10 | Remove Older Versions|Odebrat staré verze 11 | Update JavaRa Definitions|Aktualizovat definice JavaRa 12 | Additional Tasks|Další úlohy 13 | Settings|Nastavení 14 | Support|Podpora 15 | About JavaRa|О aplikaci JavaRa 16 | Back|Zpět 17 | Previous|Zpět 18 | Next|Další 19 | Save Settings|Uložit nastavení 20 | Program Language|Jazyk 21 | step 1 - select update method|krok 1 - vyberte režim aktualizace 22 | JavaRa can update JRE by either performing an online version check, or|JavaRa může aktualizovat JRE ověřením dostupnosti nové verze 23 | downloading and re-installing the program - regardless of version.|nebo stažením a přeinstalováním aplikace v nejnovější verzi. 24 | Use Jucheck.exe tool|Použít nástroj jucheck.exe 25 | Perform online version check|Provést online kontrolu 26 | Download and install latest version|Stáhnout a nainstalovat nejnovější verzi 27 | Would you like to open the Oracle online JRE version checker?|Chcete otevřít Oracle online kontrolu verze JRE? 28 | Launch online check|Spustit online kontrolu 29 | step 2 - completed|krok 2 - dokončeno 30 | step 2 - completed.|krok 2 - dokončeno. 31 | step 2 - download new version|krok 2 - stáhnout novou verzi 32 | step 3 - completed.|krok 3 - dokončeno. 33 | Would you like to download and install the latest version of JRE? |Chcete stáhnout a nainstalovat nejnovější verzi JRE? 34 | Use this interface.|Použít toto rozhraní. 35 | The process is complete. Select an option to continue.|Proces je dokončen. Vyberte odpovídající možnost, kterou chcete pokračovat. 36 | Close this wizard|Zavřít tohoto průvodce 37 | Exit JavaRa|Ukončit JavaRa 38 | Finish|Dokončit 39 | step 1 - run the uninstaller|krok 1 - spustit odinstalování 40 | We recommend that you try running the Java Runtime Environment's built-in|Před pokračováním doporučujeme zkusit spustit 41 | uninstaller before you continue.|vestavěný odinstalátor JRE. 42 | Run Uninstaller|Spustit odinstalování 43 | Only complete this step if you want to remove the newest JRE version|Dokončete tento krok v případě, že chcete odebrat nejnovější verzi JRE 44 | step 2 - perform removal routine|krok 2 - odstranění JRE 45 | step 2 - perform cleanup routine|krok 2 - vyčištění systému 46 | Perform Cleanup Routine|Provést vyčištění 47 | The removal routine will delete files, folder and registry entries that are known|Čištění vymaže soubory, složky a záznamy z registru 48 | to be associated with the older versions of the Java Runtime Environment|související se staršími verzemi JRE. 49 | to be associated with the Java Runtime Environment. It is recommended you |související s JRE. Před zahájením této akce 50 | update the program definitions prior to running.|doporučujeme aktualizovat definice aplikace. 51 | Perform Removal Routine|Vyčistit systém 52 | step 3 - download new version|krok 3 - stažení nové verze 53 | Download|Stáhnout 54 | Java Manual Download|Ručně stáhnout Java 55 | step 4 - completed.|krok 4 - dokončeno. 56 | update JavaRa definitions|aktualizovat definice JavaRa 57 | Would you like to download and install the latest version of the JavaRa |Chcete stáhnout a nainstalovat nejnovější verzi definic JavaRa? 58 | definitions? These are used to find and remove every last trace of JRE.|Ty jsou používány pro nalezení a odstranění všech stop JRE ze systému. 59 | Remove startup entry|Zrušit automatické spouštění při startu systému 60 | Check Java version|Zjistit verzi Java 61 | Remove Outdated JRE Firefox Extensions|Odstranit zastaralé Firefox rozšíření JRE 62 | Run|Spustit 63 | Selected tasks completed successfully.|Vybrané úlohy byly úspěšně dokončeny. 64 | About JavaRa|О aplikaci JavaRa 65 | Create a log file|Uložit záznam do souboru 66 | program settings|nastavení aplikace 67 | You didn't select any tasks to be performed.|Nevybrali jste žádnou úlohu. 68 | JavaRa 2.0 loaded without incident. Checking system...|JavaRa 2.0 načtena bez problémů. Kontrolování systému... 69 | Operating System:|Operační systém: 70 | Save|Uložit 71 | Please select a version of JRE to remove.|Prosím, vyberte verze JRE, kterou chcete odstranit. 72 | Your changes will take effect when JavaRa is restarted.|Změny se projeví po restartování JavaRa. 73 | Removal routine completed successfully.|Čištění úspěšně dokončeno. 74 | items have been deleted.|položek vymazáno. 75 | Removal Routine Complete|Čištění dokončeno 76 | Syntax Error. /SILENT is a secondary option to be used in combination with other command line options.|Chyba syntaxe. /SILENT je druhý argument používaný s ostatními. 77 | It should not be the first option used, nor should it be used alone. Use /? for more information| 78 | Syntax Error.|Chyba syntaxe 79 | Removes all JRE related registry keys, files and directories|Odebrety všechny klíče v registru, soubory a složky související s JRE 80 | Removes only JRE registry keys from previous version.|Odebere pouze JRE předchozích verzí 81 | Run the built-in uninstaller for all versions of JRE detected|Spustit vestavěný odinstalátor všech detekovaných verzí JRE 82 | Downloads a new copy of the JavaRa definitions.|Stáhne novou kopii definicí JavaRa. 83 | Hides the graphical user interface and suppresses all dialog|Skryje grafické rozhraní a potlačí všechna dialogová 84 | messages and error reports.|okna a chybové zprávy. 85 | Displays this help dialog|Zobrazí nápovědu 86 | Example: JavaRa /UPDATEDEFS /SILENT|Příklad: JavaRa /UPDATEDEFS /SILENT 87 | Example: JavaRa /UNINSTALLALL /SILENT|Příklad: JavaRa /UNINSTALLALL /SILENT 88 | Command Line Parameters| Parametry příkazové řádky 89 | Unsupported argument. Please use /PURGE, /CLEAN, /UNINSTALLALL, or /UPDATEDEFS|Nepodporovaný argument, prosím použijte /PURGE, /CLEAN, /UNINSTALLALL nebo /UPDATEDEFS 90 | with, or without /SILENT.|s možností /SILENT. 91 | Option Not Supported.|Nepodporovaná možnost 92 | Clean JRE Temp Files|Vymazat dočasné soubory JRE 93 | No uninstaller found. Please press 'next' to continue|Nenalezen žádný odinstalátor. Prosím klikněte na 'Další' pro pokračování 94 | Download|Stáhnout 95 | version 2.1|verze 2.1 -------------------------------------------------------------------------------- /localizations/lang.Finnish.locale: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/localizations/lang.Finnish.locale -------------------------------------------------------------------------------- /localizations/lang.French.locale: -------------------------------------------------------------------------------- 1 | //* Traduction par : Pierre (aka Terdef) 2 | //* http://assiste.com 3 | //* email: pp@assiste.com 4 | //* 5 | About JavaRa|A propos de JavaRa 6 | Additional Tasks|Tâches complémentaires 7 | Back|< Retour 8 | Check Java version|Vérifer la version de Java 9 | Close this wizard|Fermer cet assistant et retourner à JavaRa. 10 | Create a log file|Créer un fichier journal 11 | definitions? These are used to find and remove every last trace of JRE.|Elles sont utilisées pour rechercher et supprimer toute trace de JRE. 12 | Download and install latest version|Télécharger et installer la dernière version 13 | Download|Télécharger 14 | downloading and re-installing the program - regardless of version.|téléchargeant et réinstallant le programme - quelle que soit la version. 15 | Exit JavaRa|Quitter JavaRa 16 | Finish|Finir 17 | Java Manual Download|Téléchargement manuel de Java 18 | JavaRa 2.0 loaded without incident. Checking system...|JavaRa 2.0 chargé correctement. Analyse du système… 19 | JavaRa can update JRE by either performing an online version check, or|JavaRa peux mettre à jour Java JRE, soit en exécutant une vérification en ligne, soit en 20 | JavaRa|JavaRa 21 | Launch online check|Lancer la vérification en ligne 22 | Next|Suivant > 23 | Only complete this step if you want to remove newest JRE version|N'exécuter cette étape que si vous voulez supprimer la plus récente version de JRE. 24 | Operating System:|Système d'exploitation : 25 | Perform Cleanup Routine|Nettoyer 26 | Perform online version check|Exécuter la vérification de version en ligne 27 | Perform Removal Routine|Nettoyer 28 | Previous|< Retour 29 | Program Language|Langue 30 | program settings|Paramétrage 31 | Remove JRE|Effacer JRE 32 | Remove Outdated JRE Firefox Extensions|Supprimer les extensions JRE pour firefox obsolètes 33 | Remove startup entry|Supprimer les entrées inutiles dans la liste de démarrage de Windows 34 | Run Uninstaller|Désinstaller 35 | Run|Lancer 36 | Save Settings|Sauvegarder les paramètres 37 | Save|Sauvegarder 38 | Settings|Paramètres 39 | step 1 - run the uninstaller|Étape 1 - Désinstalleur la/les anciennes versions. 40 | step 1 - select update method|Étape 1 - Sélectionner la méthode de mise à jour. 41 | step 2 - completed.|Étape 2 - Terminé. 42 | step 2 - download new version|Étape 2 - Télécharger la nouvelle version de Java JRE. 43 | step 2 - perform removal routine|Étape 2 - Exécuter la procédure d'effacement. 44 | step 3 - completed.|Étape 3 - Terminé. 45 | step 3 - download new version|Étape 3 - Télécharger la nouvelle version. 46 | step 4 - completed.|Étape 4 - Terminé. 47 | Support|Aide 48 | The process is complete. Select an option to continue.|La procédure est terminée. Sélectionner une option pour continuer. 49 | The removal routine will delete files, folder and registry entries that are known|La routine de nettoyage supprimera les fichiers, répertoires et entrées de la base de registre connues 50 | to be associated with the Java Runtime Environment. It is recommended you |pour être associés à JRE (l'Environnement d'exécution de Java). 51 | uninstaller before you continue.|à JRE (Java Runtime Environment) avant de poursuivre. 52 | Update Java Runtime|Mettre à jour Java JRE 53 | Update JavaRa Definitions|MàJ signatures de JavaRa 54 | update JavaRa definitions|Mise à jour de la base de signatures de JavaRa 55 | 56 | update the program definitions prior to running.|Mettre à jour la base de signatures de JavaRa avant d'utiliser la procédure de nettoyage. 57 | Use Jucheck.exe tool|Utiliser le programme Jucheck.exe 58 | Use this interface.|Utilisation de cette interface. 59 | version 2.0 beta 3|Version 2.0 beta 3 60 | We recommend that you try running the Java Runtime Environment's built-in|Nous vous recommandons d'exécuter le désinstalleur intégré 61 | Would you like to download and install the latest version of JRE? |Voulez vous télécharger et installer la dernière version de JRE ? 62 | Would you like to download and install the latest version of the JavaRa |Voulez vous télécharger et installer la dernière version de la base de signatures de JavaRa ? 63 | Would you like to open the Oracle online JRE version checker?|Voulez vous utiliser le vérificateur en ligne d'Oracle afin de vérifier vôtre version de JRE ? 64 | 65 | You didn't select any tasks to be performed.|Vous n'avez sélectionné aucune tâche à exécuter. 66 | Your changes will take effect when JavaRa is restarted.|Vos modifications prendront effet après le redémarrage de JavaRa. -------------------------------------------------------------------------------- /localizations/lang.German.locale: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/localizations/lang.German.locale -------------------------------------------------------------------------------- /localizations/lang.Hungarian.locale: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShaneGowland/JavaRa/9dcedd416db6de38bcf8b18b62341c3cbebc76c4/localizations/lang.Hungarian.locale -------------------------------------------------------------------------------- /localizations/lang.Italian.locale: -------------------------------------------------------------------------------- 1 | About JavaRa|Info su JavaRa 2 | Additional Tasks|Attività aggiuntive 3 | Automatically check for updates|Controlla automaticamenete aggiornamenti 4 | Back|Indietro 5 | Brazilian|Brasiliano 6 | Check Java version|Verifica versione Java 7 | Clean JRE Temp Files|Elimina file temporanei JRE 8 | Close this wizard|Chiudi questa finestra 9 | Create a log file|Crea file registro eventi 10 | definitions? These are used to find and remove every last trace of JRE.|definiizioni? Sono usate per trovare e rimuovere le tracce di JRE. 11 | Download and install latest version|Scarica e installa la versione aggiornata 12 | Download|Scarica 13 | downloading and re-installing the program - regardless of version.|téléchargeant et réinstallant le programme - quelle que soit la version. 14 | Exit JavaRa|Esci da JavaRa 15 | Finish|Fine 16 | French|Francese 17 | German|Tedesco 18 | Hungarian|Ungherese 19 | Italian|Italiano 20 | Java Manual Download|Scarica manuale Java 21 | JavaRa 2.0 loaded without incident. Checking system...|JavaRa 2.0 chargé correctement. Analyse du système… 22 | JavaRa can update JRE by either performing an online version check, or downloading and re-installing the program - regardless of version.|JavaRa può aggiornare JRE effettuando un controllo online, o scaricando e reinstallando il programma - senza influenza sulla versione. 23 | JavaRa support is available at the following locations:|Il supporto JavaRA è disponibile nei seguenti siti: 24 | language settings|impostazione lingua 25 | Launch online check|Esegui verifica oline 26 | Next|Avanti 27 | Only complete this step if you want to remove newest JRE version|Completa questo passaggio solo se vuoi rimuovere versioni JRE recenti 28 | Perform Cleanup Routine|Esegui routine pulizia 29 | Perform online version check|Esegui controllo versione online 30 | Perform Removal Routine|Esegui routine rimozione 31 | Previous|Indietro 32 | Polish|Polacco 33 | Program Language|Lingua interfaccia 34 | program settings|Impostazioni programma 35 | Remove Older Versions|Rimuovi versioni obsolete 36 | Remove Outdated JRE Firefox Extensions|Rimuovi estensioni JRE per Firefox obsolete 37 | Remove startup entry|Rimuovi elementi avvio 38 | Remove JRE|Rimuovi JRE 39 | Run Uninstaller|Esegui disinstallazione 40 | Run|Esegui 41 | Russian|Russo 42 | Save Settings|Salva impostazioni 43 | Save|Salva 44 | Selected tasks completed successfully.|Attivita seelzionate completate corretamente. 45 | Selected tasks|Attività selezionate 46 | Settings|Impostazioni 47 | Spanish|Spagnolo 48 | step 1 - run the uninstaller|1. passo - esecuzione disinstallazione 49 | step 1 - select update method|2. passo - metodo di aggiornamento 50 | step 2 - completed.|2. passo - completato. 51 | step 2 - completed|2. passo - completato 52 | step 2 - download new version|2. passo - download nuova versione 53 | step 2 - perform cleanup routine|2. passo - esecuzione routine pulizia 54 | step 2 - perform removal routine|2. passo - esecuzione routine rimozione 55 | step 3 - completed.|3. passo - completato 56 | step 3 - download new version|3. passo - download nuova versione 57 | step 4 - completed.|4. passo - completato. 58 | Support|Supporto 59 | Save|Salva 60 | The process is complete. Select an option to continue.|Il processo è stato completato. Scegli una opzione per continuare. 61 | The removal routine will delete files, folder and registry entries that are known to be associated with the Java Runtime Environment. It is recommended you update the program definitions prior to running.|La routine di pulizia eliminerà file, cartella e elementi registro associati al Java Runtime Environment. E' consigliato di aggiornare le definizioni del rpogramma prima di eseguirla. 62 | ToolStrip1|UToolStrip1 63 | pdate Java Runtime|Aggiorna Java runtime (JRE) 64 | Update JavaRa Definitions|Aggiorna definizioni JavaRa 65 | update JavaRa definitions|Aggiorna definizioni JavaRa 66 | Update Java Runtime|Aggiorna runtime Java 67 | Use Jucheck.exe tool|Usa programma Jucheck.exe 68 | version 2.1|versione 2.1 69 | We recommend that you try running the Java Runtime Environment's built-in uninstaller before you continue.|Raccomandiamo di provare ad eseguire la disinstallazione di Java Runtime Environment prima di proseguire. 70 | Would you like to download and install the latest version of JavaRa definitions? These are used to find and remove every last trace of JRE.|Vuoi scaricare e instalalre le definzizioni aggiornate di JavaRa? Le definziioni sono usate per rimuovere ogni traccia di JRE. 71 | Would you like to download and install the latest version of JRE? Use this interface.|Vuoi scaricare e installare la versione aggiornata di JRE? Usa questa interfaccia. 72 | Would you like to download and install the latest version of JRE?|Vuoi scaricare e installare la versione aggironata di JRE? 73 | Would you like to open the Oracle online JRE version checker?|Vuoi aprire la pagian web del controllo online JRE di Oracle? -------------------------------------------------------------------------------- /localizations/lang.Polish.locale: -------------------------------------------------------------------------------- 1 | About JavaRa|O JavaRa 2 | Additional Tasks|Dodatkowe zadania 3 | Back|Wstecz 4 | Check Java version|Sprawdź wersję Java 5 | Close this wizard|Zamknij kreator 6 | Download and install latest version|Pobierz i zainstaluj najnowszą wersję 7 | Download|Pobierz 8 | Exit JavaRa|Zamknij JavaRa 9 | Finish|Zakończ 10 | Java Manual Download|Ręczne pobieranie JRE 11 | JavaRa can update JRE by either performing an online version check, or downloading and re-installing the program - regardless of version.|JavaRa może zaktualizować JRE przez sprawdzenie wersji online lub pobranie i ponowne zainstalowanie programu - niezależnie od wersji. 12 | JavaRa support is available at the following locations:|Wsparcie techniczne dla JavaRa jest dostępne w następujących miejscach: 13 | language settings|Ustawienia języka 14 | Launch online check|Rozpocznij sprawdzanie online 15 | Next|Dalej 16 | Only complete this step if you want to remove newest JRE version|Wykonaj ten krok, jeśli chcesz usunąć najnowszą wersję JRE 17 | Perform online version check|Sprawdź wersję online 18 | Perform Removal Routine|Wykonaj procedurę usuwania 19 | Previous|Wstecz 20 | Remove Older Versions|Usuń starsze wersje 21 | Remove Outdated JRE Firefox Extensions|Usuń przestarzałe rozszerzenia JRE Firefoxa 22 | Remove startup entery|Usuń element autostartu 23 | Run Uninstaller|Uruchom deinstalator 24 | Run|Uruchom 25 | Save Settings|Zapisz ustawienia 26 | Selected tasks completed successfully.|Wybrane zadania zostały pomyślnie ukończone. 27 | Selected tasks|Wykonaj wybrane 28 | Settings|Ustawienia 29 | step 1 - run the uninstaller|krok 1 - uruchom deinstalator 30 | step 1 - select update method|krok 1 - wybierz metodę aktualizacji 31 | step 2 - completed.|krok 2 - zakończony. 32 | step 2 - completed|krok 2 - zakończony 33 | step 2 - download new version|krok 2 - pobierz nową wersję 34 | step 2 - perform removal routine|krok 2 - wykonaj procedurę usuwania 35 | step 3 - completed.|krok 3 - zakończony. 36 | step 3 - download new version|krok 3 - pobierz nową wersję 37 | step 4 - completed.|krok 4 - zakończony. 38 | Support|Wsparcie 39 | The process is complete. Select an option to continue.|Zakończono proces aktualizacji. By kontynuować, proszę wybrać jedną z poniższych opcji. 40 | The removal routine will delete files, folder and registry entries that are known to be associated with the Java Runtime Environment. It is recommended you ipdate the program definitions prior to running.|Procedura usuwania usunie wszystkie pliki, foldery i wpisy rejestru związane z Java Runtime Environment. Przed rozpoczęciem usuwania zalecamy aktualizację reguł programu. 41 | Update Java Runtime|Aktualizuj Java Runtime 42 | Update JavaRa Definitions|Aktualizuj reguły JavaRa 43 | update JavaRa definitions|zaktualizuj reguły JavaRa 44 | update JavaRa defintions|zaktualizuj reguły JavaRa 45 | Use Jucheck.exe tool|Użyj programu Jucheck.exe 46 | We recommend that you try running the Java Runtime Environment's built-in unistaller before you continue.|Przed kontynuowaniem zalecamy uruchomić deinstaler pakietu Java Runtime Environment. 47 | Would you like to download and install the latest version of JavaRa definitions? These are used to find and remove every last trace of JRE.|Czy chcesz pobrać i zainstalować najnowsze reguły JavaRa? Są one niezbędne w procesie wyszukiwania i usuwania najmniejszych śladów po JRE. 48 | Would you like to download and install the latest version of JRE? Use this interface.|Czy chcesz pobrać i zainstalować najnowszą wersję JRE? 49 | Would you like to download and install the latest version of JRE?|Czy chcesz pobrać i zainstalować najnowszą wersję JRE? 50 | Would you like to open the Oracle online JRE version checker?|Czy chcesz otworzyć stronę Oracle do sprawdzenia wersji JRE? -------------------------------------------------------------------------------- /localizations/lang.Russian.locale: -------------------------------------------------------------------------------- 1 | //* translated by: Phobos 2 | //* email: jdphobos@gmail.com 3 | 4 | Clean JRE Temp Files|Удалить временные файлы JRE 5 | JavaRa definitions updated successfully|База успешно обновлена 6 | Automatically check for updates|Автоматически проверять обновления 7 | Could not locate jucheck.exe|Не обнаружено jucheck.exe 8 | Java Update Checking Utility (jucheck.exe) could not be found on your system.|Средство Проверки Обновлений Java (jucheck.exe) не найдено в Вашей системе. 9 | Remove JRE|Удалить JRE 10 | Update Java Runtime|Обновить Java 11 | Remove Older Versions|Удалить старую версию 12 | Update JavaRa Definitions|Обновить базу JavaRa 13 | Additional Tasks|Дополнительные задания 14 | Settings|Настройки 15 | Support|Поддержка 16 | About JavaRa|О программе 17 | Back|Назад 18 | Previous|Назад 19 | Next|Дальше 20 | Save Settings|Сохранить настройки 21 | Program Language|Выбор языка 22 | step 1 - select update method|шаг 1 - выбор метода обновления 23 | JavaRa can update JRE by either performing an online version check, or|JavaRa может обновить JRE выполнив проверку версии с сайта, или 24 | downloading and re-installing the program - regardless of version.|загрузив и переустановив программу – независимо от версии. 25 | Use Jucheck.exe tool|Использовать инструмент Jucheck.exe 26 | Perform online version check|Выполнить проверку версии с веб-сайта 27 | Download and install latest version|Загрузить и установить последнюю версию 28 | Would you like to open the Oracle online JRE version checker?|Открыть сайт Oracle для проверки версии JRE? 29 | Launch online check|Запуск онлайн проверки 30 | step 2 - completed|шаг 2 - завершение 31 | step 2 - completed.|шаг 2 - завершение. 32 | step 2 - download new version|шаг 2 - загрузка новой версии 33 | step 3 - completed.|шаг 3 - завершение. 34 | Would you like to download and install the latest version of JRE? |Выполнить загрузку и установку новой версии JRE? 35 | Use this interface.|Используйте кнопку загрузки. 36 | The process is complete. Select an option to continue.|Процесс завершен. Выберите, что делать дальше. 37 | Close this wizard|Закрыть мастер 38 | Exit JavaRa|Закрыть JavaRa 39 | Finish|ОК 40 | step 1 - run the uninstaller|шаг 1 - запуск деинсталлятора 41 | We recommend that you try running the Java Runtime Environment's built-in|Мы рекомендуем сначала использовать встроенный деинсталлятор JRE 42 | uninstaller before you continue.|прежде, чем продолжить. 43 | Run Uninstaller|Деинсталляция 44 | Only complete this step if you want to remove the newest JRE version|Этого шага достаточно для удаления последних версий JRE 45 | step 2 - perform removal routine|шаг 2 - процедура удаления 46 | step 2 - perform cleanup routine|шаг 2 - процедура удаления 47 | Perform Cleanup Routine|Начать удаление 48 | The removal routine will delete files, folder and registry entries that are known|Во время процедуры удаления, будут удалены файлы, папки и записи в реестре 49 | to be associated with the older versions of the Java Runtime Environment|которые связаны с Java Runtime Environment. 50 | to be associated with the Java Runtime Environment. It is recommended you |Java Runtime Environment. Рекомендуется сначала обновить 51 | update the program definitions prior to running.|базы JavaRa. 52 | Perform Removal Routine|Произвести удаление 53 | step 3 - download new version|шаг 3 - загрузка новой версии 54 | Download|Загрузить 55 | Java Manual Download|Скачать Руководство по Java 56 | step 4 - completed.|шаг 4 - завершение. 57 | update JavaRa definitions|Обновить базу JavaRa 58 | Would you like to download and install the latest version of the JavaRa |Выполнить загрузку и установку новой версии базы JavaRa? 59 | definitions? These are used to find and remove every last trace of JRE.|Она используется для тщательного удаления следов JRE. 60 | Remove startup entry|Удалить из автозагрузки 61 | Check Java version|Проверить версию Java 62 | Remove Outdated JRE Firefox Extensions|Удалить устаревшие JRE расширения для Firefox 63 | Run|Запустить 64 | Selected tasks completed successfully.|Выбранные задачи успешно выполнены. 65 | About JavaRa|О программе 66 | Create a log file|Создать лог 67 | program settings|Настройки программы 68 | You didn't select any tasks to be performed.|Не выбрана ни одна задача. 69 | JavaRa 2.0 loaded without incident. Checking system...|JavaRa 2.1 загружена без ошибок. Определение системы... 70 | Operating System:|ОС: 71 | Save|Сохранить 72 | Please select a version of JRE to remove.|Пожалуйста, выберите из списка свою версию JRE. 73 | Your changes will take effect when JavaRa is restarted.|Изменения вступят в силу после перезапуска JavaRa. 74 | Removal routine completed successfully.|Процедура удаления завершена успешно. 75 | items have been deleted.|записей было удалено. 76 | Removal Routine Complete|Удаление завершено -------------------------------------------------------------------------------- /localizations/lang.Spanish.locale: -------------------------------------------------------------------------------- 1 | About JavaRa|Sobre JavaRa 2 | Additional Tasks|Tareas adicionales 3 | Back|Atrás 4 | Check Java version|Comprobar la versión de Java 5 | Close this wizard|Cerrar este asistente 6 | Download and install latest version|Descargar e instalar la ultima versión 7 | Download|Descargar 8 | Exit JavaRa|Salir de JavaRa 9 | Finish|Terminar 10 | Java Manual Download|Descarga manual de Java 11 | JavaRa can update JRE by either performing an online version check, or downloading and re-installing the program - regardless of version.|JavaRa le permite actualizar el entorno de ejecución de Java (JRE) bien comparando la versión instalada con la versión en línea, o bien descargando e instalando el programa de nuevo. Ambos independientemente de la versión. 12 | JavaRa support is available at the following locations:|Obtendra asistencia técnica para JavaRa en: 13 | language settings|Ajustes de idiomas 14 | Launch online check|Ejecutar la comprobación en línea 15 | Next|Proceder 16 | Only complete this step if you want to remove newest JRE version| Complete este paso, unicamente si realmente desea purgar la versión más actual instalada del entorno de ejecución de Java (JRE) 17 | Perform online version check|Realizar la comprobación de la versión en linea 18 | Perform Removal Routine|Llevar a cabo la desinstalación 19 | Previous|Anterior 20 | Remove Older Versions|Eliminar versiones antiguas 21 | Remove Outdated JRE Firefox Extensions|Eliminar las extensiones obsoletas del entorno de ejecución de Java (JRE) para Firefox 22 | Remove startup entry|Desactivar el inicio del entorno de ejecución de Java (JRE) con el arranque del sistema operativo 23 | Remove JRE|Purgar el entorno de ejecución de Java (JRE) 24 | Run Uninstaller|Purgar 25 | Run|Finalizar 26 | Save Settings|Guardar ajustes 27 | Selected tasks completed successfully.|Las tareas seleccionadas fueron llevadas a cabo satisfactoriamente. 28 | Selected tasks|Tareas seleccionadas 29 | Settings|Ajustes 30 | step 1 - run the uninstaller|Primer paso - Ejecutar el desinstalador 31 | step 1 - select update method|Primer paso - Selección del método de actualización 32 | step 2 - completed.|Segundo paso - Completado. 33 | step 2 - completed|Segundo paso - Completado 34 | step 2 - download new version|Segundo paso - Descarga de la nueva versión 35 | step 2 - perform removal routine|Segundo paso - Llevar a cabo la purgación 36 | step 3 - completed.|Tercer paso - Completado 37 | step 3 - download new version|Tercer paso - Descarga de la nueva versión 38 | step 4 - completed.|Cuarto paso - Completado 39 | Support|Asistencia técnica 40 | Save|Guardar 41 | The process is complete. Select an option to continue.|El proceso ha concluido. Seleccione una opción con la cual continuar. 42 | The removal routine will delete files, folder and registry entries that are known to be associated with the Java Runtime Environment. It is recommended you update the program definitions prior to running.|La purgación eliminará los archivos, carpetas y entradas del registro que estén asociados con el entorno de ejecución de Java (JRE). Le recomendamos encarecidamente que actualice las definiciones de JavaRa antes de proceder. 43 | Update Java Runtime|Actualizar el entorno de ejecución de Java (JRE) 44 | Update JavaRa Definitions|Actualizar las definiciones de JavaRa 45 | update JavaRa definitions|Actualizar las definiciones de JavaRa 46 | Use Jucheck.exe tool|Usar el comprobador propio de JRE (Jucheck.exe) 47 | We recommend that you try running the Java Runtime Environment's built-in uninstaller before you continue.|Le recomendamos que intente ejecutar el programa de desinstalación propio del entorno de ejecución de Java (JRE) antes de proceder. 48 | Would you like to download and install the latest version of JavaRa definitions? These are used to find and remove every last trace of JRE.|¿Desea descargar e instalar la última versión de las definiciones de JavaRa? Son necesarias para encontrar y eliminar cualquier rastro del ejecución de Java (JRE). 49 | Would you like to download and install the latest version of JRE? Use this interface.|¿Desea descargar e instalar la última versión del entorno de ejecución de Java (JRE)? Utilice esta interfaz. 50 | Would you like to download and install the latest version of JRE?|¿Desea descargar e instalar la última versión del entorno de ejecución de Java (JRE)? 51 | Would you like to open the Oracle online JRE version checker?|¿Desea abrir el comprobador de versión en línea del entorno de ejecución de Java (JRE) proporcionado por Oracle? -------------------------------------------------------------------------------- /localizations/output_strings.false: -------------------------------------------------------------------------------- 1 | Rename this file to 'output_strings.true' to force JavaRa to generate a list of any untranslated strings when using a non-English language. It will be contained in the same directory as JavaRa.exe -------------------------------------------------------------------------------- /routines_interface.vb: -------------------------------------------------------------------------------- 1 | Imports Microsoft.Win32 2 | 3 | Module routines_interface 4 | 5 | 'Shared routine to bring a panel to the front 6 | Public Sub show_panel(ByVal pnl As Panel, Optional ByVal scrollbar As Boolean = False) 7 | 'Load the correct panel 8 | pnl.BringToFront() 9 | pnl.Dock = DockStyle.Fill 10 | 11 | 'Ensure the page footer is correct 12 | UI.Panel7.BringToFront() 13 | End Sub 14 | 15 | 'Restore the home page UI 16 | Public Sub return_home() 17 | 'fill with new panel 18 | UI.pnlTopDock.BringToFront() 19 | UI.pnlTopDock.Dock = DockStyle.Fill 20 | UI.lvTools.Dock = DockStyle.Fill 21 | UI.Panel7.BringToFront() 22 | End Sub 23 | 24 | 'Clean JRE related temp files 25 | Public Sub clean_jre_temp_files() 26 | write_log(get_string("== Cleaning JRE temporary files ==")) 27 | 28 | 'Java Cache 29 | Try 30 | Dim path1 As String = (System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Sun\Java\Deployment\").Replace("\Local\", "\LocalLow\") 31 | For Each foundFile As String In IO.Directory.GetFiles(path1, "*.*", IO.SearchOption.AllDirectories) 32 | 33 | 'Only catch the cache directories 34 | If foundFile.Contains("\cache\") Then 35 | IO.File.Delete(foundFile) 36 | write_log(get_string("Deleted file:" & " " & foundFile)) 37 | End If 38 | If foundFile.Contains("\SystemCache\") Then 39 | write_log(get_string("Deleted file:" & " " & foundFile)) 40 | End If 41 | Next 42 | Catch ex As Exception 43 | write_error(ex) 44 | End Try 45 | 46 | 'Insert a blank space into the log 47 | write_log(" ") 48 | 49 | End Sub 50 | 51 | 'Delete old JRE Firefox extensions 52 | Public Sub delete_jre_firefox_extensions() 53 | Try 54 | 55 | 'Store the base path to the firefox directory 56 | Dim folder_base_path As String = Nothing 57 | If My.Computer.FileSystem.DirectoryExists("C:\Program Files (x86)\Mozilla Firefox\extensions\") Then 58 | folder_base_path = ("C:\Program Files (x86)\Mozilla Firefox\extensions\") 59 | ElseIf My.Computer.FileSystem.DirectoryExists("C:\Program Files\Mozilla Firefox\extensions\") Then 60 | folder_base_path = ("C:\Program Files\Mozilla Firefox\extensions\") 61 | Else 62 | Exit Sub 63 | End If 64 | 65 | 'Create a variable to contain the highest version folder 66 | Dim version_to_keep As String = 0 67 | 68 | 'scan extensions folder for jre 69 | For Each foundFolder As String In My.Computer.FileSystem.GetDirectories(folder_base_path) 70 | 71 | 'Filter out non-JRE folders 72 | If foundFolder.Contains("{CAFEEFAC-0016-0000-") = True And foundFolder.Contains("-ABCDEFFEDCBA}") Then 73 | 74 | 'Get the filename only 75 | foundFolder = foundFolder.Remove(0, foundFolder.LastIndexOf("\") + 1) 76 | 77 | 'trim the ends 78 | foundFolder = foundFolder.Replace("-ABCDEFFEDCBA}", "") 79 | foundFolder = foundFolder.Replace("{CAFEEFAC-0016-0000-", "") 80 | 81 | 'Store only the highest version 82 | If foundFolder > version_to_keep Then 83 | version_to_keep = foundFolder 84 | End If 85 | 86 | End If 87 | 88 | Next 89 | 90 | 'Create a variable to decide which folder to keep 91 | Dim folder_to_keep As String = folder_base_path & "{CAFEEFAC-0016-0000-" & version_to_keep & "-ABCDEFFEDCBA}" 92 | 93 | 'Delete the JRE folders that should not be kept 94 | For Each delFolder As String In My.Computer.FileSystem.GetDirectories(folder_base_path) 95 | 96 | 'Ensure that the directory belongs to JRE 97 | If delFolder.Contains("{CAFEEFAC-0016-0000-") = True And delFolder.Contains("-ABCDEFFEDCBA}") Then 98 | 99 | 'Exclude the newest version 100 | If delFolder <> folder_to_keep Then 101 | My.Computer.FileSystem.DeleteDirectory(delFolder, FileIO.DeleteDirectoryOption.DeleteAllContents) 102 | End If 103 | End If 104 | 105 | Next 106 | 107 | Catch ex As Exception 108 | write_error(ex) 109 | End Try 110 | End Sub 111 | 112 | 'Uninstall all JRE's with their uninstallers 113 | Public Sub uninstall_all(Optional ByVal silent As Boolean = False) 114 | 115 | 'Loop through all installed JREs 116 | For Each InstalledJRE As JREInstallObject In UI.JREObjectList 117 | 118 | If InstalledJRE.Installed = True Then 119 | 120 | Try 121 | 122 | If silent = False Then 123 | 124 | 'Uninstall normally 125 | Shell(InstalledJRE.UninstallString, AppWinStyle.NormalFocus, True) 126 | 127 | Else 128 | 129 | 'Uninstall silently 130 | Shell(InstalledJRE.UninstallString & " /qn /Norestart", AppWinStyle.Hide, True) 131 | 132 | End If 133 | Catch ex As Exception 134 | write_error(ex) 135 | End Try 136 | 137 | End If 138 | Next 139 | 140 | End Sub 141 | 142 | 'Cleanup old JRE registry keys 143 | Public Sub cleanup_old_jre() 144 | Try 145 | 146 | 'Check if JavaRa defs are present 147 | If UI.stay_silent = False Then 148 | If My.Computer.FileSystem.FileExists(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\JavaRa.def") = False Then 149 | MessageBox.Show(get_string("The JavaRa definitions have been removed.") & Environment.NewLine & get_string("You need to download them before continuing."), get_string("Definitions Not Available")) 150 | show_panel(UI.pnlUpdate) 151 | Exit Sub 152 | End If 153 | End If 154 | 155 | 'Write that the user started the removal process to the logger 156 | write_log(get_string("User initialised redundant data purge.") & Environment.NewLine & "......................" & Environment.NewLine) 157 | 158 | 'Load definition file and unmanaged code into memory 159 | Dim r As IO.StreamReader 160 | Dim rule As String 161 | r = New IO.StreamReader(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\JavaRa.def") 162 | 163 | 'Quickly iterate through definitions for progress bar. 164 | Dim total_lines As Integer = 1 165 | Do While (r.Peek() > -1) 166 | rule = r.ReadLine.ToString 167 | If rule.StartsWith("linecount=") Then 168 | total_lines = CInt(rule.Replace("linecount=", "")) 169 | Exit Do 170 | End If 171 | Loop 172 | 173 | 'Set variable for progress of actual routine 174 | Dim current_line As Integer = 0 175 | 176 | 'Iterate through definitions and perform operations 177 | Dim r2 As IO.StreamReader 178 | 179 | r2 = New IO.StreamReader(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\JavaRa.def") 180 | Do While (r2.Peek() > -1) 181 | rule = (r2.ReadLine.ToString) 182 | 183 | 'Delete specified registry key 184 | If rule.StartsWith("[key]") = True Then 185 | 'Call the function that deletes registry keys. 186 | delete_key(rule.Replace("[key]", "")) 187 | End If 188 | 189 | 'Update the user interface and prevent application hangs. 190 | current_line = current_line + 1 191 | 192 | If UI.stay_silent = False Then 193 | 'Ensure does not overflow 194 | If current_line < total_lines Then 195 | UI.ProgressBar1.Value = (current_line / total_lines) * 100 196 | Else 197 | 'ProgressBar1.Value = 100 198 | End If 199 | Application.DoEvents() 200 | End If 201 | 202 | Loop 203 | 204 | 'Write the results (quantity) to the log file. 205 | write_log(get_string("Cleanup routine completed successfully.") & " " & UI.removal_count & " " & get_string("items have been deleted.")) 206 | If UI.stay_silent = False Then 207 | MessageBox.Show(get_string("Cleanup routine completed successfully.") & " " & UI.removal_count & " " & get_string("items have been deleted."), get_string("Removal Routine Complete")) 208 | End If 209 | 210 | Catch ex As Exception 211 | write_error(ex) 212 | End Try 213 | 214 | 'Close the program if in silent mode 215 | If UI.stay_silent = True Then 216 | UI.Close() 217 | End If 218 | End Sub 219 | 220 | 'Purge entire JRE install 221 | Public Sub purge_jre() 222 | Try 223 | 224 | 'Check if JavaRa defs are present 225 | If UI.stay_silent = False Then 226 | If My.Computer.FileSystem.FileExists(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\JavaRa.def") = False Then 227 | MessageBox.Show(get_string("The JavaRa definitions have been removed.") & Environment.NewLine & get_string("You need to download them before continuing."), get_string("Definitions Not Available")) 228 | show_panel(UI.pnlUpdate) 229 | Exit Sub 230 | End If 231 | End If 232 | 233 | 'Write that the user started the removal process to the logger 234 | write_log(get_string("User initialised redundant data purge.") & Environment.NewLine & "......................" & Environment.NewLine) 235 | 236 | 'Load definition file and unmanaged code into memory 237 | Dim r As IO.StreamReader 238 | Dim rule As String 239 | r = New IO.StreamReader(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\JavaRa.def") 240 | 241 | 'Quickly iterate through definitions for progress bar. 242 | Dim total_lines As Integer = 1 243 | Do While (r.Peek() > -1) 244 | rule = r.ReadLine.ToString 245 | If rule.StartsWith("linecount=") Then 246 | total_lines = CInt(rule.Replace("linecount=", "")) 247 | Exit Do 248 | End If 249 | Loop 250 | 251 | 'Set variable for progress of actual routine 252 | Dim current_line As Integer = 0 253 | 254 | 'Iterate through definitions and perform operations 255 | Dim r2 As IO.StreamReader 256 | r2 = New IO.StreamReader(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\JavaRa.def") 257 | Do While (r2.Peek() > -1) 258 | rule = (r2.ReadLine.ToString) 259 | 260 | 'Delete specified registry key 261 | If rule.StartsWith("[key]") = True Then 262 | 'Call the function that deletes registry keys. 263 | delete_key(rule.Replace("[key]", "")) 264 | End If 265 | 266 | 'Remove any files specified 267 | If rule.StartsWith("[dir]") Then 268 | delete_dir(rule.Replace("[dir]", "")) 269 | End If 270 | 271 | If rule.StartsWith("[file]") Then 272 | delete_file(rule.Replace("[file]", "")) 273 | End If 274 | 275 | 'Update the user interface and prevent application hangs. 276 | current_line = current_line + 1 277 | 278 | If UI.stay_silent = False Then 279 | 'Ensure does not overflow 280 | If current_line < total_lines Then 281 | UI.ProgressBar1.Value = CInt((current_line / total_lines) * 100) 282 | Else 283 | 'ProgressBar1.Value = 100 284 | End If 285 | Application.DoEvents() 286 | End If 287 | Loop 288 | 289 | 'Delete the files 290 | Try 291 | If IO.Directory.Exists("C:\Program Files\Java\") Then 292 | IO.Directory.Delete("C:\Program Files\Java\", True) 293 | End If 294 | If IO.Directory.Exists("C:\Program Files (x86)\Java\") Then 295 | IO.Directory.Delete("C:\Program Files (x86)\Java\", True) 296 | End If 297 | If IO.Directory.Exists("C:\Users\" & Environment.UserName & "\AppData\LocalLow\Sun\Java") Then 298 | IO.Directory.Delete("C:\Users\" & Environment.UserName & "\AppData\LocalLow\Sun\Java", True) 299 | End If 300 | Catch ex As Exception 301 | 302 | End Try 303 | 304 | 'Write the results (quantity) to the log file. 305 | write_log(get_string("Removal routine completed successfully.") & " " & UI.removal_count & " " & get_string("items have been deleted.")) 306 | If UI.stay_silent = False Then 307 | MessageBox.Show(get_string("Removal routine completed successfully.") & " " & UI.removal_count & " " & get_string("items have been deleted."), get_string("Removal Routine Complete")) 308 | End If 309 | 310 | Catch ex As Exception 311 | write_error(ex) 312 | End Try 313 | 314 | 'Close the program if in silent mode 315 | If UI.stay_silent = True Then 316 | UI.Close() 317 | End If 318 | End Sub 319 | 320 | 'Method for deleting files with wildcard data 321 | Private Sub delete_file(ByVal file As String) 322 | 323 | 'Change environmental variable paths 324 | file = file.Replace("%ProgramFiles%", "C:\Program Files") 325 | file = file.Replace("%CommonAppData%", Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)) 326 | file = file.Replace("%Windows%", "C:\Windows") 327 | file = file.Replace("%AppData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)) 328 | file = file.Replace("%LocalAppData%", Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)) 329 | 330 | 'Delete file 331 | If IO.File.Exists(file) Then 332 | IO.File.Delete(file) 333 | ElseIf file.Contains("C:\Program Files") Then 334 | 335 | Try 336 | IO.File.Delete(file.Replace("C:\Program Files", "C:\Program Files (x86)")) 337 | Catch ex As Exception 338 | End Try 339 | 340 | End If 341 | End Sub 342 | 343 | 'Routine to convert wildcards in a directory path 344 | Private Sub delete_dir(ByVal file As String) 345 | 346 | 'Change path for program files 347 | If file.Contains("%ProgramFiles%") Then 348 | file = file.Replace("%ProgramFiles%", "C:\Program Files") 349 | LoopDelete(file) 350 | If IO.Directory.Exists("C:\Program Files (x86)") Then 351 | LoopDelete(file.Replace("C:\Program Files\", "C:\Program Files (x86)\")) 352 | End If 353 | Exit Sub 354 | End If 355 | 356 | 'Change path for WinDir 357 | If file.Contains("%Windows%") Then 358 | file = file.Replace("%Windows%", "C:\Windows") 359 | LoopDelete(file) 360 | Exit Sub 361 | End If 362 | 363 | 'Change path for AppData 364 | If file.Contains("%AppData%") Then 365 | file = file.Replace("%AppData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)) 366 | LoopDelete(file) 367 | Exit Sub 368 | End If 369 | 370 | 'Common AppData 371 | If file.Contains("%CommonAppData%") Then 372 | file = file.Replace("%CommonAppData%", Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)) 373 | LoopDelete(file) 374 | Exit Sub 375 | End If 376 | 377 | 'Local application data 378 | If file.Contains("%LocalAppData%") Then 379 | file = file.Replace("%LocalAppData%", Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)) 380 | LoopDelete(file) 381 | Exit Sub 382 | End If 383 | 384 | End Sub 385 | 386 | 'Sub to loop and delete all files in specified directory 387 | Private Sub LoopDelete(ByVal dir As String) 388 | 389 | 'Loop and delete 390 | For Each foundFile As String In My.Computer.FileSystem.GetFiles(dir) 391 | Try 392 | If IO.File.Exists(foundFile) Then 393 | IO.File.Delete(foundFile) 394 | End If 395 | Catch ex As Exception 396 | write_error(ex) 397 | End Try 398 | Next 399 | End Sub 400 | 401 | End Module 402 | -------------------------------------------------------------------------------- /routines_locales.vb: -------------------------------------------------------------------------------- 1 | Module routines_locales 2 | 'Memory location to store strings that have already been output by locale debugger 3 | Friend untranslated_strings As New List(Of String) 4 | 5 | 'All the words of the current language 6 | Dim current_language_array As New List(Of String) 7 | 8 | 'Stores the language to load JavaRa in 9 | Friend language As String 10 | 11 | 'Translate the user interface and all menues 12 | Public Function translate_strings() As Boolean 13 | 14 | 'Set the language file path to a variable 15 | Dim lang_path As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\localizations\lang." & language & ".locale" 16 | 'Check if selected language still exists 17 | Dim localization_support = IO.File.Exists(lang_path) 18 | 19 | Try 20 | If localization_support = True Then 21 | 22 | 'Clear previous language 23 | current_language_array.Clear() 24 | 25 | 'Load the contents of the current lang file into the memory list 26 | Dim r As IO.StreamReader 27 | Dim rule As String = Nothing 28 | r = New IO.StreamReader(lang_path) 29 | Do While (r.Peek() > -1) 30 | 31 | 'Set current line to a variable 32 | rule = (r.ReadLine.ToString) 33 | 34 | 'Assign item to list 35 | If rule.StartsWith("//*") = False Then 36 | current_language_array.Add(rule) 37 | End If 38 | 39 | Loop 40 | End If 41 | 42 | 'Call for UIControl, the first is for all normal forms, followed by the top menu (unmanaged code), then each tab individually 43 | TranslateControl(UI) 44 | 45 | 'Translate the top menu of UI form. 46 | UI.btnSettings.Text = get_string("Settings") 47 | UI.btnAbout.Text = get_string("About JavaRa") 48 | 49 | 'Translate the version string 50 | UI.lblVersion.Text = get_string("version") & " " & Application.ProductVersion.Replace(".0.0", "") 51 | 52 | 'Translate multi-line text labels 53 | UI.Label5.Text = get_string("The removal routine will delete files, folder and registry entries that are known" & Environment.NewLine & get_string("to be associated with the older versions of the Java Runtime Environment")) 54 | UI.Label12.Text = get_string("Would you like to download and install the latest version of JRE? ") & Environment.NewLine & get_string("Use this interface.") 55 | UI.lblStep1.Text = get_string("We recommend that you try running the Java Runtime Environment's built-in") & Environment.NewLine & get_string("uninstaller before you continue.") 56 | 57 | Catch ex As Exception 58 | write_error(ex) 59 | End Try 60 | Return localization_support 61 | End Function 62 | 63 | 'Recursively translate a specific UI control 64 | Public Sub TranslateControl(ByVal Ctrl As Control) 65 | For Each ChildCtrl As Control In Ctrl.Controls 66 | If ChildCtrl.Text <> "" Then 67 | ChildCtrl.Text = get_string(ChildCtrl.Text.Replace(" ", "")) 68 | End If 69 | TranslateControl(ChildCtrl) 70 | Next 71 | End Sub 72 | 73 | 'Enumerate all ToolStripMenuItem controls in a given ToolStripMenu 74 | Public Sub GetMenues(ByVal Current As ToolStripMenuItem, ByRef menues As List(Of ToolStripMenuItem)) 75 | menues.Add(Current) 76 | For Each menu As ToolStripMenuItem In Current.DropDownItems 77 | GetMenues(menu, menues) 78 | Next 79 | End Sub 80 | 81 | 'Return the translated version of a string, depending on language 82 | Public Function get_string(ByVal initial_string As String) As String 83 | 84 | 'Don't execute if language is English 85 | If language = "English" Then 86 | Return initial_string 87 | End If 88 | 89 | 'FIX FOR "Remove JRE" string modification 90 | If initial_string = "Remove Java Runtime" Then 91 | initial_string = "Remove JRE" 92 | End If 93 | 94 | Dim new_string As String 95 | 96 | 'Iterate through the current list of strings 97 | For Each line As String In current_language_array 98 | 99 | 'Check if the list contains the initial string and the line break, which denotes the end of the string 100 | If line.StartsWith(initial_string & "|") Then 101 | 102 | 'Remove the initial string from the entry in the list 103 | new_string = line.Replace(initial_string & "|", "") 104 | 105 | 'Return the new string 106 | Return new_string 107 | 108 | 'Do not continue looping once correct translation has been found 109 | Exit Function 110 | 111 | End If 112 | Next 113 | 114 | 'If the code has reached this point, obviously no translation exists. Log this instance 115 | If IO.File.Exists(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\localizations\output_strings.true") Then 116 | untranslated_strings.Add(initial_string) 117 | End If 118 | 119 | 120 | ' Return the English line. 121 | Return initial_string 122 | End Function 123 | 124 | End Module 125 | -------------------------------------------------------------------------------- /routines_registry.vb: -------------------------------------------------------------------------------- 1 | Option Strict Off 2 | Imports Microsoft.Win32 3 | Module routines_registry 4 | 5 | 'Delete a registry key 6 | Public Sub delete_key(ByVal key As String) 7 | 'Check if the key exists first, reducing processing time and potential for errors. 8 | If RegKeyExists(key) = True Then 9 | Try 10 | 11 | 'Establish the subkey name 12 | Dim subkey_name As String 13 | subkey_name = key.Remove(0, key.LastIndexOf("\")) 14 | subkey_name = subkey_name.Trim("\") 15 | 16 | 'Establish which hive we are working with 17 | Dim reg_hive As String = "NULL" 18 | Dim parent_key As String = "NULL" 19 | 20 | 'Establish registry hive 21 | If key.StartsWith("HKLM\") Then 22 | reg_hive = "HKLM" 23 | parent_key = key.Replace("HKLM\", "") 24 | parent_key = parent_key.Replace(subkey_name, "") 25 | parent_key = parent_key.Trim("\") 26 | End If 27 | 28 | 'Classes root conditional 29 | If key.StartsWith("HKCR\") Then 30 | reg_hive = "HKCR" 31 | parent_key = key.Replace("HKCR\", "") 32 | parent_key = parent_key.Replace(subkey_name, "") 33 | parent_key = parent_key.Trim("\") 34 | End If 35 | 36 | 'Current Users hive conditional 37 | If key.StartsWith("HKCU\") Then 38 | reg_hive = "HKCU" 39 | parent_key = key.Replace("HKCU\", "") 40 | parent_key = parent_key.Replace(subkey_name, "") 41 | parent_key = parent_key.Trim("\") 42 | End If 43 | 44 | 'HKEY USERS hive conditional 45 | If key.StartsWith("HKUS\") Then 46 | reg_hive = "HKUS" 47 | parent_key = key.Replace("HKUS\", "") 48 | parent_key = parent_key.Replace(subkey_name, "") 49 | parent_key = parent_key.Trim("\") 50 | End If 51 | 52 | 'Assign the registry key variable. Set a default value to prevent compiler warning. 53 | Dim regKey As RegistryKey : regKey = Registry.LocalMachine.OpenSubKey("NULL", True) 54 | 55 | 'Set for HKEY_LOCAL_MACHINE 56 | If reg_hive = "HKLM" Then 57 | regKey = Registry.LocalMachine.OpenSubKey(parent_key, True) 58 | End If 59 | 60 | 'Set for HKEY_CLASSES_ROOT 61 | If reg_hive = "HKCR" Then 62 | regKey = Registry.ClassesRoot.OpenSubKey(parent_key, True) 63 | End If 64 | 65 | 'Set for HKEY_CURRENT_USERS 66 | If reg_hive = "HKCU" Then 67 | regKey = Registry.CurrentUser.OpenSubKey(parent_key, True) 68 | End If 69 | 70 | 'Set for HKEY_USERS 71 | If reg_hive = "HKUS" Then 72 | regKey = Registry.Users.OpenSubKey(parent_key, True) 73 | End If 74 | 75 | 'Run the deletion routine 76 | Try 77 | regKey.DeleteSubKey(subkey_name, True) 78 | write_log(get_string("Removed registry subkey:") & " " & subkey_name) 79 | UI.removal_count = UI.removal_count + 1 80 | Catch ex As InvalidOperationException 'If it contains children, must throw more powerful function. 81 | regKey.DeleteSubKeyTree(subkey_name) 82 | write_log(get_string("Removed registry subkey tree:") & " " & subkey_name) 83 | UI.removal_count = UI.removal_count + 1 84 | End Try 85 | 86 | 'Close the loop 87 | regKey.Close() 88 | 89 | Catch ex As Exception 90 | write_error(ex) 91 | End Try 92 | Else 93 | 'Registry key doesn't exist 94 | End If 95 | End Sub 96 | 97 | 'Create a text file containing a list of all installed JRE versions 98 | Public Sub output_jre_version() 99 | 'Define the path for the log 100 | Dim version_output_path As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) & "\version-output.log" 101 | 102 | 'Delete any previous instances of this file 103 | DeleteIfPermitted(version_output_path) 104 | 105 | 'Declare the textwriter 106 | Try 107 | Dim SW As IO.TextWriter 108 | SW = IO.File.AppendText(version_output_path) 109 | 110 | SW.WriteLine("Installed JRE Versions:" & Environment.NewLine & "========================") 111 | 112 | 113 | 'Loop through all installed JREs 114 | For Each InstalledJRE As JREInstallObject In UI.JREObjectList 115 | Try 116 | If InstalledJRE.Installed Then 117 | SW.WriteLine(InstalledJRE.Name & " version: " & InstalledJRE.Version) 118 | End If 119 | Catch ex As Exception 120 | write_error(ex) 121 | End Try 122 | Next 123 | 124 | SW.Close() 125 | 126 | 'show in notepad 127 | Process.Start(version_output_path) 128 | 129 | Catch ex As Exception 130 | write_error(ex) 131 | End Try 132 | End Sub 133 | 134 | 'Remove all startup entries corresponding to the JRE 135 | Public Sub delete_jre_startup_entries() 136 | Dim startup_reg As New List(Of String) : startup_reg.Add("jusched-Java Quick Start") : startup_reg.Add("SunJavaUpdateSched") : startup_reg.Add("Java(tm) Plug-In 2 SSV Helper") 137 | For Each item As String In startup_reg 138 | 'Delete the registry keys 139 | On Error Resume Next 140 | My.Computer.Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True).DeleteValue(item) 141 | On Error Resume Next 142 | My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True).DeleteValue(item) 143 | On Error Resume Next 144 | My.Computer.Registry.LocalMachine.OpenSubKey("Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run", True).DeleteValue(item) 145 | On Error Resume Next 146 | My.Computer.Registry.CurrentUser.OpenSubKey("Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run", True).DeleteValue(item) 147 | Next 148 | End Sub 149 | 150 | 'Enumerate all installed instances of the JRE 151 | Public Sub get_jre_uninstallers() 152 | 153 | 'Reset the list of installed JRE, allowing this code to be called multiple times 154 | UI.JREObjectList.Clear() 155 | 156 | 'Create a variable to store value information 157 | Dim sk As RegistryKey 158 | 159 | 'Create a list of possible installed-programs sources 160 | Dim regpath As New List(Of RegistryKey) 161 | regpath.Add(Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")) 162 | regpath.Add(Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")) 163 | regpath.Add(Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall")) 164 | regpath.Add(Registry.CurrentUser.OpenSubKey("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall")) 165 | 166 | 'Keep track of the image index 167 | Dim image_index As Integer = 0 168 | 169 | 'Loop through possible locations for lists of apps 170 | Try 171 | For Each reg_location As RegistryKey In regpath 172 | 173 | 'Declare the path to this individual list of installed programs 174 | Dim rk As RegistryKey = reg_location 175 | 176 | 'The real deal 177 | Dim skname() = rk.GetSubKeyNames 178 | 179 | 'Iterate through the keys located here 180 | For counter As Integer = 0 To skname.Length - 1 181 | 182 | 'Filter out empty keys 183 | sk = rk.OpenSubKey(skname(counter)) 184 | 185 | If sk.GetValue("DisplayName") Is Nothing = False Then 186 | 187 | 'Write the display name 188 | Dim name As String = CStr((sk.GetValue("DisplayName"))) 189 | Dim version As String 190 | Dim uninstall As String 191 | 192 | 193 | 'Write the version 194 | If sk.GetValue("DisplayVersion") Is Nothing = False Then 195 | version = (CStr((sk.GetValue("DisplayVersion")))) 196 | Else 197 | version = (get_string("Data Unavailable")) 198 | End If 199 | 200 | 'Save the tag for the uninstall path 201 | If sk.GetValue("UninstallString") Is Nothing Then 202 | uninstall = "" 203 | Else 204 | uninstall = (CStr((sk.GetValue("UninstallString")))) 205 | End If 206 | 207 | 208 | 'Check if entry is for Java 6 209 | If name.StartsWith("Java(TM) 6") Or name.ToString.StartsWith("Java 6 Update") = True Then 210 | UI.JREObjectList.Add(New JREInstallObject(name, version, uninstall)) 211 | End If 212 | 213 | 'Check if entry is for Java 7 214 | If name.StartsWith("Java(TM) 7") Or name.ToString.StartsWith("Java 7") = True Then 215 | UI.JREObjectList.Add(New JREInstallObject(name, version, uninstall)) 216 | End If 217 | 218 | End If 219 | Next 220 | Next 221 | 222 | Catch ex As Exception 223 | write_error(ex) 224 | End Try 225 | End Sub 226 | 227 | End Module 228 | --------------------------------------------------------------------------------