Am 04.03.25 um 10:34 schrieb Rainer Jung:
Hi all,

...

The rough idea is: switch back to a multi step build, first generate the uninstaller, sign it, then generate the real installer an sign it. But avoid the need to run the temporary installer. How? NSIS does not have an explicit statement to write our the uninstaller, but the uninstaller callback "!uninstfinalize" we currently use to sign the uninstaller gets the path to a temporary file containing the uninstaller as "%1". So instead of calling ant to sign the file, we could:

  - run nsis such that it gets to "!uninstfinalize" and instead of calling ant to sign, try to copy the file "%1" to ${tomcat.dist}.

   - sign the file

  - now run nsis to generate the final installer including that signed uninstaller

   - sign the uninstaller

I implemented this and tested it on Linux with custom makensis and on Windows with native makensis.exe. I could not test the codesigning part on Windows, because I did not have the right detached signatures and using a wrong one seems to prevent NSIS from packaging the Uninstall.exe (a mmap call used by nsis seems to fail).

I could not really test for wine, but at least the callback step is now much more trivial, just a copy of a file to the current directory. No more ant calls from the NSIS callback.

It would be nice, if people could try it with wine and the other toolsets used, so that we know before the next release round, whether this works or not.

Thanks a bunch!

Regards,

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to