Support the use of a custom msi wrapper executable when building an exe 
installer.

Put `installer.exe` file in the resource directory and jpackage will use it 
instead of the default `msiwrapper.exe` resource for exe installer.

To test this feature created a test that builds exe installer with a custom 
icon. The result installer exe is used as a custom msi wrapper executable in 
the second jpackage command that builds exe installer with the default icon. 
The installer exe produced by the second jackage command should have the same 
icon as the exe installer created in the first jpackage run.

Moved code verifying icons in executables from 
`LauncherIconVerifier.WinIconVerifier` class into `WinExecutableIconVerifier` 
class to make it available for tests. Replaced inline powershell script 
extracting icons from executables with standalone `read-executable-icon.ps1` 
powershell script. The script uses `ExtractIcon` instead of 
`ExtractAssociatedIcon`. It extracts icon from the executable's resources and 
will not fall back to anything if there is no icon resource.

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

Commit messages:
 - Fix modifier order
 - Update copyright year
 - 8326447: jpackage creates Windows installers that cannot be signed

Changes: https://git.openjdk.org/jdk/pull/23732/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23732&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8326447
  Stats: 652 lines in 7 files changed: 453 ins; 193 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/23732.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23732/head:pull/23732

PR: https://git.openjdk.org/jdk/pull/23732

Reply via email to