ADDITIONAL SYSTEM INFORMATION :
Windows 10,11 tested with java 17.0.2
A DESCRIPTION OF THE PROBLEM :
jpackage attempts to detect the version of candle in the wixtoolkit by running "candle.exe /?" this fails when the Windows operating system is in FIPS mode. The resultant output is not parsable for the version string. This cannot be fixed by adjusting the wix input files (min.wxs, overrides.wxi) in the resource directory.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Enable FIPS mode on a Windows system. Install WixToolset as required for jpackage. run jpackage on a java projsect/jar with the --type argument set to exe or wsi.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A packaged .exe or .msi file.
Note the ToolValidator class is expecting "Windows Installer XML Toolset Compiler version 3.11.2.4516" as the first line of output from the candle.exe test.
ACTUAL -
[13:52:01.647] Running candle.exe
[13:52:02.148] jdk.jpackage.internal.PackagerException: Error: Invalid or unsupported type: [exe]
at jdk.jpackage/jdk.jpackage.internal.Arguments.generateBundle(Arguments.java:670)
at jdk.jpackage/jdk.jpackage.internal.Arguments.processArguments(Arguments.java:550)
at jdk.jpackage/jdk.jpackage.main.Main.execute(Main.java:91)
at jdk.jpackage/jdk.jpackage.main.Main.main(Main.java:52)
[13:52:02.148] Detected [candle.exe] version project. but version 3.0 is required.
[13:52:02.148] Download WiX 3.0 or later from https://wixtoolset.org and add it to the PATH.
Note: wixtoolset is on the path and is of the correct version.
The actual output from candle.exe test is:
candle.exe : error CNDL0308 : The Federal Information Processing Standard (FIPS) appears to be enabled on the machine. You must either disable FIPS or use FIPS-compliant security algorithms to generate IDs by passing the -fips command-line switch or by setting <FipsCompliant>true</FipsCompliant> in your .wixproj project.
CUSTOMER SUBMITTED WORKAROUND :
None found.
The test for the candle.exe version occurs in such a way that candle.exe does not read the wix configuration files.
It is suggested that an additional argument to the windows section of jpackage be added to add the "-fips" argument when running candle.exe or other wix utilities.
for example --wix-fips=true.
FREQUENCY : always
Windows 10,11 tested with java 17.0.2
A DESCRIPTION OF THE PROBLEM :
jpackage attempts to detect the version of candle in the wixtoolkit by running "candle.exe /?" this fails when the Windows operating system is in FIPS mode. The resultant output is not parsable for the version string. This cannot be fixed by adjusting the wix input files (min.wxs, overrides.wxi) in the resource directory.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Enable FIPS mode on a Windows system. Install WixToolset as required for jpackage. run jpackage on a java projsect/jar with the --type argument set to exe or wsi.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A packaged .exe or .msi file.
Note the ToolValidator class is expecting "Windows Installer XML Toolset Compiler version 3.11.2.4516" as the first line of output from the candle.exe test.
ACTUAL -
[13:52:01.647] Running candle.exe
[13:52:02.148] jdk.jpackage.internal.PackagerException: Error: Invalid or unsupported type: [exe]
at jdk.jpackage/jdk.jpackage.internal.Arguments.generateBundle(Arguments.java:670)
at jdk.jpackage/jdk.jpackage.internal.Arguments.processArguments(Arguments.java:550)
at jdk.jpackage/jdk.jpackage.main.Main.execute(Main.java:91)
at jdk.jpackage/jdk.jpackage.main.Main.main(Main.java:52)
[13:52:02.148] Detected [candle.exe] version project. but version 3.0 is required.
[13:52:02.148] Download WiX 3.0 or later from https://wixtoolset.org and add it to the PATH.
Note: wixtoolset is on the path and is of the correct version.
The actual output from candle.exe test is:
candle.exe : error CNDL0308 : The Federal Information Processing Standard (FIPS) appears to be enabled on the machine. You must either disable FIPS or use FIPS-compliant security algorithms to generate IDs by passing the -fips command-line switch or by setting <FipsCompliant>true</FipsCompliant> in your .wixproj project.
CUSTOMER SUBMITTED WORKAROUND :
None found.
The test for the candle.exe version occurs in such a way that candle.exe does not read the wix configuration files.
It is suggested that an additional argument to the windows section of jpackage be added to add the "-fips" argument when running candle.exe or other wix utilities.
for example --wix-fips=true.
FREQUENCY : always
- links to
-
Commit(master) openjdk/jdk/ff52859d
-
Review(master) openjdk/jdk/23612