Adds support for "uninstall" parameter for exe uninstallers created by jpackage.
Added logging and error reporting to exe uninstallers.

- jpackage jni lib (jpackage.cpp): added functionality to extract ProductCode 
property from msi file before the file is embedded in exe installer. Extracted 
value of ProductCode property is saved as another resource entry in exe 
installer. Value of this property is needed for uninstall.
- exe installer (MsiWrapper.cpp): added functionality to extract value of 
ProductCode from the resources and use it to uninstall the product. The code is 
not invoking msiexec.exe, but uses MSI API directly. Besides improved logging 
and error reporting. Previously it didn't exist at all, nothing was written to 
console/message box displayed in case of any errors.

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

Commit messages:
 - 8255899: Allow uninstallation of jpackage exe bundles
 - 8255899: Allow uninstallation of jpackage exe bundles

Changes: https://git.openjdk.java.net/jdk/pull/1770/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1770&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8255899
  Stats: 2522 lines in 27 files changed: 2147 ins; 354 del; 21 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1770.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1770/head:pull/1770

PR: https://git.openjdk.java.net/jdk/pull/1770

Reply via email to