RFR: 8319457: Update jpackage to support WiX Toolset 4 on Windows
Alexey Semenyuk
asemenyuk at openjdk.org
Tue Jun 4 12:36:34 UTC 2024
On Tue, 4 Jun 2024 02:41:29 GMT, Alexander Matveev <almatvee at openjdk.org> wrote:
>> Add support for WiX4 (and WiX5) in jpackage.
>>
>> jpackage supports WiX3, WiX4 and WiX5. It will pick WiX4/WiX5 if one of them is installed and there is WiX3 installed too. (Note: WiX4 and WiX5 are not supposed to be installed side-by-side, but if it happens, WiX5 will be preferred over WiX4).
>>
>> Custom WiX3 sources will be automatically converted to WiX4 format if WiX4/WiX5 is used. The converter provides:
>>
>> - full support of the conversion of WiX L10N (.wxl) files, i.e. full support of "http://schemas.microsoft.com/wix/2006/localization" to "http://wixtoolset.org/schemas/v4/wxl" namespace conversion;
>> - partial support of WiX source (.wxs) files, i.e. partial support of "http://schemas.microsoft.com/wix/2006/wi" to "http://wixtoolset.org/schemas/v4/wxs" namespace conversion;
>>
>> The converter is a XSLT stylesheet. The default converter is `src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/wix3-to-wix4-conv.xsl`. It can be replaced with the custom converter by adding "wix-conv.xsl" file to the resource directory.
>
> src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WixTool.java line 51:
>
>> 49: Candle3("candle", DottedVersion.lazy("3.0")),
>> 50: Light3("light", DottedVersion.lazy("3.0")),
>> 51: Wix4("wix", DottedVersion.lazy("4.0.4"));
>
> Is there any reason to use "4.0.4" here? Latest released version is "4.0.5". Can we just put "4.0" similar to "3.0".
WiX4 prior v4.0.4 has a security vulnerability - https://www.tenable.com/plugins/nessus/190557
So v4.0.4 is the minimal WiX4 version jpackage will support.
As for WiX3, I don't think we should alter the minimal supported version due to backward compatibility.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19318#discussion_r1625923156
More information about the core-libs-dev
mailing list