diff -r a561014c28d0 -r 2c43b89b1679 src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java --- a/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java Tue Oct 15 14:00:04 2019 -0400 +++ b/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java Wed Oct 16 09:57:23 2019 -0400 @@ -28,6 +28,7 @@ import java.io.*; import java.nio.charset.Charset; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; import java.text.MessageFormat; import java.util.*; @@ -35,6 +36,7 @@ import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; +import static jdk.jpackage.internal.OverridableResource.createResource; import static jdk.jpackage.internal.WindowsBundlerParam.*; @@ -527,12 +529,12 @@ private void prepareBasicProjectConfig( Map params) throws IOException { - fetchResource(getConfig_Script(params).getName(), - I18N.getString("resource.post-install-script"), - (String) null, - getConfig_Script(params), - VERBOSE.fetchFrom(params), - RESOURCE_DIR.fetchFrom(params)); + + Path scriptPath = getConfig_Script(params).toPath(); + + createResource(null, params) + .setCategory(I18N.getString("resource.post-install-script")) + .saveToFile(scriptPath); } private static String relativePath(File basedir, File file) { @@ -663,7 +665,7 @@ if (INSTALLDIR_CHOOSER.fetchFrom(params)) { data.put("JpInstallDirChooser", "yes"); String fname = "wixhelper.dll"; - try (InputStream is = getResourceAsStream(fname)) { + try (InputStream is = OverridableResource.readDefault(fname)) { Files.copy(is, Paths.get( CONFIG_ROOT.fetchFrom(params).getAbsolutePath(), fname)); @@ -673,14 +675,14 @@ // Copy l10n files. for (String loc : Arrays.asList("en", "ja", "zh_CN")) { String fname = "MsiInstallerStrings_" + loc + ".wxl"; - try (InputStream is = getResourceAsStream(fname)) { + try (InputStream is = OverridableResource.readDefault(fname)) { Files.copy(is, Paths.get( CONFIG_ROOT.fetchFrom(params).getAbsolutePath(), fname)); } } - try (InputStream is = getResourceAsStream("main.wxs")) { + try (InputStream is = OverridableResource.readDefault("main.wxs")) { Files.copy(is, Paths.get( getConfig_ProjectFile(params).getAbsolutePath())); }