adoptium / adoptium/installer

MSI Installer adds JDK to beginning of System's PATH variable

Open
#395 10 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Jinja
Stars
168
Forks
77
Avg merge
2d 14h
Merged PRs (30d)
12

Description

Upon installation of the JDK with the MSI installer, the installer configures the JDK directory right at the beginning of the System's PATH environment variable. According to some Windows experts, the JDK path should be appended to the end of System's PATH, or as a User's PATH variable.

Secondary bug: when JAVA_HOME feature is selected in the MSI installer, it will configure this variable in the System's variables table, but it will not reference it in the PATH environment variable. Meaning: the full path of the JDK is in the PATH and in the JAVA_HOME.

As for clarity, this is how Path is evaluated on Windows terminals:

`Path = %Path% (System) ; %Path% (User)`

Here are the changes I believe are adequate for the MSI installer, but most importantly, to initiate the discussion:

1. Add a way to allow the user to choose whether to configure the JDK in the User variables or System variables. The default selection should be `User`.
1. If the user selects System, it should be appended (end). If user selects User variable, it should be prepended (start).
1. If the user selects JAVA_HOME to be configured, the PATH variable should reference it - `%JAVA_HOME%\bin`.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the MSI installer’s configuration of System and User PATH variables and JAVA_HOME. Compare the requested prepend/append behavior and JAVA_HOME-based PATH reference; done means the selected variable scope, ordering, and reference behave as described.

Written by the indexing model from the issue text.

Assessment

Domain
operating-systems, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.