|
5 | 5 | import io.github.fvarrui.javapackager.model.Platform; |
6 | 6 | import io.github.fvarrui.javapackager.model.WindowsConfig; |
7 | 7 | import io.github.fvarrui.javapackager.model.WindowsExeCreationTool; |
8 | | -import io.github.fvarrui.javapackager.utils.CommandUtils; |
9 | 8 | import io.github.fvarrui.javapackager.utils.FileUtils; |
10 | 9 | import io.github.fvarrui.javapackager.utils.Logger; |
| 10 | +import io.github.fvarrui.javapackager.utils.RcEdit; |
11 | 11 | import io.github.fvarrui.javapackager.utils.VelocityUtils; |
12 | 12 |
|
13 | 13 | /** |
@@ -56,25 +56,22 @@ protected File doApply(WindowsPackager packager) throws Exception { |
56 | 56 | // creates generic exe |
57 | 57 | FileUtils.copyResourceToFile("/windows/JavaLauncher.exe", getGenericExe(), packager.getAssetsDir()); |
58 | 58 |
|
59 | | - // copies rcedit command line tool (needed to manipulate exe) |
60 | | - File rcedit = new File(getOutputFolder(), "rcedit.exe"); |
61 | | - FileUtils.copyResourceToFile("/windows/rcedit-x64.exe", rcedit); |
62 | | - |
63 | 59 | // generates ini file |
64 | 60 | File genericIni = new File(getOutputFolder(), "launcher.ini"); |
65 | 61 | VelocityUtils.render("windows/why-ini.vtl", genericIni, packager); |
66 | 62 | Logger.info("INI file generated in " + genericIni.getAbsolutePath() + "!"); |
67 | 63 |
|
68 | | - // process EXE with rcedit-x64.exe |
69 | | - CommandUtils.execute(rcedit, getGenericExe(), "--set-icon", getGenericIcon()); |
70 | | - CommandUtils.execute(rcedit, getGenericExe(), "--application-manifest", getGenericManifest()); |
71 | | - CommandUtils.execute(rcedit, getGenericExe(), "--set-version-string", "FileDescription", name); |
72 | | - CommandUtils.execute(rcedit, getGenericExe(), "--set-file-version", winConfig.getFileVersion()); |
73 | | - CommandUtils.execute(rcedit, getGenericExe(), "--set-product-version", winConfig.getProductVersion()); |
74 | | - CommandUtils.execute(rcedit, getGenericExe(), "--set-version-string", "CompanyName", winConfig.getCompanyName()); |
75 | | - CommandUtils.execute(rcedit, getGenericExe(), "--set-version-string", "InternalName", winConfig.getInternalName()); |
76 | | - CommandUtils.execute(rcedit, getGenericExe(), "--set-version-string", "OriginalFilename",winConfig.getOriginalFilename()); |
77 | | - CommandUtils.execute(rcedit, getGenericExe(), "--set-version-string", "ProductName", winConfig.getProductName()); |
| 64 | + // set exe metadata with rcedit |
| 65 | + RcEdit rcedit = new RcEdit(getOutputFolder()); |
| 66 | + rcedit.setIcon(getGenericExe(), getGenericIcon()); |
| 67 | + rcedit.setManifest(getGenericExe(), getGenericManifest()); |
| 68 | + rcedit.setFileVersion(getGenericExe(), winConfig.getFileVersion()); |
| 69 | + rcedit.setProductVersion(getGenericExe(), winConfig.getProductVersion()); |
| 70 | + rcedit.setVersionString(getGenericExe(), "FileDescription", name); |
| 71 | + rcedit.setVersionString(getGenericExe(), "CompanyName", winConfig.getCompanyName()); |
| 72 | + rcedit.setVersionString(getGenericExe(), "InternalName", winConfig.getInternalName()); |
| 73 | + rcedit.setVersionString(getGenericExe(), "OriginalFilename", winConfig.getOriginalFilename()); |
| 74 | + rcedit.setVersionString(getGenericExe(), "ProductName", winConfig.getProductName()); |
78 | 75 |
|
79 | 76 | // copies JAR to app folder |
80 | 77 | FileUtils.copyFileToFolder(jarFile, appFolder); |
|
0 commit comments