You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: plugin-build/plugin/src/main/kotlin/io/github/kdroidfilter/nucleus/desktop/application/internal/configureGraalvmApplication.kt
+10-1Lines changed: 10 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -293,7 +293,14 @@ internal fun JvmApplicationContext.configureGraalvmApplication() {
293
293
val v3 = versionParts.getOrElse(2) { 0 }
294
294
val v4 = versionParts.getOrElse(3) { 0 }
295
295
296
-
// Generate DPI-aware application manifest
296
+
// Generate Windows side-by-side fusion manifest:
297
+
// - DPI awareness (Per-Monitor V2)
298
+
// - activeCodePage = UTF-8 (Windows 10 1903+) — works around a SubstrateVM
299
+
// bug where LoadLibraryA receives UTF-8 bytes interpreted as the system
300
+
// ANSI codepage, breaking native-image apps installed under non-ASCII
301
+
// paths (Hebrew/Arabic/Cyrillic/CJK usernames). See oracle/graal#8095
302
+
// and #10237 — the GraalVM team explicitly recommends this manifest.
303
+
// - longPathAware: opt into >MAX_PATH paths.
297
304
val manifestFile =File(rcDir, "dpiaware.manifest")
298
305
manifestFile.writeText(
299
306
"""
@@ -304,6 +311,8 @@ internal fun JvmApplicationContext.configureGraalvmApplication() {
0 commit comments