Little bit late, Andy has pushed the patch already. Please find my comment below.

On 10/18/2019 6:15 PM, Alexander Matveev wrote:
Hi Alexey,

http://cr.openjdk.java.net/~asemenyuk/8223325/webrev.00/src/jdk.jpackage/share/classes/jdk/jpackage/internal/AppImageFile.java.frames.html
Line 180: man -> main

http://cr.openjdk.java.net/~asemenyuk/8223325/webrev.00/src/jdk.jpackage/share/classes/jdk/jpackage/internal/IOUtils.java.frames.html
createXml() should we force it to UTF-8? Like we did in MacPkgBundler.
XMLStreamWriter.writeStartDocument() without arguments should create `<?xml version=“1.0” encoding=“utf-8”?>` xml declaration. I'm not sure though that UTF-8 encoding would be used for underlying java.io.Writer. I agree this should be reworked to make sure we save xml in file with UTF-8 encoding.

http://cr.openjdk.java.net/~asemenyuk/8223325/webrev.00/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WixTool.java.html findWixInstallDirs() I think we used to check PATH variable as well for Wix.
The same approach is used in WixTool. But instead of parsing PATH variable jpackage tries to launch light.exe or candle.exe without specifying full paths to them first, i.e. it checks if they are in PATH without parsing value of PATH variable. In case of failure it checks for well known install dirs. Please look at WixTool.find() method for the logic of locating WiX tools.

In any case this needs to be fixed. We cannot assume "C:\Program Files".
Agree.

This folder can be on different drive, so it is better to use Windows API to get path to "Program Files".
There is environment variable for program files - PROGRAMFILES. However it is not always set (e.g. jtreg resets it). Another approach would be to query registry value for the path to program files folder. So there are different options. I just decided not to touch "C:\Program Files" as the patch is already quite messy.

I created follow up for your findings - https://bugs.openjdk.java.net/browse/JDK-8232646.

- Alexey

Also, user might install Wix into different folder. I think it is better to file a bug and improve it eventually.

Looks good overall.

Thanks,
Alexander

On 10/17/19 3:24 PM, Alexey Semenyuk wrote:
Please review the jpackage fix for bug [1] at [2].

This is a fix for the JDK-8200758-branch branch of the open sandbox repository (jpackage).

- moved code creating WiX sources for app image from WinMsiBundler in a separate class - WixSourcesBuilder;
- put at most one file in component in WiX sources;
- use StAX to create WiX sources;
- added IOUtils.createXml function to simplify xml creation;
- added basic javadoc to AppImageFile class;
- added support for use of icons in file associations test for better coverage; - fixed the bug with not excluded `.jpackage.xml` from installed app image on Windows; - improved test output isolation when jpackage tests are executed not with jtreg framework;
- bugfix of MainClassTest test class;

- Alexey

[1] https://bugs.openjdk.java.net/browse/JDK-8223325

[2] http://cr.openjdk.java.net/~asemenyuk/8223325/webrev.00/



Reply via email to