--- /Applications/NetBeans/netbeans 6.9/harness/nbi/stub/ext/components/products/helloworld/src/org/mycompany/ConfigurationLogic.java 2010-06-10 19:57:58.000000000 +0200 +++ /Applications/NetBeans/NetBeans 6.9.app/Contents/Resources/NetBeans/harness/nbi/stub/ext/components/products/helloworld/src/org/mycompany/ConfigurationLogic.java 2010-07-30 09:11:19.000000000 +0200 @@ -54,9 +54,11 @@ public class ConfigurationLogic extends final Product product = getProduct(); final File installLocation = product.getInstallationLocation(); //final FilesList filesList = product.getInstalledFiles(); + String appName=ResourceUtils.getString(ConfigurationLogic.class, "CL.app.name"); if (SystemUtils.isMacOS()) { - File f = new File(installLocation, ICON_MACOSX); + //normen: use parent folder of install dir for icon + File f = new File(installLocation.getParentFile(), ICON_MACOSX); if(!f.exists()) { try { FileUtils.writeFile(f, @@ -68,10 +70,26 @@ public class ConfigurationLogic extends "... cannot handle icns icon " + f, e); // NOI18N } } + + //normen: rename executable + File shortcut=new File(installLocation.getParentFile().getParent()+"/MacOS/executable"); + if(shortcut.exists()){ + shortcut.renameTo(new File(installLocation.getParentFile().getParent()+"/MacOS/"+appName)); + } + + //normen: replace icon + app in Info.plist + try { + File plist=new File(installLocation.getParentFile().getParentFile(),"Info.plist"); + FileUtils.modifyFile(plist, "icon.icns", appName+".icns"); + FileUtils.modifyFile(plist, "executable", appName); + } catch (Exception e) { + e.printStackTrace(); + } } + if (Boolean.parseBoolean(getProperty(HelloWorldPanel.CREATE_DESKTOP_SHORTCUT_PROPERTY))) { LogManager.logIndent( "creating the desktop shortcut for the application"); // NOI18N