annotate scripts/windows/launcher.vbs @ 75:7f5b3824f4d4

add Windows
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 18 Jun 2025 18:57:34 -0600
parents
children 1beb4c57c269
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
75
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 ' test with: wscript launcher.vbs
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 ' compile with: ISCC installer.iss
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 url = "https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html"
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 Set shell = CreateObject("WScript.Shell")
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 ' Try to read Oracle JDK install path from registry
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9 On Error Resume Next
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10 jdkHome = shell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8\JavaHome")
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11 If jdkHome = "" Then
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12 MsgBox "Oracle JDK 8 not found. Please install it from " & url, vbCritical, "Missing JDK"
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 shell.Run url
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 WScript.Quit 1
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 End If
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 On Error GoTo 0
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18 ' Get the directory of this script
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 Set fso = CreateObject("Scripting.FileSystemObject")
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20 scriptDir = fso.GetParentFolderName(WScript.ScriptFullName)
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22 ' Build log path
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 logDir = shell.ExpandEnvironmentStrings("%LOCALAPPDATA%") & "\LuanEditor"
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
24 If Not fso.FolderExists(logDir) Then
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
25 fso.CreateFolder(logDir)
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
26 End If
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
27 logFile = logDir & "\error.log"
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
28
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
29 configDir = shell.ExpandEnvironmentStrings("%APPDATA%") & "\LuanEditor"
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
30 If Not fso.FolderExists(configDir) Then
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31 fso.CreateFolder(configDir)
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32 End If
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
33 configFile = """" & configDir & "\config.json"""
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
34
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
35 ' Build and run the command
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
36 classpath = """" & scriptDir & "\jars\*.jar""" ' include all .jar files
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
37 dictionaries = """" & scriptDir & "\dictionaries\\"""
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
38 cmd = "cmd /c """"" & jdkHome & "\bin\java.exe"" -Dconfig=" & configFile & " -Ddictionaries=" & dictionaries & " -cp """ & scriptDir & "\jars\*"" luan.Luan classpath:luan_editor/editor.luan > """ & logFile & """ 2>&1"""
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
39 Set f = fso.OpenTextFile(logDir & "\debug_command.txt", 2, True)
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
40 f.WriteLine cmd
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
41 f.Close
7f5b3824f4d4 add Windows
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
42 shell.Run cmd, 0, False