modules/fxpackager/src/main/java/com/oracle/tools/packager/windows/WinMsiBundler.java

Print this page

        

*** 609,618 **** --- 609,619 ---- data.put("PLATFORM", "x86"); data.put("WIN64", "no"); } data.put("UI_BLOCK", getUIBlock(params)); + data.put("APP_CDS_BLOCK", getAppCDSBlock(params)); List<Map<String, ? super Object>> secondaryLaunchers = SECONDARY_LAUNCHERS.fetchFrom(params); StringBuilder secondaryLauncherIcons = new StringBuilder(); for (int i = 0; i < secondaryLaunchers.size(); i++) {
*** 684,693 **** --- 685,711 ---- } return uiBlock; } + private String getAppCDSBlock(Map<String, ? super Object> params) { + String cdsBlock = ""; + if (UNLOCK_COMMERCIAL_FEATURES.fetchFrom(params) && ENABLE_APP_CDS.fetchFrom(params)) { + cdsBlock = + " <CustomAction Id=\"CACHE_CDS\"\n" + + " Directory=\"APPLICATIONFOLDER\"\n" + + " ExeCommand=\"[APPLICATIONFOLDER]" + WinAppBundler.getLauncherName(params) +" -Xappcds:generatecache\"\n" + + " Execute=\"commit\"\n" + + " Return=\"check\"/>\n" + + "\n" + + " <InstallExecuteSequence>\n" + + " <Custom Action=\"CACHE_CDS\" Before=\"InstallFinalize\" />\n" + + " </InstallExecuteSequence>"; + } + return cdsBlock; + } + private void walkFileTree(Map<String, ? super Object> params, File root, PrintStream out, String prefix) { List<File> dirs = new ArrayList<>(); List<File> files = new ArrayList<>(); if (!root.isDirectory()) {