-
-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updated msi windows installers to use wix v5 #851
Conversation
Notes on my testing: Link to successful run on my fork (although I believe that this PR will also do the same checks): https://github.com/jmjaffe37/openjdk-installer/actions/runs/8624015173 |
Converted to draft due to ongoing release. Note: currently passing all PR checks |
Note: I had to change the xml propery ID |
Just did a test run using wix I also did an internal test run to create Microsoft OpenJDK MSIs and the resulting MSIs passed the test outlined above (install, correct java version, uninstall as expected) |
EDIT: I figured out how to test different languages. Below shows what I did: I have confirmed that all available translations (uncommented lines in /wix/Lang/LanguageList.config) are available and work as expected. Method used to test (run on powershell): This is true for MSIs created with wixV4 and wixV5 |
I think some useful testing will be to upgrade from older installations of Eclipse Temurin and MSFT builds of OpenJDK respectively. |
@douph1 - Are you able to check for French? For the rest I recommend adding a note to the installer channel in Slack and giving folks some instructions on how to self serve this PR and test translations. |
@karianna I actually figured out how to do it after posting that comment 😅 |
Another note: wix v5 was officially release (taken out of beta) on april 5th according to this blog post on their website: Since I did my testing on both wix v4.0.5 and wix v5.0.0 (the first non-beta version), would we like me to change the default wix version to 5.0.0? |
Yes please |
Note: to address a request made here: #888, I implemented a feature to allow vendors to implement custom licenses for hotspot JVMs. It also allows the vendors to choose whether or not to have the end user read and agree to this license (for example, this is optional for the GPLv2 license). Lastly, I added an explanation of this to the README.md Successful test run with visible GPLv2 license for See the PR check for a successful test run for Edit: looks like it was decided to remove this logic. The updates have3 been made to remove it properly. |
… updated README.md
raised adoptium/infrastructure#3545 to install wix v5.0.0 on the CI machines |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nitpicks
<RegistryValue Root="HKLM" | ||
Key="SOFTWARE\JavaSoft\$(var.OracleJavasoftBaseKey)\$(var.OracleVersionKey)" | ||
Name="RuntimeLib" Type="string" Value="[INSTALLDIR]$(var.DllPath)" KeyPath="no" /> | ||
<!-- Oracle doesn't set RuntimeLib for JDK .. because JRE is "private" JRE so no ?else? --> | ||
<?endif?> | ||
<RegistryValue Root="HKLM" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whitespace for this doesn't match your change above?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@karianna I am unsure which section you are referring to about the whitespace mismatch. I will say, some of the whitespace tweaks were done by @gdams, but I wanted to change back the inner blocks of if-statements to be indented so the reader is more clear on which lines fall within the if-statement block
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jmjaffe37 feel free to tweak them to however you prefer
Probably worth communicating this major change to the whole community and landing all of the related PRs in sync. Then we should ask for volunteers to test various scenarios (fresh install, upgrade from previously installed version with old WIX installer, downgrade etc). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested GHA built MSI installers for JDK8, JDK11, JDK17 & JDK21 on Windows x64, all behave as expected, other than an expected oddity with upgrade behaviour, which will work normally when this PR is merged. Approving on that basis.
Hi @jmjaffe37 great work. I have added perUser installer capability in #107 Some time later, Adoptium team have decided that perUser is not the way to go and won't be supported anymore:
If ALLUSERS was here it was only because cleanup was not done by the dev who disable perUser capability.. |
Thanks for letting me know @douph1! This raises a few questions for me:
Thanks! |
@jmjaffe37 For that last point (docs) - you can send a PR into the adoptium.net repo. |
Adoptium don't build/test/publish arm64 (AArch64) MSI installer. So this is not documented on the Website, but you can add some wording on wix/README.md |
In moving to wix v5, some of the code could be simplified a bit (mainly:
light.exe
andcandle.exe
commands could be combined into one). For end users to use this wix installer creation tool, they will just need to run:dotnet tool install --global wix --version 5.0.0
To install wix
5.0.0
(or they can install another version of wix v4 or wix v5 if they so choose).