On Sat, 26 Apr 2025 13:17:16 GMT, Oliver Kopp <d...@openjdk.org> wrote:

>>> jpackage allows override of main WiX source file (main.wxs), do you know 
>>> what will happen if user will add main.wxs with format features available 
>>> only in WiX 5 and will have WiX 5 toolkit installed?
>> 
>> jpackage will detect the custom main.wxs is WiX4 format and pass it as is to 
>> `wix.exe`. I.e. custom WiX5 main.wxs will work with WiX5 toolkit.
>> However, it will fail if they try using custom main.wxs with WiX5-specific 
>> features with WiX4 toolkit. But this is out of the scope of jpackage.
>> 
>>> Do you know if there any benefits to use any features available in WiX5 if 
>>> WiX5 toolkit is installed, instead of using only WiX4 features with WiX5 
>>> toolkit?
>> 
>> As far as I can tell from https://wixtoolset.org/docs/fivefour/, WiX5 
>> reduces the redundancy of source files compared to WiX4. I can see how 
>> people handwriting sophisticated WiX source files can benefit from these 
>> improvements, not jpackage. The default main.wxs and two dialogs jpackage 
>> supplies are very basic and other sources are generated.
>
>> jpackage allows override of main WiX source file (main.wxs), do you know 
>> what will happen if user will add main.wxs with format features available 
>> only in WiX 5 and will have WiX 5 toolkit installed?
> 
> @alexeysemenyukoracle Related question: Generation of `main.wxs` was moved 
> from `prepareMainProjectFile` to `buildMSI`. This breaks [our patches 
> to](https://github.com/JabRef/jabref/blob/95dcbe64659ced52627e012f2b6b5a60a9bb21b1/buildres/windows/JabRef-post-image.wsf#L18)
>  `main.wxs` (which used to work for 6+ years now) 
> 
> Quoting 
> https://docs.oracle.com/en/java/javase/24/jpackage/override-jpackage-resources.html#GUID-62412365-821D-4736-A20D-70F2D47136D8,
>  the `post-image` script is executed before `buildMSI` (which is right).
> 
>> Custom script that is **executed after the application image** is created 
>> and **before the MSI installer is built** for both .msi and .exe packages. 
>> No default script is provided. 
> 
> I would expect that all files are available before the "Post-image script" 
> are available - and not generated **after** any **Post**-image script is run.

@koppor , ["JabRef post-image" 
script](https://github.com/JabRef/jabref/blob/95dcbe64659ced52627e012f2b6b5a60a9bb21b1/buildres/windows/JabRef-post-image.wsf#L18)
 has a couple of issues:
 - A path to the "config" directory is derived from the current process 
directory. This logic is fragile and redundant. jpackage runs a copy of the 
"post-image" script from the "config" directory, so the path to the "config" 
directory is the parent folder of the script:

var installerConfig = fileSystem.GetFile(WScript.ScriptFullName).ParentFolder;

-------------

PR Comment: https://git.openjdk.org/jdk/pull/19318#issuecomment-2839387341

Reply via email to