> 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.
Alexey Semenyuk has updated the pull request incrementally with one additional commit since the last revision: Use ExtractIconEx() WinAPI to extract icons from executables, as it doesn't rely on GetLastError() to deliver error information to the caller. GetLastError() is not reliable in managed code. ------------- Changes: - all: https://git.openjdk.org/jdk/pull/23732/files - new: https://git.openjdk.org/jdk/pull/23732/files/32a8a696..31ebde0c Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=23732&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23732&range=00-01 Stats: 9 lines in 1 file changed: 3 ins; 0 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