├── .classpath ├── .cvsignore ├── .gitignore ├── .project ├── LICENSE.txt ├── NSIS_Installer.nsi ├── README.md ├── bin ├── .cvsignore ├── COPYING ├── bin-linux │ ├── ld │ └── windres ├── bin-macosx-ppc │ ├── ld │ ├── readme.txt │ └── windres ├── bin-macosx-x86 │ ├── ld │ ├── readme.txt │ └── windres ├── bin-solaris-sparc │ ├── ld │ └── windres ├── bin-win32 │ ├── ld.exe │ └── windres.exe ├── ld └── windres ├── build-private.xml ├── build.xml ├── demo ├── ConsoleApp │ ├── .cvsignore │ ├── ConsoleApp.exe │ ├── build.bat │ ├── build.xml │ ├── l4j │ │ └── ConsoleApp.ico │ ├── lib │ │ └── readme.txt │ ├── readme.txt │ └── src │ │ └── net │ │ └── sf │ │ └── launch4j │ │ └── example │ │ └── ConsoleApp.java ├── LICENSE.txt ├── SimpleApp │ ├── .cvsignore │ ├── SimpleApp.exe │ ├── build.bat │ ├── build.xml │ ├── l4j │ │ ├── SimpleApp.ico │ │ ├── SimpleApp.xml │ │ └── splash.bmp │ ├── lib │ │ └── readme.txt │ ├── readme.txt │ └── src │ │ └── net │ │ └── sf │ │ └── launch4j │ │ └── example │ │ └── SimpleApp.java └── readme.txt ├── head └── LICENSE.txt ├── head_src ├── LICENSE.txt ├── consolehead │ ├── Makefile.win │ ├── consolehead.c │ └── consolehead.dev ├── guihead │ ├── Makefile.win │ ├── guihead.c │ ├── guihead.dev │ └── guihead.h ├── head.c ├── head.h └── resource.h ├── l4j ├── launch4j-use.odg ├── launch4j.bmp ├── launch4j.xml ├── launch4jc.xml ├── nsis │ ├── launch4j-setup-license.txt │ └── launch4j.nsi └── web │ ├── bullet.gif │ ├── changelog.html │ ├── changelog_es.html │ ├── docs.html │ ├── docs_es.html │ ├── footer.html │ ├── footer_es.html │ ├── header.html │ ├── header_es.html │ ├── index.html │ ├── index_es.html │ ├── launch4j-use.gif │ ├── launch4j.gif │ ├── links.html │ ├── links_es.html │ └── style.css ├── launch4j ├── launch4j.jfpr ├── lib ├── JGoodies.Forms.LICENSE.txt ├── JGoodies.Looks.LICENSE.txt ├── Nuvola.Icon.Theme.LICENSE.txt ├── XStream.LICENSE.txt ├── ant.LICENSE.txt ├── commons.LICENSE.txt └── foxtrot.LICENSE.txt ├── manifest ├── uac.exe.manifest └── xp-themes.exe.manifest ├── sign4j ├── README.txt ├── sign4j.c └── sign4j.exe ├── src ├── images │ ├── asterix-o.gif │ ├── asterix.gif │ ├── build.png │ ├── button_ok.png │ ├── cancel16.png │ ├── down16.png │ ├── edit_add16.png │ ├── info.png │ ├── new.png │ ├── new16.png │ ├── ok16.png │ ├── open.png │ ├── open16.png │ ├── run.png │ ├── save.png │ └── up16.png ├── launch4j.properties └── net │ └── sf │ └── launch4j │ ├── Builder.java │ ├── BuilderException.java │ ├── ExecException.java │ ├── FileChooserFilter.java │ ├── Log.java │ ├── Main.java │ ├── Messages.java │ ├── OptionParser.java │ ├── RcBuilder.java │ ├── Util.java │ ├── ant │ ├── AntClassPath.java │ ├── AntConfig.java │ ├── AntJre.java │ ├── Launch4jTask.java │ ├── Messages.java │ ├── StringWrapper.java │ ├── messages.properties │ └── messages_es.properties │ ├── binding │ ├── Binding.java │ ├── BindingException.java │ ├── Bindings.java │ ├── IValidatable.java │ ├── InvariantViolationException.java │ ├── JComboBoxBinding.java │ ├── JListBinding.java │ ├── JRadioButtonBinding.java │ ├── JTextAreaBinding.java │ ├── JTextComponentBinding.java │ ├── JToggleButtonBinding.java │ ├── Messages.java │ ├── OptComponentBinding.java │ ├── OptJTextAreaBinding.java │ ├── Validator.java │ ├── messages.properties │ └── messages_es.properties │ ├── config │ ├── ClassPath.java │ ├── Config.java │ ├── ConfigPersister.java │ ├── ConfigPersisterException.java │ ├── Jre.java │ ├── LdDefaults.java │ ├── Messages.java │ ├── Msg.java │ ├── SingleInstance.java │ ├── Splash.java │ ├── VersionInfo.java │ ├── messages.properties │ └── messages_es.properties │ ├── form │ ├── BasicForm.java │ ├── BasicForm.jfrm │ ├── ClassPathForm.java │ ├── ClassPathForm.jfrm │ ├── ConfigForm.java │ ├── ConfigForm.jfrm │ ├── EnvironmentVarsForm.java │ ├── EnvironmentVarsForm.jfrm │ ├── HeaderForm.java │ ├── HeaderForm.jfrm │ ├── JreForm.java │ ├── JreForm.jfrm │ ├── Messages.java │ ├── MessagesForm.java │ ├── MessagesForm.jfrm │ ├── SingleInstanceForm.java │ ├── SingleInstanceForm.jfrm │ ├── SplashForm.java │ ├── SplashForm.jfrm │ ├── VersionInfoForm.java │ ├── VersionInfoForm.jfrm │ ├── messages.properties │ └── messages_es.properties │ ├── formimpl │ ├── AbstractAcceptListener.java │ ├── BasicFormImpl.java │ ├── BrowseActionListener.java │ ├── ClassPathFormImpl.java │ ├── ConfigFormImpl.java │ ├── EnvironmentVarsFormImpl.java │ ├── FileChooser.java │ ├── GlassPane.java │ ├── HeaderFormImpl.java │ ├── JreFormImpl.java │ ├── MainFrame.java │ ├── Messages.java │ ├── MessagesFormImpl.java │ ├── SingleInstanceFormImpl.java │ ├── SplashFormImpl.java │ ├── VersionInfoFormImpl.java │ ├── messages.properties │ └── messages_es.properties │ ├── messages.properties │ └── messages_es.properties ├── w32api ├── MinGW.LICENSE.txt ├── libadvapi32.a ├── libgcc.a ├── libkernel32.a ├── libmingw32.a ├── libmsvcrt.a ├── libshell32.a └── libuser32.a └── web ├── .cvsignore ├── bullet.gif ├── changelog.html ├── docs.html ├── index.html ├── launch4j-use.gif ├── launch4j.gif ├── links.html └── style.css /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /.cvsignore: -------------------------------------------------------------------------------- 1 | build 2 | build-test 3 | crashrep.*.zip 4 | log 5 | log.? 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Package Files # 4 | *.jar 5 | *.war 6 | *.ear 7 | CVS 8 | *.o -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | launch4j 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Launch4j (http://launch4j.sourceforge.net/) 2 | Cross-platform Java application wrapper for creating Windows native executables. 3 | 4 | Copyright (c) 2004, 2011 Grzegorz Kowal 5 | 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | * Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | * Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | * Neither the name of the Launch4j nor the names of its contributors 17 | may be used to endorse or promote products derived from this software without 18 | specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | launch4j 2 | ======== 3 | 4 | I've forked the original project from http://launch4j.sourceforge.net/, to solve one problem: launch4j either required to pick up a *specific* JDK / JRE as hardcoded in the configuration, or it would allow to *search* for a Java Runtime on the target machine. However, if your project would use native libraries, then this automatic search would not allow you to configure that a 32bit runtime should be found first. 5 | -------------------------------------------------------------------------------- /bin/.cvsignore: -------------------------------------------------------------------------------- 1 | ld* 2 | windres* 3 | 4 | -------------------------------------------------------------------------------- /bin/bin-linux/ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-linux/ld -------------------------------------------------------------------------------- /bin/bin-linux/windres: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-linux/windres -------------------------------------------------------------------------------- /bin/bin-macosx-ppc/ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-macosx-ppc/ld -------------------------------------------------------------------------------- /bin/bin-macosx-ppc/readme.txt: -------------------------------------------------------------------------------- 1 | The MinGW binutils were built on Mac OS X 10.4 by Peter Centgraf 2 | -------------------------------------------------------------------------------- /bin/bin-macosx-ppc/windres: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-macosx-ppc/windres -------------------------------------------------------------------------------- /bin/bin-macosx-x86/ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-macosx-x86/ld -------------------------------------------------------------------------------- /bin/bin-macosx-x86/readme.txt: -------------------------------------------------------------------------------- 1 | The MinGW binutils were built on Mac OS X Lion by wrldwzrd89 2 | -------------------------------------------------------------------------------- /bin/bin-macosx-x86/windres: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-macosx-x86/windres -------------------------------------------------------------------------------- /bin/bin-solaris-sparc/ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-solaris-sparc/ld -------------------------------------------------------------------------------- /bin/bin-solaris-sparc/windres: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-solaris-sparc/windres -------------------------------------------------------------------------------- /bin/bin-win32/ld.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-win32/ld.exe -------------------------------------------------------------------------------- /bin/bin-win32/windres.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/bin-win32/windres.exe -------------------------------------------------------------------------------- /bin/ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/ld -------------------------------------------------------------------------------- /bin/windres: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/bin/windres -------------------------------------------------------------------------------- /build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /demo/ConsoleApp/.cvsignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /demo/ConsoleApp/ConsoleApp.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/demo/ConsoleApp/ConsoleApp.exe -------------------------------------------------------------------------------- /demo/ConsoleApp/build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if "%ANT_HOME%"=="" goto noAntHome 3 | if "%JAVA_HOME%"=="" goto noJavaHome 4 | call "%ANT_HOME%\bin\ant.bat" exe 5 | goto end 6 | 7 | :noAntHome 8 | echo ANT_HOME environment variable is not set 9 | goto end 10 | 11 | :noJavaHome 12 | echo JAVA_HOME environment variable is not set 13 | 14 | :end 15 | -------------------------------------------------------------------------------- /demo/ConsoleApp/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /demo/ConsoleApp/l4j/ConsoleApp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/demo/ConsoleApp/l4j/ConsoleApp.ico -------------------------------------------------------------------------------- /demo/ConsoleApp/lib/readme.txt: -------------------------------------------------------------------------------- 1 | Put your jar libs here and the build script will include them 2 | in the classpath stored inside the jar manifest. 3 | In order to run your application move the output exe file from 4 | the dist directory to the same level as lib. 5 | 6 | SimpleApp.exe 7 | lib/ 8 | lib/xml.jar 9 | -------------------------------------------------------------------------------- /demo/ConsoleApp/readme.txt: -------------------------------------------------------------------------------- 1 | To build the example application set JAVA_HOME and ANT_HOME environment variables. 2 | -------------------------------------------------------------------------------- /demo/ConsoleApp/src/net/sf/launch4j/example/ConsoleApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.example; 35 | 36 | import java.io.BufferedReader; 37 | import java.io.IOException; 38 | import java.io.InputStreamReader; 39 | 40 | /** 41 | * @author Copyright (C) 2005 Grzegorz Kowal 42 | */ 43 | public class ConsoleApp { 44 | public static void main(String[] args) { 45 | StringBuffer sb = new StringBuffer("Hello World!\n\nJava version: "); 46 | sb.append(System.getProperty("java.version")); 47 | sb.append("\nJava home: "); 48 | sb.append(System.getProperty("java.home")); 49 | sb.append("\nCurrent dir: "); 50 | sb.append(System.getProperty("user.dir")); 51 | if (args.length > 0) { 52 | sb.append("\nArgs: "); 53 | for (int i = 0; i < args.length; i++) { 54 | sb.append(args[i]); 55 | sb.append(' '); 56 | } 57 | } 58 | sb.append("\n\nEnter a line of text, Ctrl-C to stop.\n\n>"); 59 | System.out.print(sb.toString()); 60 | try { 61 | BufferedReader is = new BufferedReader(new InputStreamReader(System.in)); 62 | String line; 63 | while ((line = is.readLine()) != null && !line.equalsIgnoreCase("quit")) { 64 | System.out.print("You wrote: " + line + "\n\n>"); 65 | } 66 | is.close(); 67 | System.exit(123); 68 | } catch (IOException e) { 69 | System.err.print(e); 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /demo/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Launch4j (http://launch4j.sourceforge.net/) 2 | Cross-platform Java application wrapper for creating Windows native executables. 3 | 4 | Copyright (c) 2004, 2007 Grzegorz Kowal 5 | 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without modification, 9 | are permitted provided that the following conditions are met: 10 | 11 | * Redistributions of source code must retain the above copyright notice, 12 | this list of conditions and the following disclaimer. 13 | * Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | * Neither the name of the Launch4j nor the names of its contributors 17 | may be used to endorse or promote products derived from this software without 18 | specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /demo/SimpleApp/.cvsignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /demo/SimpleApp/SimpleApp.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/demo/SimpleApp/SimpleApp.exe -------------------------------------------------------------------------------- /demo/SimpleApp/build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if "%ANT_HOME%"=="" goto noAntHome 3 | if "%JAVA_HOME%"=="" goto noJavaHome 4 | call "%ANT_HOME%\bin\ant.bat" exe 5 | goto end 6 | 7 | :noAntHome 8 | echo ANT_HOME environment variable is not set 9 | goto end 10 | 11 | :noJavaHome 12 | echo JAVA_HOME environment variable is not set 13 | 14 | :end 15 | -------------------------------------------------------------------------------- /demo/SimpleApp/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /demo/SimpleApp/l4j/SimpleApp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/demo/SimpleApp/l4j/SimpleApp.ico -------------------------------------------------------------------------------- /demo/SimpleApp/l4j/SimpleApp.xml: -------------------------------------------------------------------------------- 1 | 2 | gui 3 | ../SimpleApp.jar 4 | ../SimpleApp.exe 5 | SimpleApp 6 | . 7 | true 8 | SimpleApp.ico 9 | 10 | 1.4.0 11 | 12 | 13 | splash.bmp 14 | true 15 | 60 16 | true 17 | 18 | -------------------------------------------------------------------------------- /demo/SimpleApp/l4j/splash.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/demo/SimpleApp/l4j/splash.bmp -------------------------------------------------------------------------------- /demo/SimpleApp/lib/readme.txt: -------------------------------------------------------------------------------- 1 | Put your jar libs here and the build script will include them 2 | in the classpath stored inside the jar manifest. 3 | In order to run your application move the output exe file from 4 | the dist directory to the same level as lib. 5 | 6 | SimpleApp.exe 7 | lib/ 8 | lib/xml.jar 9 | -------------------------------------------------------------------------------- /demo/SimpleApp/readme.txt: -------------------------------------------------------------------------------- 1 | To build the example application set JAVA_HOME and ANT_HOME environment variables. 2 | -------------------------------------------------------------------------------- /demo/SimpleApp/src/net/sf/launch4j/example/SimpleApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.example; 35 | 36 | import java.awt.Dimension; 37 | import java.awt.Toolkit; 38 | import java.awt.event.WindowAdapter; 39 | import java.awt.event.WindowEvent; 40 | 41 | import javax.swing.JFrame; 42 | import javax.swing.JMenu; 43 | import javax.swing.JMenuBar; 44 | import javax.swing.JMenuItem; 45 | import javax.swing.JOptionPane; 46 | import javax.swing.UIManager; 47 | 48 | public class SimpleApp extends JFrame { 49 | public SimpleApp(String[] args) { 50 | super("Java Application"); 51 | final int inset = 100; 52 | Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 53 | setBounds (inset, inset, 54 | screenSize.width - inset * 2, screenSize.height - inset * 2); 55 | 56 | JMenu menu = new JMenu("File"); 57 | menu.add(new JMenuItem("Open")); 58 | menu.add(new JMenuItem("Save")); 59 | JMenuBar mb = new JMenuBar(); 60 | mb.setOpaque(true); 61 | mb.add(menu); 62 | setJMenuBar(mb); 63 | 64 | this.addWindowListener(new WindowAdapter() { 65 | public void windowClosing(WindowEvent e) { 66 | System.exit(123); 67 | }}); 68 | setVisible(true); 69 | 70 | StringBuffer sb = new StringBuffer("Java version: "); 71 | sb.append(System.getProperty("java.version")); 72 | sb.append("\nJava home: "); 73 | sb.append(System.getProperty("java.home")); 74 | sb.append("\nCurrent dir: "); 75 | sb.append(System.getProperty("user.dir")); 76 | if (args.length > 0) { 77 | sb.append("\nArgs: "); 78 | for (int i = 0; i < args.length; i++) { 79 | sb.append(args[i]); 80 | sb.append(' '); 81 | } 82 | } 83 | JOptionPane.showMessageDialog(this, 84 | sb.toString(), 85 | "Info", 86 | JOptionPane.INFORMATION_MESSAGE); 87 | } 88 | 89 | public static void setLAF() { 90 | JFrame.setDefaultLookAndFeelDecorated(true); 91 | Toolkit.getDefaultToolkit().setDynamicLayout(true); 92 | System.setProperty("sun.awt.noerasebackground","true"); 93 | try { 94 | UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); 95 | } catch (Exception e) { 96 | System.err.println("Failed to set LookAndFeel"); 97 | } 98 | } 99 | 100 | public static void main(String[] args) { 101 | setLAF(); 102 | new SimpleApp(args); 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /demo/readme.txt: -------------------------------------------------------------------------------- 1 | JRE/SDK 1.4.0 or higher must be installed on your system to run this demo. 2 | 3 | try running it with some command line arguments... 4 | -------------------------------------------------------------------------------- /head/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004, 2007 Grzegorz Kowal 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | Except as contained in this notice, the name(s) of the above copyright holders 14 | shall not be used in advertising or otherwise to promote the sale, use or other 15 | dealings in this Software without prior written authorization. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. -------------------------------------------------------------------------------- /head_src/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004, 2011 Grzegorz Kowal 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | Except as contained in this notice, the name(s) of the above copyright holders 14 | shall not be used in advertising or otherwise to promote the sale, use or other 15 | dealings in this Software without prior written authorization. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /head_src/consolehead/Makefile.win: -------------------------------------------------------------------------------- 1 | # Project: consolehead 2 | # Makefile created by Dev-C++ 4.9.9.2 3 | 4 | CPP = g++.exe 5 | CC = gcc.exe 6 | WINDRES = windres.exe 7 | RES = 8 | OBJ = ../../head/consolehead.o ../../head/head.o $(RES) 9 | LINKOBJ = ../../head/consolehead.o ../../head/head.o $(RES) 10 | LIBS = -L"C:/Dev-Cpp/lib" -n -s 11 | INCS = -I"C:/Dev-Cpp/include" 12 | CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" 13 | BIN = consolehead.exe 14 | CXXFLAGS = $(CXXINCS) -fexpensive-optimizations -O3 15 | CFLAGS = $(INCS) -fexpensive-optimizations -O3 16 | RM = rm -f 17 | 18 | .PHONY: all all-before all-after clean clean-custom 19 | 20 | all: all-before consolehead.exe all-after 21 | 22 | 23 | clean: clean-custom 24 | ${RM} $(OBJ) $(BIN) 25 | 26 | $(BIN): $(OBJ) 27 | # $(CC) $(LINKOBJ) -o "consolehead.exe" $(LIBS) 28 | 29 | ../../head/consolehead.o: consolehead.c 30 | $(CC) -c consolehead.c -o ../../head/consolehead.o $(CFLAGS) 31 | 32 | ../../head/head.o: ../head.c 33 | $(CC) -c ../head.c -o ../../head/head.o $(CFLAGS) 34 | -------------------------------------------------------------------------------- /head_src/consolehead/consolehead.c: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | Except as contained in this notice, the name(s) of the above copyright holders 18 | shall not be used in advertising or otherwise to promote the sale, use or other 19 | dealings in this Software without prior written authorization. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | THE SOFTWARE. 28 | */ 29 | 30 | #include "../resource.h" 31 | #include "../head.h" 32 | 33 | int main(int argc, char* argv[]) 34 | { 35 | setConsoleFlag(); 36 | LPTSTR cmdLine = GetCommandLine(); 37 | if (*cmdLine == '"') { 38 | if (*(cmdLine = strchr(cmdLine + 1, '"') + 1)) { 39 | cmdLine++; 40 | } 41 | } else if ((cmdLine = strchr(cmdLine, ' ')) != NULL) { 42 | cmdLine++; 43 | } else { 44 | cmdLine = ""; 45 | } 46 | int result = prepare(cmdLine); 47 | if (result == ERROR_ALREADY_EXISTS) { 48 | char errMsg[BIG_STR] = {0}; 49 | loadString(INSTANCE_ALREADY_EXISTS_MSG, errMsg); 50 | msgBox(errMsg); 51 | closeLogFile(); 52 | return 2; 53 | } 54 | if (result != TRUE) { 55 | signalError(); 56 | return 1; 57 | } 58 | 59 | result = (int) execute(TRUE); 60 | if (result == -1) { 61 | signalError(); 62 | } else { 63 | return result; 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /head_src/consolehead/consolehead.dev: -------------------------------------------------------------------------------- 1 | [Project] 2 | FileName=consolehead.dev 3 | Name=consolehead 4 | UnitCount=4 5 | Type=1 6 | Ver=1 7 | ObjFiles= 8 | Includes= 9 | Libs= 10 | PrivateResource= 11 | ResourceIncludes= 12 | MakeIncludes= 13 | Compiler= 14 | CppCompiler= 15 | Linker=-n_@@_ 16 | IsCpp=0 17 | Icon= 18 | ExeOutput= 19 | ObjectOutput=..\..\head 20 | OverrideOutput=0 21 | OverrideOutputName=consolehead.exe 22 | HostApplication= 23 | Folders= 24 | CommandLine= 25 | UseCustomMakefile=0 26 | CustomMakefile=Makefile.win 27 | IncludeVersionInfo=0 28 | SupportXPThemes=0 29 | CompilerSet=0 30 | CompilerSettings=0000000001001000000100 31 | 32 | [Unit1] 33 | FileName=consolehead.c 34 | CompileCpp=0 35 | Folder=consolehead 36 | Compile=1 37 | Link=1 38 | Priority=1000 39 | OverrideBuildCmd=0 40 | BuildCmd= 41 | 42 | [VersionInfo] 43 | Major=0 44 | Minor=1 45 | Release=1 46 | Build=1 47 | LanguageID=1033 48 | CharsetID=1252 49 | CompanyName= 50 | FileVersion= 51 | FileDescription=Developed using the Dev-C++ IDE 52 | InternalName= 53 | LegalCopyright= 54 | LegalTrademarks= 55 | OriginalFilename= 56 | ProductName= 57 | ProductVersion= 58 | AutoIncBuildNr=0 59 | 60 | [Unit2] 61 | FileName=..\resource.h 62 | CompileCpp=0 63 | Folder=consolehead 64 | Compile=1 65 | Link=1 66 | Priority=1000 67 | OverrideBuildCmd=0 68 | BuildCmd= 69 | 70 | [Unit3] 71 | FileName=..\head.c 72 | CompileCpp=0 73 | Folder=consolehead 74 | Compile=1 75 | Link=1 76 | Priority=1000 77 | OverrideBuildCmd=0 78 | BuildCmd= 79 | 80 | [Unit4] 81 | FileName=..\head.h 82 | CompileCpp=0 83 | Folder=consolehead 84 | Compile=1 85 | Link=1 86 | Priority=1000 87 | OverrideBuildCmd=0 88 | BuildCmd= 89 | 90 | [Unit5] 91 | FileName=..\head.rc 92 | Folder=consolehead 93 | Compile=1 94 | Link=0 95 | Priority=1000 96 | OverrideBuildCmd=0 97 | BuildCmd= 98 | 99 | [Unit6] 100 | FileName=..\resid.h 101 | CompileCpp=0 102 | Folder=consolehead 103 | Compile=1 104 | Link=1 105 | Priority=1000 106 | OverrideBuildCmd=0 107 | BuildCmd= 108 | 109 | -------------------------------------------------------------------------------- /head_src/guihead/Makefile.win: -------------------------------------------------------------------------------- 1 | # Project: guihead 2 | # Makefile created by Dev-C++ 4.9.9.2 3 | 4 | CPP = g++.exe 5 | CC = gcc.exe 6 | WINDRES = windres.exe 7 | RES = 8 | OBJ = ../../head/guihead.o ../../head/head.o $(RES) 9 | LINKOBJ = ../../head/guihead.o ../../head/head.o $(RES) 10 | LIBS = -L"C:/Dev-Cpp/lib" -mwindows -n -s 11 | INCS = -I"C:/Dev-Cpp/include" 12 | CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" 13 | BIN = guihead.exe 14 | CXXFLAGS = $(CXXINCS) -fexpensive-optimizations -O3 15 | CFLAGS = $(INCS) -fexpensive-optimizations -O3 16 | RM = rm -f 17 | 18 | .PHONY: all all-before all-after clean clean-custom 19 | 20 | all: all-before guihead.exe all-after 21 | 22 | 23 | clean: clean-custom 24 | ${RM} $(OBJ) $(BIN) 25 | 26 | $(BIN): $(OBJ) 27 | # $(CC) $(LINKOBJ) -o "guihead.exe" $(LIBS) 28 | 29 | ../../head/guihead.o: guihead.c 30 | $(CC) -c guihead.c -o ../../head/guihead.o $(CFLAGS) 31 | 32 | ../../head/head.o: ../head.c 33 | $(CC) -c ../head.c -o ../../head/head.o $(CFLAGS) 34 | -------------------------------------------------------------------------------- /head_src/guihead/guihead.dev: -------------------------------------------------------------------------------- 1 | [Project] 2 | FileName=guihead.dev 3 | Name=guihead 4 | UnitCount=5 5 | Type=0 6 | Ver=1 7 | ObjFiles= 8 | Includes= 9 | Libs= 10 | PrivateResource= 11 | ResourceIncludes= 12 | MakeIncludes= 13 | Compiler= 14 | CppCompiler= 15 | Linker=-n_@@_ 16 | IsCpp=0 17 | Icon= 18 | ExeOutput= 19 | ObjectOutput=..\..\head 20 | OverrideOutput=0 21 | OverrideOutputName=guihead.exe 22 | HostApplication= 23 | Folders= 24 | CommandLine= 25 | UseCustomMakefile=1 26 | CustomMakefile=Makefile.win 27 | IncludeVersionInfo=0 28 | SupportXPThemes=0 29 | CompilerSet=0 30 | CompilerSettings=0000000001001000000100 31 | 32 | [Unit1] 33 | FileName=guihead.c 34 | CompileCpp=0 35 | Folder=guihead 36 | Compile=1 37 | Link=1 38 | Priority=1000 39 | OverrideBuildCmd=0 40 | BuildCmd=$(CC) -c guihead.c -o ../../head/guihead.o $(CFLAGS) 41 | 42 | [Unit2] 43 | FileName=guihead.h 44 | CompileCpp=0 45 | Folder=guihead 46 | Compile=1 47 | Link=1 48 | Priority=1000 49 | OverrideBuildCmd=0 50 | BuildCmd= 51 | 52 | [VersionInfo] 53 | Major=0 54 | Minor=1 55 | Release=1 56 | Build=1 57 | LanguageID=1033 58 | CharsetID=1252 59 | CompanyName= 60 | FileVersion= 61 | FileDescription=Developed using the Dev-C++ IDE 62 | InternalName= 63 | LegalCopyright= 64 | LegalTrademarks= 65 | OriginalFilename= 66 | ProductName= 67 | ProductVersion= 68 | AutoIncBuildNr=0 69 | 70 | [Unit4] 71 | FileName=..\head.h 72 | CompileCpp=0 73 | Folder=guihead 74 | Compile=1 75 | Link=1 76 | Priority=1000 77 | OverrideBuildCmd=0 78 | BuildCmd= 79 | 80 | [Unit6] 81 | FileName=..\resid.h 82 | CompileCpp=0 83 | Folder=guihead 84 | Compile=1 85 | Link=1 86 | Priority=1000 87 | OverrideBuildCmd=0 88 | BuildCmd= 89 | 90 | [Unit3] 91 | FileName=..\head.c 92 | CompileCpp=0 93 | Folder=guihead 94 | Compile=1 95 | Link=1 96 | Priority=1000 97 | OverrideBuildCmd=0 98 | BuildCmd= 99 | 100 | [Unit5] 101 | FileName=..\resource.h 102 | CompileCpp=0 103 | Folder=guihead 104 | Compile=1 105 | Link=1 106 | Priority=1000 107 | OverrideBuildCmd=0 108 | BuildCmd= 109 | 110 | -------------------------------------------------------------------------------- /head_src/guihead/guihead.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | Except as contained in this notice, the name(s) of the above copyright holders 18 | shall not be used in advertising or otherwise to promote the sale, use or other 19 | dealings in this Software without prior written authorization. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 27 | THE SOFTWARE. 28 | */ 29 | 30 | #define ID_TIMER 1 31 | #define DEFAULT_SPLASH_TIMEOUT 60 /* 60 seconds */ 32 | #define MAX_SPLASH_TIMEOUT 60 * 15 /* 15 minutes */ 33 | 34 | HWND getInstanceWindow(); 35 | 36 | BOOL CALLBACK enumwndfn(HWND hwnd, LPARAM lParam); 37 | 38 | VOID CALLBACK TimerProc( 39 | HWND hwnd, // handle of window for timer messages 40 | UINT uMsg, // WM_TIMER message 41 | UINT idEvent, // timer identifier 42 | DWORD dwTime // current system time 43 | ); 44 | -------------------------------------------------------------------------------- /head_src/resource.h: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2008 Grzegorz Kowal 6 | Ian Roberts (jdk preference patch) 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | Except as contained in this notice, the name(s) of the above copyright holders 19 | shall not be used in advertising or otherwise to promote the sale, use or other 20 | dealings in this Software without prior written authorization. 21 | 22 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 27 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 28 | THE SOFTWARE. 29 | */ 30 | 31 | // ICON 32 | #define APP_ICON 1 33 | 34 | // BITMAP 35 | #define SPLASH_BITMAP 1 36 | 37 | // RCDATA 38 | #define JRE_PATH 1 39 | #define JAVA_MIN_VER 2 40 | #define JAVA_MAX_VER 3 41 | #define SHOW_SPLASH 4 42 | #define SPLASH_WAITS_FOR_WINDOW 5 43 | #define SPLASH_TIMEOUT 6 44 | #define SPLASH_TIMEOUT_ERR 7 45 | #define CHDIR 8 46 | #define SET_PROC_NAME 9 47 | #define ERR_TITLE 10 48 | #define GUI_HEADER_STAYS_ALIVE 11 49 | #define JVM_OPTIONS 12 50 | #define CMD_LINE 13 51 | #define JAR 14 52 | #define MAIN_CLASS 15 53 | #define CLASSPATH 16 54 | #define WRAPPER 17 55 | #define JDK_PREFERENCE 18 56 | #define ENV_VARIABLES 19 57 | #define PRIORITY_CLASS 20 58 | #define DOWNLOAD_URL 21 59 | #define SUPPORT_URL 22 60 | #define MUTEX_NAME 23 61 | #define INSTANCE_WINDOW_TITLE 24 62 | #define INITIAL_HEAP_SIZE 25 63 | #define INITIAL_HEAP_PERCENT 26 64 | #define MAX_HEAP_SIZE 27 65 | #define MAX_HEAP_PERCENT 28 66 | #define STRING_FORCE_32 29 67 | 68 | #define STARTUP_ERR 101 69 | #define BUNDLED_JRE_ERR 102 70 | #define JRE_VERSION_ERR 103 71 | #define LAUNCHER_ERR 104 72 | #define INSTANCE_ALREADY_EXISTS_MSG 105 73 | -------------------------------------------------------------------------------- /l4j/launch4j-use.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/l4j/launch4j-use.odg -------------------------------------------------------------------------------- /l4j/launch4j.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/l4j/launch4j.bmp -------------------------------------------------------------------------------- /l4j/launch4j.xml: -------------------------------------------------------------------------------- 1 | 2 | gui 3 | true 4 | launch4j.jar 5 | ../launch4j.exe 6 | launch4j 7 | . 8 | true 9 | false 10 | 11 | 1.4.0 12 | 13 | 14 | launch4j.bmp 15 | true 16 | 60 17 | true 18 | 19 | 20 | Cross-platform Java application wrapper 21 | Copyright (C) 2004, 2006 Grzegorz Kowal 22 | launch4j 23 | http://launch4j.sourceforge.net/ 24 | GUI launcher 25 | launch4j.exe 26 | 27 | -------------------------------------------------------------------------------- /l4j/launch4jc.xml: -------------------------------------------------------------------------------- 1 | 2 | console 3 | true 4 | launch4j.jar 5 | ../launch4jc.exe 6 | launch4j 7 | true 8 | false 9 | 10 | 1.4.0 11 | 12 | 13 | Cross-platform Java application wrapper 14 | Copyright (C) 2004, 2006 Grzegorz Kowal 15 | launch4j 16 | http://launch4j.sourceforge.net/ 17 | Console launcher 18 | launch4jc.exe 19 | 20 | -------------------------------------------------------------------------------- /l4j/nsis/launch4j-setup-license.txt: -------------------------------------------------------------------------------- 1 | Launch4j :: Cross-platform Java application wrapper 2 | for creating Windows native executables 3 | 4 | Copyright (c) 2004, 2011 Grzegorz Kowal 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | * Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | * Neither the name of the Launch4j nor the names of its contributors 16 | may be used to endorse or promote products derived from this software without 17 | specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 23 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 24 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 25 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 26 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 27 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 28 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | 32 | This product includes software developed by the Apache Software Foundation (http://www.apache.org/). 33 | -------------------------------------------------------------------------------- /l4j/web/bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/l4j/web/bullet.gif -------------------------------------------------------------------------------- /l4j/web/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /l4j/web/footer_es.html: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /l4j/web/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Launch4j - Cross-platform Java executable wrapper 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | launch4j $version 15 |
16 |
17 | 28 | 35 |
36 |
37 | -------------------------------------------------------------------------------- /l4j/web/header_es.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Launch4j - Empaquetador cross-platform de aplicaciones Java para crear ejecutables nativos de Windows 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | launch4j $version 15 |
16 |
17 | 28 | 32 |
33 |
34 | -------------------------------------------------------------------------------- /l4j/web/index_es.html: -------------------------------------------------------------------------------- 1 |

Empaquetador cross-platform de aplicaciones Java para crear 2 | EXEs nativos de Windows.

3 |

4 | Launch4j es una herramienta cross-platform para empaquetar aplicaciones Java 5 | distribuidas como jars en ejecutables ligeros y nativos de Windows. El 6 | ejecutable puede ser configurado para buscar una cierta versión del JRE o 7 | usar uno que se especifique, y es posible establecer opciones de tiempo de 8 | ejecución, como el tamaño inicial/máximo de la pila. El empaquetador también 9 | proporciona una mejor experiencia de usuario incluyendo un icono de 10 | aplicación, una pantalla de bienvenida nativa pre-JRE, un nombre de proceso 11 | personalizado, y una página de descarga de Java en caso de que el JRE 12 | apropiado no se pueda encontrar.

13 |

Características

14 |
    15 |
  • Launch4j empaqueta jars en ejecutables nativos de Windows y permite 16 | ejecutarlos como un programa Windows normal. ¡Es posible empaquetar 17 | aplicaciones desde Windows, Linux y MacOS X! 18 |
  • 19 |
  • También crea lanzadores sin empaquetar jars.
  • 20 |
  • No extrae el  jar desde el ejecutable.
  • 21 |
  • Icono de aplicación personalizado con múltiples resoluciones y 22 | profundidades de color.
  • 23 |
  • Pantalla de bienvenida nativa pre-JRE en formato BMP 24 | mostrada hasta que la aplicación Java empieza. 25 |
  • 26 |
  • Nombre del proceso como nombre de fichero de ejecutable 27 | para identificar fácilmente su aplicación. 28 |
  • 29 |
  • Funciona con un JRE que se especifique o busca el JRE /SDK más reciente 30 | dentro de un rango dado.
  • 31 |
  • Abre la página de descargas de Java si no se puede 32 | encontrar una versión apropiada de Java.
  • 33 |
  • Soporta aplicaciones GUI y de consola.
  • 34 |
  • Pasa argumentos a la línea de órdenes, también soporta argumentos 35 | constantes.
  • 36 |
  • Permite establecer el tamaño inicial/máximo de la pila.
  • 37 |
  • Opciones JVM: establecer las propiedades del sistema, modificar la 38 | garbage collection...
  • 39 |
  • Acceso a las variables de entorno y a la ruta del fichero ejecutable a 40 | través de las propiedades del sistema.
  • 41 |
  • Opción para cambiar el directorio actual a la localización del 42 | ejecutable.
  • 43 |
  • El directorio bin del JRE se une a la variable de entorno Path.
  • 44 |
  • Información personalizada de la versión mostrada en 45 | Windows Explorer.
  • 46 |
  • Interfaz GUI y de línea de órdenes.
  • 47 |
  • Integración en la construcción a través de una tarea Ant.
  • 48 |
  • ¡Ligero: 26 KB!
  • 49 |
  • Es gratuito y puede ser utilizado para propósitos 50 | comerciales.
  • 51 |
  • Incluye una aplicación de ejemplo y un script Ant 52 | que automatiza el proceso de construcción desde el código fuente Java 53 | hasta el ejecutable nativo. 54 |
  • 55 |
  • El programa empaquetado funciona en todas las plataformas Windows (98/Me/NT/2K/Xp), 56 | launch4j funciona en NT/2K/Xp, Linux (desarrollado y probado en FC3/ CentOS 57 | 4.1) y Mac OS X (construido en 10.4). 58 |
  • 59 |
60 |

Licencia

61 |

62 | Este programa es software libre licenciado bajo la 63 | licencia BSD, el 64 | subproyecto de la cabecera 65 | (el código que se adjunta a los jars empaquetados) tiene 66 | licencia MIT. 67 | Launch4j puede ser utilizado para empaquetar código fuente cerrado, 68 | aplicaciones comerciales. 69 |

70 |

Información

71 |

72 | Ejecutar Launch4j en otras plataformas con Java es cuestión de obtener una 73 | versión binaria de MinGW binutils 2.15.90 (windres 74 | y ld solamente) 75 | para su sistema o compilándolo. Si consigue esto, entonces yo podría crear 76 | un paquete binario para descargar. 77 |

78 | 79 | -------------------------------------------------------------------------------- /l4j/web/launch4j-use.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/l4j/web/launch4j-use.gif -------------------------------------------------------------------------------- /l4j/web/launch4j.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/l4j/web/launch4j.gif -------------------------------------------------------------------------------- /l4j/web/links.html: -------------------------------------------------------------------------------- 1 |

Links

2 |

3 | alakai Maven plugin for Launch4j
4 | Launch4j Maven Plugin by Paul A. Jungwirth

5 | MinGW
6 | Commons BeanUtils
7 | Commons Logging
8 | XStream
9 | JGoodies Forms
10 | JGoodies Looks
11 | Abeille Forms Designer
12 | Eclipse
13 | Bloodshed Dev-C++ IDE
14 |

15 |

Windows native installers

16 |

17 | NSIS (cross-platform, targets Windows)
18 | Inno Setup
19 |

20 | -------------------------------------------------------------------------------- /l4j/web/links_es.html: -------------------------------------------------------------------------------- 1 |

Enlaces

2 |

3 | alakai Maven plugin for Launch4j
4 | Launch4j Maven Plugin by Paul A. Jungwirth

5 | MinGW
6 | Commons BeanUtils
7 | Commons Logging
8 | XStream
9 | JGoodies Forms
10 | JGoodies Looks
11 | Abeille Forms Designer
12 | Eclipse
13 | Bloodshed Dev-C++ IDE
14 |

15 | -------------------------------------------------------------------------------- /l4j/web/style.css: -------------------------------------------------------------------------------- 1 | body, table { 2 | font: 12px/20px Verdana, Arial, Helvetica, sans-serif; 3 | } 4 | 5 | 6 | pre { 7 | padding: 8px; 8 | border: 1px dashed #999999; 9 | background-color: #f1f1f1; 10 | font: 13px/20px "Courier New", Courier, monospace; 11 | } 12 | 13 | 14 | .version { 15 | color: #307fe1; 16 | font-weight: bold; 17 | } 18 | 19 | 20 | .codeword { 21 | color: #3333ff; 22 | } 23 | .attrib { 24 | color: #404040; 25 | } 26 | .option { 27 | font-family: "Courier New", Courier, monospace; 28 | font-weight: bold; 29 | } 30 | 31 | 32 | dt { 33 | margin-top: 1.5em; 34 | color: #404040; 35 | font-size: 115%; 36 | border-bottom: 1px solid #cccccc; 37 | } 38 | dd { 39 | margin-left: 1em; 40 | } 41 | 42 | 43 | .warn, ul.changes em { 44 | color: #ff0000; 45 | } 46 | 47 | 48 | table { 49 | margin-top: 1em; 50 | padding: 0; 51 | border: 1px solid #999999; 52 | border-collapse: collapse; 53 | text-align: center; 54 | } 55 | table th { 56 | padding: 2px 4px; 57 | border: 1px solid #999999; 58 | background-color: #f1f1f1; 59 | } 60 | table td { 61 | padding: 2px 4px; 62 | border: 1px solid #999999; 63 | } 64 | .description { 65 | text-align: left; 66 | } 67 | 68 | 69 | #container { 70 | width: 90%; 71 | margin: 10px auto; 72 | border-width: 0; 73 | background-color: #ffffff; 74 | } 75 | 76 | 77 | #top { 78 | padding: 0.5em; 79 | background-color: #ffffff; 80 | } 81 | #top h1 { 82 | margin: 0; 83 | padding: 0; 84 | } 85 | 86 | 87 | #leftnav { 88 | float: left; 89 | width: 170px; 90 | margin: 0; 91 | padding: 0.5em; 92 | background-color: #ffffff; 93 | } 94 | #leftnav ul { 95 | margin: 0; 96 | padding: 0; 97 | border: none; 98 | list-style-type: none; 99 | font-size: 115%; 100 | } 101 | #leftnav a { 102 | width: 170px; 103 | height: 1.6em; 104 | line-height: 1.6em; 105 | display: block; 106 | padding-left: 0.2em; 107 | } 108 | #leftnav a:link, #leftnav a:visited { 109 | text-decoration: none; 110 | color: #666666; 111 | } 112 | #leftnav a:hover { 113 | background-color: #307fe1; 114 | color: #ffffff; 115 | } 116 | 117 | 118 | #content { 119 | max-width: 52em; 120 | margin-left: 190px; 121 | padding: 1em; 122 | border-left: 1px solid #cccccc; 123 | background-color: #ffffff; 124 | } 125 | 126 | #content ul { 127 | list-style-image: url('bullet.gif'); 128 | } 129 | 130 | #content a:link { 131 | text-decoration: none; 132 | color: #307fe1; 133 | } 134 | #content a:visited { 135 | text-decoration: none; 136 | color: #307fe1; 137 | } 138 | #content a:hover { 139 | color: #307fe1; 140 | text-decoration: underline; 141 | } 142 | 143 | #content h2 { 144 | font-size: 150%; 145 | } 146 | #content h2:first-child { 147 | margin: 0 0 0.5em; 148 | } 149 | 150 | 151 | .footer { 152 | clear: both; 153 | margin: 0; 154 | padding: 0.5em; 155 | background-color: #ffffff; 156 | color: #333333; 157 | text-align: center; 158 | font-size: 90%; 159 | } 160 | -------------------------------------------------------------------------------- /launch4j: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd `dirname $0` 3 | if [ -n "$JAVA_HOME" ]; then 4 | $JAVA_HOME/bin/java -jar ./launch4j.jar $* 5 | else 6 | java -jar ./launch4j.jar $* 7 | fi 8 | cd $OLDPWD 9 | -------------------------------------------------------------------------------- /launch4j.jfpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/launch4j.jfpr -------------------------------------------------------------------------------- /lib/JGoodies.Forms.LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | The BSD License for the JGoodies Forms 3 | ====================================== 4 | 5 | Copyright (c) 2002-2004 JGoodies Karsten Lentzsch. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are met: 9 | 10 | o Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | 13 | o Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | o Neither the name of JGoodies Karsten Lentzsch nor the names of 18 | its contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 23 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 24 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 28 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 29 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 30 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 31 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | -------------------------------------------------------------------------------- /lib/JGoodies.Looks.LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | The BSD License for the JGoodies Looks 3 | ====================================== 4 | 5 | Copyright (c) 2001-2007 JGoodies Karsten Lentzsch. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are met: 9 | 10 | o Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | 13 | o Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | o Neither the name of JGoodies Karsten Lentzsch nor the names of 18 | its contributors may be used to endorse or promote products derived 19 | from this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 23 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 24 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 28 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 29 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 30 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 31 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | -------------------------------------------------------------------------------- /lib/XStream.LICENSE.txt: -------------------------------------------------------------------------------- 1 | (BSD Style License) 2 | 3 | Copyright (c) 2003-2004, Joe Walnes 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | Redistributions of source code must retain the above copyright notice, this list of 10 | conditions and the following disclaimer. Redistributions in binary form must reproduce 11 | the above copyright notice, this list of conditions and the following disclaimer in 12 | the documentation and/or other materials provided with the distribution. 13 | 14 | Neither the name of XStream nor the names of its contributors may be used to endorse 15 | or promote products derived from this software without specific prior written 16 | permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 19 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 21 | SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 22 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 23 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 24 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY 26 | WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 27 | DAMAGE. 28 | -------------------------------------------------------------------------------- /lib/commons.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | ============================================================================ 4 | The Apache Software License, Version 1.1 5 | ============================================================================ 6 | 7 | Copyright (C) @year@ The Apache Software Foundation. All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modifica- 10 | tion, are permitted provided that the following conditions are met: 11 | 12 | 1. Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | 15 | 2. Redistributions in binary form must reproduce the above copyright notice, 16 | this list of conditions and the following disclaimer in the documentation 17 | and/or other materials provided with the distribution. 18 | 19 | 3. The end-user documentation included with the redistribution, if any, must 20 | include the following acknowledgment: "This product includes software 21 | developed by the Apache Software Foundation (http://www.apache.org/)." 22 | Alternately, this acknowledgment may appear in the software itself, if 23 | and wherever such third-party acknowledgments normally appear. 24 | 25 | 4. The names "Apache Cocoon" and "Apache Software Foundation" must not be 26 | used to endorse or promote products derived from this software without 27 | prior written permission. For written permission, please contact 28 | apache@apache.org. 29 | 30 | 5. Products derived from this software may not be called "Apache", nor may 31 | "Apache" appear in their name, without prior written permission of the 32 | Apache Software Foundation. 33 | 34 | THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, 35 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 36 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 37 | APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 38 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- 39 | DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 40 | OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 41 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 42 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 43 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 44 | 45 | This software consists of voluntary contributions made by many individuals 46 | on behalf of the Apache Software Foundation and was originally created by 47 | Stefano Mazzocchi . For more information on the Apache 48 | Software Foundation, please see . 49 | 50 | */ 51 | -------------------------------------------------------------------------------- /lib/foxtrot.LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002, Simone Bordet & Marco Cravero 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, are permitted 5 | provided that the following conditions are met: 6 | 7 | - Redistributions of source code must retain the above copyright notice, 8 | this list of conditions and the following disclaimer. 9 | 10 | - Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | - Neither the name of Foxtrot nor the names of the contributors may be used 15 | to endorse or promote products derived from this software without specific prior 16 | written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS 19 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 20 | AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS 21 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 23 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 25 | THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /manifest/uac.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /manifest/xp-themes.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /sign4j/README.txt: -------------------------------------------------------------------------------- 1 | sign4j version 3.0 2 | ------------------ 3 | 4 | sign4j is a very simple utility to digitally sign executables containing an appended jar file, like those created by launch4j. 5 | 6 | It works by first signing a temporary file to detect the size of the applied signature, and by then adding that size to a counter in the ZIP_END_HEADER of the embedded jar, so as to pretend that the signature is a comment belonging to it. That way the jar remains formally correct, and java accepts it. 7 | 8 | This manipulation must be done atomically with the signing process, because doing it before would invalidate the jar file, while doing it later would break the signature. That's why the whole command line of your signing tool must be passed to sign4j, which will do the job. 9 | 10 | Any signing tool can be used, as long as the name of the output file can be recognized among its parameters. This is currently done by either using an -out option if present, or taking the last filename with an exe suffix after all supplied options. 11 | 12 | If the involved tool is able to remove a previous signature before adding the new one (as is normally the case) the initial test can be performed on the target executable itself, avoiding the creation of a temporary file. You can use the option --onthespot to signal that to sign4j. 13 | 14 | The option --strict can be used to suppress the use of double quotes around parameters that strictly don't need them. The option --verbose shows diagnostics about intermediary steps of the process. 15 | 16 | This utility can also be used to sign normal executables, but then it will remember you that the file can be signed directly. 17 | 18 | Please send comments to bramfeld@diogen.de 19 | -------------------------------------------------------------------------------- /sign4j/sign4j.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/sign4j/sign4j.exe -------------------------------------------------------------------------------- /src/images/asterix-o.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/asterix-o.gif -------------------------------------------------------------------------------- /src/images/asterix.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/asterix.gif -------------------------------------------------------------------------------- /src/images/build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/build.png -------------------------------------------------------------------------------- /src/images/button_ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/button_ok.png -------------------------------------------------------------------------------- /src/images/cancel16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/cancel16.png -------------------------------------------------------------------------------- /src/images/down16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/down16.png -------------------------------------------------------------------------------- /src/images/edit_add16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/edit_add16.png -------------------------------------------------------------------------------- /src/images/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/info.png -------------------------------------------------------------------------------- /src/images/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/new.png -------------------------------------------------------------------------------- /src/images/new16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/new16.png -------------------------------------------------------------------------------- /src/images/ok16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/ok16.png -------------------------------------------------------------------------------- /src/images/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/open.png -------------------------------------------------------------------------------- /src/images/open16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/open16.png -------------------------------------------------------------------------------- /src/images/run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/run.png -------------------------------------------------------------------------------- /src/images/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/save.png -------------------------------------------------------------------------------- /src/images/up16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/images/up16.png -------------------------------------------------------------------------------- /src/launch4j.properties: -------------------------------------------------------------------------------- 1 | versionNumber=3.0.3.0 2 | version=3.0.3 3 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/BuilderException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 13, 2005 36 | */ 37 | package net.sf.launch4j; 38 | 39 | /** 40 | * @author Copyright (C) 2005 Grzegorz Kowal 41 | */ 42 | public class BuilderException extends Exception { 43 | public BuilderException() {} 44 | 45 | public BuilderException(Throwable t) { 46 | super(t); 47 | } 48 | 49 | public BuilderException(String msg) { 50 | super(msg); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ExecException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 14, 2005 36 | */ 37 | package net.sf.launch4j; 38 | 39 | /** 40 | * @author Copyright (C) 2005 Grzegorz Kowal 41 | */ 42 | public class ExecException extends Exception { 43 | private final int _errLine; 44 | 45 | public ExecException(Throwable t, int errLine) { 46 | super(t); 47 | _errLine = errLine; 48 | } 49 | 50 | public ExecException(Throwable t) { 51 | this(t, -1); 52 | } 53 | 54 | public ExecException(String msg, int errLine) { 55 | super(msg); 56 | _errLine = errLine; 57 | } 58 | 59 | public ExecException(String msg) { 60 | this(msg, -1); 61 | } 62 | 63 | public int getErrLine() { 64 | return _errLine; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/FileChooserFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on 2004-01-15 36 | */ 37 | package net.sf.launch4j; 38 | 39 | import java.io.File; 40 | 41 | import javax.swing.filechooser.FileFilter; 42 | 43 | /** 44 | * @author Copyright (C) 2004 Grzegorz Kowal 45 | */ 46 | public class FileChooserFilter extends FileFilter { 47 | String _description; 48 | String[] _extensions; 49 | 50 | public FileChooserFilter(String description, String extension) { 51 | _description = description; 52 | _extensions = new String[] {extension}; 53 | } 54 | 55 | public FileChooserFilter(String description, String[] extensions) { 56 | _description = description; 57 | _extensions = extensions; 58 | } 59 | 60 | public boolean accept(File f) { 61 | if (f.isDirectory()) { 62 | return true; 63 | } 64 | String ext = Util.getExtension(f); 65 | for (int i = 0; i < _extensions.length; i++) { 66 | if (ext.toLowerCase().equals(_extensions[i].toLowerCase())) { 67 | return true; 68 | } 69 | } 70 | return false; 71 | } 72 | 73 | public String getDescription() { 74 | return _description; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/Log.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 12, 2005 36 | */ 37 | package net.sf.launch4j; 38 | 39 | import javax.swing.JTextArea; 40 | import javax.swing.SwingUtilities; 41 | 42 | /** 43 | * @author Copyright (C) 2005 Grzegorz Kowal 44 | */ 45 | public abstract class Log { 46 | private static final Log _consoleLog = new ConsoleLog(); 47 | private static final Log _antLog = new AntLog(); 48 | 49 | public abstract void clear(); 50 | public abstract void append(String line); 51 | 52 | public static Log getConsoleLog() { 53 | return _consoleLog; 54 | } 55 | 56 | public static Log getAntLog() { 57 | return _antLog; 58 | } 59 | 60 | public static Log getSwingLog(JTextArea textArea) { 61 | return new SwingLog(textArea); 62 | } 63 | } 64 | 65 | class ConsoleLog extends Log { 66 | public void clear() { 67 | System.out.println("\n"); 68 | } 69 | 70 | public void append(String line) { 71 | System.out.println("launch4j: " + line); 72 | } 73 | } 74 | 75 | class AntLog extends Log { 76 | public void clear() { 77 | System.out.println("\n"); 78 | } 79 | 80 | public void append(String line) { 81 | System.out.println(line); 82 | } 83 | } 84 | 85 | class SwingLog extends Log { 86 | private final JTextArea _textArea; 87 | 88 | public SwingLog(JTextArea textArea) { 89 | _textArea = textArea; 90 | } 91 | 92 | public void clear() { 93 | SwingUtilities.invokeLater(new Runnable() { 94 | public void run() { 95 | _textArea.setText(""); 96 | }}); 97 | } 98 | 99 | public void append(final String line) { 100 | SwingUtilities.invokeLater(new Runnable() { 101 | public void run() { 102 | _textArea.append(line + "\n"); 103 | }}); 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/Main.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2011 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 21, 2005 36 | */ 37 | package net.sf.launch4j; 38 | 39 | import java.io.File; 40 | import java.io.InputStream; 41 | import java.util.Properties; 42 | 43 | import net.sf.launch4j.config.ConfigPersister; 44 | import net.sf.launch4j.formimpl.MainFrame; 45 | 46 | /** 47 | * @author Copyright (C) 2005 Grzegorz Kowal 48 | */ 49 | public class Main { 50 | private static String _name; 51 | private static String _description; 52 | 53 | public static void main(String[] args) { 54 | try { 55 | Properties props = new Properties(); 56 | InputStream in = Main.class.getClassLoader() 57 | .getResourceAsStream("launch4j.properties"); 58 | props.load(in); 59 | in.close(); 60 | setDescription(props); 61 | 62 | if (args.length == 0) { 63 | ConfigPersister.getInstance().createBlank(); 64 | MainFrame.createInstance(); 65 | } else if (args.length == 1 && !args[0].startsWith("-")) { 66 | ConfigPersister.getInstance().load(new File(args[0])); 67 | Builder b = new Builder(Log.getConsoleLog()); 68 | b.build(); 69 | } else { 70 | System.out.println(_description 71 | + Messages.getString("Main.usage") 72 | + ": launch4j config.xml"); 73 | } 74 | } catch (Exception e) { 75 | Log.getConsoleLog().append(e.getMessage()); 76 | } 77 | } 78 | 79 | public static String getName() { 80 | return _name; 81 | } 82 | 83 | public static String getDescription() { 84 | return _description; 85 | } 86 | 87 | private static void setDescription(Properties props) { 88 | _name = "Launch4j " + props.getProperty("version"); 89 | _description = _name + 90 | " (http://launch4j.sourceforge.net/)\n" + 91 | "Cross-platform Java application wrapper" + 92 | " for creating Windows native executables.\n\n" + 93 | "Copyright (C) 2004, 2011 Grzegorz Kowal\n\n" + 94 | "Launch4j comes with ABSOLUTELY NO WARRANTY.\n" + 95 | "This is free software, licensed under the BSD License.\n" + 96 | "This product includes software developed by the Apache Software Foundation" + 97 | " (http://www.apache.org/)."; 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j; 35 | 36 | import java.text.MessageFormat; 37 | import java.util.MissingResourceException; 38 | import java.util.ResourceBundle; 39 | 40 | public class Messages { 41 | private static final String BUNDLE_NAME = "net.sf.launch4j.messages"; 42 | 43 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 44 | .getBundle(BUNDLE_NAME); 45 | private static final MessageFormat FORMATTER = new MessageFormat(""); 46 | 47 | private Messages() { 48 | } 49 | 50 | public static String getString(String key) { 51 | try { 52 | return RESOURCE_BUNDLE.getString(key); 53 | } catch (MissingResourceException e) { 54 | return '!' + key + '!'; 55 | } 56 | } 57 | 58 | public static String getString(String key, String arg0) { 59 | return getString(key, new Object[] {arg0}); 60 | } 61 | 62 | public static String getString(String key, String arg0, String arg1) { 63 | return getString(key, new Object[] {arg0, arg1}); 64 | } 65 | 66 | public static String getString(String key, String arg0, String arg1, String arg2) { 67 | return getString(key, new Object[] {arg0, arg1, arg2}); 68 | } 69 | 70 | public static String getString(String key, Object[] args) { 71 | try { 72 | FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key)); 73 | return FORMATTER.format(args); 74 | } catch (MissingResourceException e) { 75 | return '!' + key + '!'; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/OptionParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on 2005-04-24 36 | */ 37 | package net.sf.launch4j; 38 | 39 | //import net.sf.launch4j.config.Config; 40 | 41 | //import org.apache.commons.cli.CommandLine; 42 | //import org.apache.commons.cli.CommandLineParser; 43 | //import org.apache.commons.cli.HelpFormatter; 44 | //import org.apache.commons.cli.Options; 45 | //import org.apache.commons.cli.ParseException; 46 | //import org.apache.commons.cli.PosixParser; 47 | 48 | /** 49 | * @author Copyright (C) 2005 Grzegorz Kowal 50 | */ 51 | public class OptionParser { 52 | 53 | // private final Options _options; 54 | // 55 | // public OptionParser() { 56 | // _options = new Options(); 57 | // _options.addOption("h", "header", true, "header"); 58 | // } 59 | // 60 | // public Config parse(Config c, String[] args) throws ParseException { 61 | // CommandLineParser parser = new PosixParser(); 62 | // CommandLine cl = parser.parse(_options, args); 63 | // c.setJar(getFile(props, Config.JAR)); 64 | // c.setOutfile(getFile(props, Config.OUTFILE)); 65 | // } 66 | // 67 | // public void printHelp() { 68 | // HelpFormatter formatter = new HelpFormatter(); 69 | // formatter.printHelp("launch4j", _options); 70 | // } 71 | } 72 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/AntClassPath.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jul 19, 2006 36 | */ 37 | package net.sf.launch4j.ant; 38 | 39 | import java.util.ArrayList; 40 | import java.util.List; 41 | 42 | import net.sf.launch4j.config.ClassPath; 43 | 44 | /** 45 | * @author Copyright (C) 2006 Grzegorz Kowal 46 | */ 47 | public class AntClassPath extends ClassPath { 48 | private final List wrappedPaths = new ArrayList(); 49 | 50 | public void setCp(String cp){ 51 | wrappedPaths.add(cp); 52 | } 53 | 54 | public void addCp(StringWrapper cp) { 55 | wrappedPaths.add(cp); 56 | } 57 | 58 | public void unwrap() { 59 | setPaths(StringWrapper.unwrap(wrappedPaths)); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/AntJre.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jul 18, 2006 36 | */ 37 | package net.sf.launch4j.ant; 38 | 39 | import java.util.ArrayList; 40 | import java.util.List; 41 | 42 | import net.sf.launch4j.config.Jre; 43 | 44 | /** 45 | * @author Copyright (C) 2006 Grzegorz Kowal 46 | */ 47 | public class AntJre extends Jre { 48 | private final List wrappedOptions = new ArrayList(); 49 | 50 | public void addOpt(StringWrapper opt) { 51 | wrappedOptions.add(opt); 52 | } 53 | 54 | public void unwrap() { 55 | setOptions(StringWrapper.unwrap(wrappedOptions)); 56 | } 57 | 58 | /** 59 | * For backwards compatibility. 60 | */ 61 | public void setDontUsePrivateJres(boolean dontUse) { 62 | if (dontUse) { 63 | setJdkPreference(JDK_PREFERENCE_JRE_ONLY); 64 | } 65 | else { 66 | setJdkPreference(JDK_PREFERENCE_PREFER_JRE); 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.ant; 35 | 36 | import java.util.MissingResourceException; 37 | import java.util.ResourceBundle; 38 | 39 | public class Messages { 40 | private static final String BUNDLE_NAME = "net.sf.launch4j.ant.messages"; 41 | 42 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 43 | .getBundle(BUNDLE_NAME); 44 | 45 | private Messages() { 46 | } 47 | 48 | public static String getString(String key) { 49 | try { 50 | return RESOURCE_BUNDLE.getString(key); 51 | } catch (MissingResourceException e) { 52 | return '!' + key + '!'; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/StringWrapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jul 18, 2006 36 | */ 37 | package net.sf.launch4j.ant; 38 | 39 | import java.util.ArrayList; 40 | import java.util.Iterator; 41 | import java.util.List; 42 | 43 | /** 44 | * @author Copyright (C) 2006 Grzegorz Kowal 45 | */ 46 | public class StringWrapper { 47 | private String text; 48 | 49 | public static List unwrap(List wrappers) { 50 | if (wrappers.isEmpty()) { 51 | return null; 52 | } 53 | List strings = new ArrayList(wrappers.size()); 54 | for (Iterator iter = wrappers.iterator(); iter.hasNext();) { 55 | strings.add(iter.next().toString()); 56 | } 57 | return strings; 58 | } 59 | 60 | public void addText(String text) { 61 | this.text = text; 62 | } 63 | 64 | public String toString() { 65 | return text; 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Launch4j (http://launch4j.sourceforge.net/) 3 | # Cross-platform Java application wrapper for creating Windows native executables. 4 | # 5 | # Copyright (c) 2004, 2007 Grzegorz Kowal 6 | # 7 | # All rights reserved. 8 | # 9 | # Redistribution and use in source and binary forms, with or without modification, 10 | # are permitted provided that the following conditions are met: 11 | # 12 | # * Redistributions of source code must retain the above copyright notice, 13 | # this list of conditions and the following disclaimer. 14 | # * Redistributions in binary form must reproduce the above copyright notice, 15 | # this list of conditions and the following disclaimer in the documentation 16 | # and/or other materials provided with the distribution. 17 | # * Neither the name of the Launch4j nor the names of its contributors 18 | # may be used to endorse or promote products derived from this software without 19 | # specific prior written permission. 20 | # 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | # 33 | 34 | Launch4jTask.specify.config=Specify configFile or config 35 | AntConfig.duplicate.element=Duplicate element 36 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/ant/messages_es.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/ant/messages_es.properties -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/Binding.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 30, 2005 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | import java.awt.Color; 40 | 41 | /** 42 | * @author Copyright (C) 2005 Grzegorz Kowal 43 | */ 44 | public interface Binding { 45 | /** Used to mark components with invalid data. */ 46 | public final static Color INVALID_COLOR = Color.PINK; 47 | 48 | /** Java Bean property bound to a component */ 49 | public String getProperty(); 50 | /** Clear component, set it to the default value */ 51 | public void clear(IValidatable bean); 52 | /** Java Bean property -> Component */ 53 | public void put(IValidatable bean); 54 | /** Component -> Java Bean property */ 55 | public void get(IValidatable bean); 56 | /** Mark component as valid */ 57 | public void markValid(); 58 | /** Mark component as invalid */ 59 | public void markInvalid(); 60 | /** Enable or disable the component */ 61 | public void setEnabled(boolean enabled); 62 | } 63 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/BindingException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 30, 2005 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | /** 40 | * Signals a runtime error, a missing property in a Java Bean for example. 41 | * 42 | * @author Copyright (C) 2005 Grzegorz Kowal 43 | */ 44 | public class BindingException extends RuntimeException { 45 | public BindingException(Throwable t) { 46 | super(t); 47 | } 48 | 49 | public BindingException(String msg) { 50 | super(msg); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/IValidatable.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on 2004-01-30 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | /** 40 | * @author Copyright (C) 2004 Grzegorz Kowal 41 | */ 42 | public interface IValidatable { 43 | public void checkInvariants(); 44 | } 45 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/InvariantViolationException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jun 23, 2003 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | /** 40 | * @author Copyright (C) 2003 Grzegorz Kowal 41 | */ 42 | public class InvariantViolationException extends RuntimeException { 43 | private final String _property; 44 | private Binding _binding; 45 | 46 | public InvariantViolationException(String msg) { 47 | super(msg); 48 | _property = null; 49 | } 50 | 51 | public InvariantViolationException(String property, String msg) { 52 | super(msg); 53 | _property = property; 54 | } 55 | 56 | public String getProperty() { 57 | return _property; 58 | } 59 | 60 | public Binding getBinding() { 61 | return _binding; 62 | } 63 | 64 | public void setBinding(Binding binding) { 65 | _binding = binding; 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/JComboBoxBinding.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2007 Ian Roberts 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 10, 2005 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | import java.awt.Color; 40 | 41 | import javax.swing.JComboBox; 42 | 43 | import org.apache.commons.beanutils.PropertyUtils; 44 | 45 | /** 46 | * @author Copyright (C) 2007 Ian Roberts 47 | */ 48 | public class JComboBoxBinding implements Binding { 49 | private final String _property; 50 | private final JComboBox _combo; 51 | private final int _defaultValue; 52 | private final Color _validColor; 53 | 54 | public JComboBoxBinding(String property, JComboBox combo, int defaultValue) { 55 | if (property == null || combo == null) { 56 | throw new NullPointerException(); 57 | } 58 | if (property.equals("") 59 | || combo.getItemCount() == 0 60 | || defaultValue < 0 || defaultValue >= combo.getItemCount()) { 61 | throw new IllegalArgumentException(); 62 | } 63 | _property = property; 64 | _combo = combo; 65 | _defaultValue = defaultValue; 66 | _validColor = combo.getBackground(); 67 | } 68 | 69 | public String getProperty() { 70 | return _property; 71 | } 72 | 73 | public void clear(IValidatable bean) { 74 | select(_defaultValue); 75 | } 76 | 77 | public void put(IValidatable bean) { 78 | try { 79 | Integer i = (Integer) PropertyUtils.getProperty(bean, _property); 80 | if (i == null) { 81 | throw new BindingException( 82 | Messages.getString("JComboBoxBinding.property.null")); 83 | } 84 | select(i.intValue()); 85 | } catch (Exception e) { 86 | throw new BindingException(e); 87 | } 88 | } 89 | 90 | public void get(IValidatable bean) { 91 | try { 92 | PropertyUtils.setProperty(bean, _property, new Integer(_combo.getSelectedIndex())); 93 | return; 94 | } catch (Exception e) { 95 | throw new BindingException(e); 96 | } 97 | } 98 | 99 | private void select(int index) { 100 | if (index < 0 || index >= _combo.getItemCount()) { 101 | throw new BindingException( 102 | Messages.getString("JComboBoxBinding.index.out.of.bounds")); 103 | } 104 | _combo.setSelectedIndex(index); 105 | } 106 | 107 | public void markValid() { 108 | _combo.setBackground(_validColor); 109 | _combo.requestFocusInWindow(); 110 | } 111 | 112 | public void markInvalid() { 113 | _combo.setBackground(Binding.INVALID_COLOR); 114 | } 115 | 116 | public void setEnabled(boolean enabled) { 117 | _combo.setEnabled(enabled); 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/JListBinding.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | import java.awt.Color; 40 | import java.util.ArrayList; 41 | import java.util.Iterator; 42 | import java.util.List; 43 | 44 | import javax.swing.DefaultListModel; 45 | import javax.swing.JList; 46 | 47 | import org.apache.commons.beanutils.PropertyUtils; 48 | 49 | /** 50 | * @author Copyright (C) 2006 Grzegorz Kowal 51 | */ 52 | public class JListBinding implements Binding { 53 | private final String _property; 54 | private final JList _list; 55 | private final Color _validColor; 56 | 57 | public JListBinding(String property, JList list) { 58 | if (property == null || list == null) { 59 | throw new NullPointerException(); 60 | } 61 | if (property.equals("")) { 62 | throw new IllegalArgumentException(); 63 | } 64 | _property = property; 65 | _list = list; 66 | _validColor = _list.getBackground(); 67 | } 68 | 69 | public String getProperty() { 70 | return _property; 71 | } 72 | 73 | public void clear(IValidatable bean) { 74 | _list.setModel(new DefaultListModel()); 75 | } 76 | 77 | public void put(IValidatable bean) { 78 | try { 79 | DefaultListModel model = new DefaultListModel(); 80 | List list = (List) PropertyUtils.getProperty(bean, _property); 81 | if (list != null) { 82 | for (Iterator iter = list.iterator(); iter.hasNext();) { 83 | model.addElement(iter.next()); 84 | } 85 | } 86 | _list.setModel(model); 87 | } catch (Exception e) { 88 | throw new BindingException(e); 89 | } 90 | } 91 | 92 | public void get(IValidatable bean) { 93 | try { 94 | DefaultListModel model = (DefaultListModel) _list.getModel(); 95 | final int size = model.getSize(); 96 | List list = new ArrayList(size); 97 | for (int i = 0; i < size; i++) { 98 | list.add(model.get(i)); 99 | } 100 | PropertyUtils.setProperty(bean, _property, list); 101 | } catch (Exception e) { 102 | throw new BindingException(e); 103 | } 104 | } 105 | 106 | public void markValid() { 107 | _list.setBackground(_validColor); 108 | _list.requestFocusInWindow(); 109 | } 110 | 111 | public void markInvalid() { 112 | _list.setBackground(Binding.INVALID_COLOR); 113 | } 114 | 115 | public void setEnabled(boolean enabled) { 116 | _list.setEnabled(enabled); 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/JTextComponentBinding.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 30, 2005 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | import java.awt.Color; 40 | 41 | import javax.swing.text.JTextComponent; 42 | 43 | import org.apache.commons.beanutils.BeanUtils; 44 | 45 | /** 46 | * Handles JEditorPane, JTextArea, JTextField 47 | * 48 | * @author Copyright (C) 2005 Grzegorz Kowal 49 | */ 50 | public class JTextComponentBinding implements Binding { 51 | private final String _property; 52 | private final JTextComponent _textComponent; 53 | private final String _defaultValue; 54 | private final Color _validColor; 55 | 56 | public JTextComponentBinding(String property, JTextComponent textComponent, 57 | String defaultValue) { 58 | if (property == null || textComponent == null || defaultValue == null) { 59 | throw new NullPointerException(); 60 | } 61 | if (property.equals("")) { 62 | throw new IllegalArgumentException(); 63 | } 64 | _property = property; 65 | _textComponent = textComponent; 66 | _defaultValue = defaultValue; 67 | _validColor = _textComponent.getBackground(); 68 | } 69 | 70 | public String getProperty() { 71 | return _property; 72 | } 73 | 74 | public void clear(IValidatable bean) { 75 | _textComponent.setText(_defaultValue); 76 | } 77 | 78 | public void put(IValidatable bean) { 79 | try { 80 | String s = BeanUtils.getProperty(bean, _property); 81 | // XXX displays zeros as blank 82 | _textComponent.setText(s != null && !s.equals("0") ? s : ""); 83 | } catch (Exception e) { 84 | throw new BindingException(e); 85 | } 86 | } 87 | 88 | public void get(IValidatable bean) { 89 | try { 90 | BeanUtils.setProperty(bean, _property, _textComponent.getText()); 91 | } catch (Exception e) { 92 | throw new BindingException(e); 93 | } 94 | } 95 | 96 | public void markValid() { 97 | _textComponent.setBackground(_validColor); 98 | _textComponent.requestFocusInWindow(); 99 | } 100 | 101 | public void markInvalid() { 102 | _textComponent.setBackground(Binding.INVALID_COLOR); 103 | } 104 | 105 | public void setEnabled(boolean enabled) { 106 | _textComponent.setEnabled(enabled); 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/JToggleButtonBinding.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 30, 2005 36 | */ 37 | package net.sf.launch4j.binding; 38 | 39 | import java.awt.Color; 40 | 41 | import javax.swing.JToggleButton; 42 | 43 | import org.apache.commons.beanutils.PropertyUtils; 44 | 45 | /** 46 | * Handles JToggleButton, JCheckBox 47 | * 48 | * @author Copyright (C) 2005 Grzegorz Kowal 49 | */ 50 | public class JToggleButtonBinding implements Binding { 51 | private final String _property; 52 | private final JToggleButton _button; 53 | private final boolean _defaultValue; 54 | private final Color _validColor; 55 | 56 | public JToggleButtonBinding(String property, JToggleButton button, 57 | boolean defaultValue) { 58 | if (property == null || button == null) { 59 | throw new NullPointerException(); 60 | } 61 | if (property.equals("")) { 62 | throw new IllegalArgumentException(); 63 | } 64 | _property = property; 65 | _button = button; 66 | _defaultValue = defaultValue; 67 | _validColor = _button.getBackground(); 68 | } 69 | 70 | public String getProperty() { 71 | return _property; 72 | } 73 | 74 | public void clear(IValidatable bean) { 75 | _button.setSelected(_defaultValue); 76 | } 77 | 78 | public void put(IValidatable bean) { 79 | try { 80 | Boolean b = (Boolean) PropertyUtils.getProperty(bean, _property); 81 | _button.setSelected(b != null && b.booleanValue()); 82 | } catch (Exception e) { 83 | throw new BindingException(e); 84 | } 85 | } 86 | 87 | public void get(IValidatable bean) { 88 | try { 89 | PropertyUtils.setProperty(bean, _property, 90 | Boolean.valueOf(_button.isSelected())); 91 | } catch (Exception e) { 92 | throw new BindingException(e); 93 | } 94 | } 95 | 96 | public void markValid() { 97 | _button.setBackground(_validColor); 98 | _button.requestFocusInWindow(); 99 | } 100 | 101 | public void markInvalid() { 102 | _button.setBackground(Binding.INVALID_COLOR); 103 | } 104 | 105 | public void setEnabled(boolean enabled) { 106 | _button.setEnabled(enabled); 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.binding; 35 | 36 | import java.text.MessageFormat; 37 | import java.util.MissingResourceException; 38 | import java.util.ResourceBundle; 39 | 40 | public class Messages { 41 | private static final String BUNDLE_NAME = "net.sf.launch4j.binding.messages"; 42 | 43 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 44 | .getBundle(BUNDLE_NAME); 45 | private static final MessageFormat FORMATTER = new MessageFormat(""); 46 | 47 | private Messages() { 48 | } 49 | 50 | public static String getString(String key) { 51 | try { 52 | return RESOURCE_BUNDLE.getString(key); 53 | } catch (MissingResourceException e) { 54 | return '!' + key + '!'; 55 | } 56 | } 57 | 58 | public static String getString(String key, String arg0) { 59 | return getString(key, new Object[] {arg0}); 60 | } 61 | 62 | public static String getString(String key, String arg0, String arg1) { 63 | return getString(key, new Object[] {arg0, arg1}); 64 | } 65 | 66 | public static String getString(String key, String arg0, String arg1, String arg2) { 67 | return getString(key, new Object[] {arg0, arg1, arg2}); 68 | } 69 | 70 | public static String getString(String key, Object[] args) { 71 | try { 72 | FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key)); 73 | return FORMATTER.format(args); 74 | } catch (MissingResourceException e) { 75 | return '!' + key + '!'; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Launch4j (http://launch4j.sourceforge.net/) 3 | # Cross-platform Java application wrapper for creating Windows native executables. 4 | # 5 | # Copyright (c) 2004, 2007 Grzegorz Kowal 6 | # 7 | # All rights reserved. 8 | # 9 | # Redistribution and use in source and binary forms, with or without modification, 10 | # are permitted provided that the following conditions are met: 11 | # 12 | # * Redistributions of source code must retain the above copyright notice, 13 | # this list of conditions and the following disclaimer. 14 | # * Redistributions in binary form must reproduce the above copyright notice, 15 | # this list of conditions and the following disclaimer in the documentation 16 | # and/or other materials provided with the distribution. 17 | # * Neither the name of the Launch4j nor the names of its contributors 18 | # may be used to endorse or promote products derived from this software without 19 | # specific prior written permission. 20 | # 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | # 33 | 34 | OptComponentBinding.must.implement=Optional component must implement 35 | 36 | Validator.empty.field=Enter: {0} 37 | Validator.invalid.data=Invalid data: {0} 38 | Validator.must.be.in.range={0} must be in range [{1}-{2}] 39 | Validator.must.be.at.least={0} must be at least 40 | Validator.already.exists={0} already exists. 41 | Validator.doesnt.exist={0} doesn''t exist. 42 | Validator.exceeds.max.length={0} exceeds the maximum length of {1} characters. 43 | Validator.invalid.option={0} must be one of [{1}] 44 | 45 | Bindings.duplicate.binding=Duplicate binding 46 | 47 | JRadioButtonBinding.property.null=Property is null 48 | JRadioButtonBinding.nothing.selected=Nothing selected 49 | JRadioButtonBinding.index.out.of.bounds=Button index out of bounds 50 | 51 | JComboBoxBinding.property.null=Property is null 52 | JComboBoxBinding.index.out.of.bounds=Combo box index out of bounds 53 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/binding/messages_es.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/binding/messages_es.properties -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/ClassPath.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.config; 38 | 39 | import java.util.List; 40 | 41 | import net.sf.launch4j.binding.IValidatable; 42 | import net.sf.launch4j.binding.Validator; 43 | 44 | /** 45 | * @author Copyright (C) 2006 Grzegorz Kowal 46 | */ 47 | public class ClassPath implements IValidatable { 48 | private String mainClass; 49 | private List paths; 50 | 51 | public void checkInvariants() { 52 | Validator.checkString(mainClass, Validator.MAX_PATH, "mainClass", 53 | Messages.getString("ClassPath.mainClass")); 54 | Validator.checkOptStrings(paths, 55 | Validator.MAX_PATH, 56 | Validator.MAX_BIG_STR, 57 | "paths", 58 | Messages.getString("ClassPath.path")); 59 | } 60 | 61 | public String getMainClass() { 62 | return mainClass; 63 | } 64 | 65 | public void setMainClass(String mainClass) { 66 | this.mainClass = mainClass; 67 | } 68 | 69 | public List getPaths() { 70 | return paths; 71 | } 72 | 73 | public void setPaths(List paths) { 74 | this.paths = paths; 75 | } 76 | 77 | public String getPathsString() { 78 | StringBuffer sb = new StringBuffer(); 79 | for (int i = 0; i < paths.size(); i++) { 80 | sb.append(paths.get(i)); 81 | if (i < paths.size() - 1) { 82 | sb.append(';'); 83 | } 84 | } 85 | return sb.toString(); 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/ConfigPersisterException.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 22, 2005 36 | */ 37 | package net.sf.launch4j.config; 38 | 39 | /** 40 | * @author Copyright (C) 2005 Grzegorz Kowal 41 | */ 42 | public class ConfigPersisterException extends Exception { 43 | 44 | public ConfigPersisterException(String msg, Throwable t) { 45 | super(msg, t); 46 | } 47 | 48 | public ConfigPersisterException(Throwable t) { 49 | super(t); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/LdDefaults.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Sep 3, 2005 36 | */ 37 | package net.sf.launch4j.config; 38 | 39 | import java.util.Arrays; 40 | import java.util.List; 41 | 42 | public class LdDefaults { 43 | 44 | public static final List GUI_HEADER_OBJECTS = Arrays.asList(new String[] { 45 | "w32api/crt2.o", 46 | "head/guihead.o", 47 | "head/head.o" }); 48 | 49 | public static final List CONSOLE_HEADER_OBJECTS = Arrays.asList(new String[] { 50 | "w32api/crt2.o", 51 | "head/consolehead.o", 52 | "head/head.o"}); 53 | 54 | public static final List LIBS = Arrays.asList(new String[] { 55 | "w32api/libmingw32.a", 56 | "w32api/libgcc.a", 57 | "w32api/libmsvcrt.a", 58 | "w32api/libkernel32.a", 59 | "w32api/libuser32.a", 60 | "w32api/libadvapi32.a", 61 | "w32api/libshell32.a" }); 62 | } 63 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.config; 35 | 36 | import java.text.MessageFormat; 37 | import java.util.MissingResourceException; 38 | import java.util.ResourceBundle; 39 | 40 | public class Messages { 41 | private static final String BUNDLE_NAME = "net.sf.launch4j.config.messages"; 42 | 43 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 44 | .getBundle(BUNDLE_NAME); 45 | private static final MessageFormat FORMATTER = new MessageFormat(""); 46 | 47 | private Messages() { 48 | } 49 | 50 | public static String getString(String key) { 51 | try { 52 | return RESOURCE_BUNDLE.getString(key); 53 | } catch (MissingResourceException e) { 54 | return '!' + key + '!'; 55 | } 56 | } 57 | 58 | public static String getString(String key, String arg0) { 59 | return getString(key, new Object[] {arg0}); 60 | } 61 | 62 | public static String getString(String key, String arg0, String arg1) { 63 | return getString(key, new Object[] {arg0, arg1}); 64 | } 65 | 66 | public static String getString(String key, String arg0, String arg1, String arg2) { 67 | return getString(key, new Object[] {arg0, arg1, arg2}); 68 | } 69 | 70 | public static String getString(String key, Object[] args) { 71 | try { 72 | FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key)); 73 | return FORMATTER.format(args); 74 | } catch (MissingResourceException e) { 75 | return '!' + key + '!'; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/SingleInstance.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /** 35 | * Created on 2007-09-16 36 | */ 37 | package net.sf.launch4j.config; 38 | 39 | import net.sf.launch4j.binding.IValidatable; 40 | import net.sf.launch4j.binding.Validator; 41 | 42 | /** 43 | * @author Copyright (C) 2007 Grzegorz Kowal 44 | */ 45 | public class SingleInstance implements IValidatable { 46 | 47 | private String mutexName; 48 | private String windowTitle; 49 | 50 | public void checkInvariants() { 51 | Validator.checkString(mutexName, Validator.MAX_STR, 52 | "singleInstance.mutexName", 53 | Messages.getString("SingleInstance.mutexName")); 54 | Validator.checkOptString(windowTitle, Validator.MAX_STR, 55 | "singleInstance.windowTitle", 56 | Messages.getString("SingleInstance.windowTitle")); 57 | } 58 | 59 | public String getWindowTitle() { 60 | return windowTitle; 61 | } 62 | 63 | public void setWindowTitle(String appWindowName) { 64 | this.windowTitle = appWindowName; 65 | } 66 | 67 | public String getMutexName() { 68 | return mutexName; 69 | } 70 | 71 | public void setMutexName(String mutexName) { 72 | this.mutexName = mutexName; 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/Splash.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Apr 21, 2005 36 | */ 37 | package net.sf.launch4j.config; 38 | 39 | import java.io.File; 40 | 41 | import net.sf.launch4j.binding.IValidatable; 42 | import net.sf.launch4j.binding.Validator; 43 | 44 | /** 45 | * @author Copyright (C) 2005 Grzegorz Kowal 46 | */ 47 | public class Splash implements IValidatable { 48 | 49 | // 1.x config properties_____________________________________________________________ 50 | public static final String SPLASH_FILE = "splash"; 51 | public static final String WAIT_FOR_TITLE = "waitForTitle"; 52 | public static final String TIMEOUT = "splashTimeout"; 53 | public static final String TIMEOUT_ERR = "splashTimeoutErr"; 54 | 55 | // __________________________________________________________________________________ 56 | private File file; 57 | private boolean waitForWindow = true; 58 | private int timeout = 60; 59 | private boolean timeoutErr = true; 60 | 61 | public void checkInvariants() { 62 | Validator.checkFile(file, "splash.file", 63 | Messages.getString("Splash.splash.file")); 64 | Validator.checkRange(timeout, 1, 60 * 15, "splash.timeout", 65 | Messages.getString("Splash.splash.timeout")); 66 | } 67 | 68 | /** Splash screen in BMP format. */ 69 | public File getFile() { 70 | return file; 71 | } 72 | 73 | public void setFile(File file) { 74 | this.file = file; 75 | } 76 | 77 | /** Splash timeout in seconds. */ 78 | public int getTimeout() { 79 | return timeout; 80 | } 81 | 82 | public void setTimeout(int timeout) { 83 | this.timeout = timeout; 84 | } 85 | 86 | /** Signal error on splash timeout. */ 87 | public boolean isTimeoutErr() { 88 | return timeoutErr; 89 | } 90 | 91 | public void setTimeoutErr(boolean timeoutErr) { 92 | this.timeoutErr = timeoutErr; 93 | } 94 | 95 | /** Hide splash screen when the child process displayes the first window. */ 96 | public boolean getWaitForWindow() { 97 | return waitForWindow; 98 | } 99 | 100 | public void setWaitForWindow(boolean waitForWindow) { 101 | this.waitForWindow = waitForWindow; 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/config/messages_es.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/config/messages_es.properties -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/BasicForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/BasicForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/ClassPathForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/ClassPathForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/ConfigForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/ConfigForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/EnvironmentVarsForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/EnvironmentVarsForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/HeaderForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/HeaderForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/JreForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/JreForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.form; 35 | 36 | import java.util.MissingResourceException; 37 | import java.util.ResourceBundle; 38 | 39 | class Messages { 40 | private static final String BUNDLE_NAME = "net.sf.launch4j.form.messages"; 41 | 42 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 43 | .getBundle(BUNDLE_NAME); 44 | 45 | private Messages() { 46 | } 47 | 48 | public static String getString(String key) { 49 | try { 50 | return RESOURCE_BUNDLE.getString(key); 51 | } catch (MissingResourceException e) { 52 | return '!' + key + '!'; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/MessagesForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/MessagesForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/SingleInstanceForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/SingleInstanceForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/SplashForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/SplashForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/VersionInfoForm.jfrm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/VersionInfoForm.jfrm -------------------------------------------------------------------------------- /src/net/sf/launch4j/form/messages_es.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/form/messages_es.properties -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/AbstractAcceptListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import java.awt.Color; 40 | import java.awt.event.ActionListener; 41 | 42 | import javax.swing.JTextField; 43 | 44 | import net.sf.launch4j.binding.Binding; 45 | 46 | /** 47 | * @author Copyright (C) 2006 Grzegorz Kowal 48 | */ 49 | public abstract class AbstractAcceptListener implements ActionListener { 50 | final JTextField _field; 51 | 52 | public AbstractAcceptListener(JTextField f, boolean listen) { 53 | _field = f; 54 | if (listen) { 55 | _field.addActionListener(this); 56 | } 57 | } 58 | 59 | protected String getText() { 60 | return _field.getText(); 61 | } 62 | 63 | protected void clear() { 64 | _field.setText(""); 65 | _field.requestFocusInWindow(); 66 | } 67 | 68 | protected void signalViolation(String msg) { 69 | final Color bg = _field.getBackground(); 70 | _field.setBackground(Binding.INVALID_COLOR); 71 | MainFrame.getInstance().warn(msg); 72 | _field.setBackground(bg); 73 | _field.requestFocusInWindow(); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/BrowseActionListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import java.awt.event.ActionEvent; 40 | import java.awt.event.ActionListener; 41 | import java.io.File; 42 | 43 | import javax.swing.JFileChooser; 44 | import javax.swing.JTextField; 45 | 46 | import net.sf.launch4j.FileChooserFilter; 47 | 48 | /** 49 | * @author Copyright (C) 2006 Grzegorz Kowal 50 | */ 51 | public class BrowseActionListener implements ActionListener { 52 | private final boolean _save; 53 | private final JFileChooser _fileChooser; 54 | private final FileChooserFilter _filter; 55 | private final JTextField _field; 56 | 57 | public BrowseActionListener(boolean save, JFileChooser fileChooser, 58 | FileChooserFilter filter, JTextField field) { 59 | _save = save; 60 | _fileChooser = fileChooser; 61 | _filter = filter; 62 | _field = field; 63 | } 64 | 65 | public void actionPerformed(ActionEvent e) { 66 | if (!_field.isEnabled()) { 67 | return; 68 | } 69 | _fileChooser.setFileFilter(_filter); 70 | _fileChooser.setSelectedFile(new File("")); 71 | int result = _save 72 | ? _fileChooser.showSaveDialog(MainFrame.getInstance()) 73 | : _fileChooser.showOpenDialog(MainFrame.getInstance()); 74 | if (result == JFileChooser.APPROVE_OPTION) { 75 | _field.setText(_fileChooser.getSelectedFile().getPath()); 76 | } 77 | _fileChooser.removeChoosableFileFilter(_filter); 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/ConfigFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 10, 2005 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import javax.swing.BorderFactory; 40 | import javax.swing.JFileChooser; 41 | import javax.swing.JTextArea; 42 | 43 | import net.sf.launch4j.binding.Binding; 44 | import net.sf.launch4j.binding.Bindings; 45 | import net.sf.launch4j.binding.IValidatable; 46 | import net.sf.launch4j.form.ConfigForm; 47 | 48 | /** 49 | * @author Copyright (C) 2005 Grzegorz Kowal 50 | */ 51 | public class ConfigFormImpl extends ConfigForm { 52 | private final Bindings _bindings = new Bindings(); 53 | private final JFileChooser _fileChooser = new FileChooser(ConfigFormImpl.class); 54 | 55 | public ConfigFormImpl() { 56 | _tab.setBorder(BorderFactory.createMatteBorder(0, -1, -1, -1, getBackground())); 57 | _tab.addTab(Messages.getString("tab.basic"), 58 | new BasicFormImpl(_bindings, _fileChooser)); 59 | _tab.addTab(Messages.getString("tab.classpath"), 60 | new ClassPathFormImpl(_bindings, _fileChooser)); 61 | _tab.addTab(Messages.getString("tab.header"), 62 | new HeaderFormImpl(_bindings)); 63 | _tab.addTab(Messages.getString("tab.singleInstance"), 64 | new SingleInstanceFormImpl(_bindings)); 65 | _tab.addTab(Messages.getString("tab.jre"), 66 | new JreFormImpl(_bindings, _fileChooser)); 67 | _tab.addTab(Messages.getString("tab.envVars"), 68 | new EnvironmentVarsFormImpl(_bindings)); 69 | _tab.addTab(Messages.getString("tab.splash"), 70 | new SplashFormImpl(_bindings, _fileChooser)); 71 | _tab.addTab(Messages.getString("tab.version"), 72 | new VersionInfoFormImpl(_bindings, _fileChooser)); 73 | _tab.addTab(Messages.getString("tab.messages"), 74 | new MessagesFormImpl(_bindings)); 75 | } 76 | 77 | public void clear(IValidatable bean) { 78 | _bindings.clear(bean); 79 | } 80 | 81 | public void put(IValidatable bean) { 82 | _bindings.put(bean); 83 | } 84 | 85 | public void get(IValidatable bean) { 86 | _bindings.get(bean); 87 | } 88 | 89 | public boolean isModified() { 90 | return _bindings.isModified(); 91 | } 92 | 93 | public JTextArea getLogTextArea() { 94 | return _logTextArea; 95 | } 96 | 97 | public Binding getBinding(String property) { 98 | return _bindings.getBinding(property); 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/EnvironmentVarsFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jun 10, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import net.sf.launch4j.binding.Bindings; 40 | import net.sf.launch4j.form.EnvironmentVarsForm; 41 | 42 | /** 43 | * @author Copyright (C) 2006 Grzegorz Kowal 44 | */ 45 | public class EnvironmentVarsFormImpl extends EnvironmentVarsForm { 46 | 47 | public EnvironmentVarsFormImpl(Bindings bindings) { 48 | bindings.add("variables", _envVarsTextArea); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/FileChooser.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Jul 19, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import java.io.File; 40 | import java.util.prefs.Preferences; 41 | 42 | import javax.swing.JFileChooser; 43 | 44 | /** 45 | * @author Copyright (C) 2006 Grzegorz Kowal 46 | */ 47 | public class FileChooser extends JFileChooser { 48 | private final Preferences _prefs; 49 | private final String _key; 50 | 51 | public FileChooser(Class clazz) { 52 | _prefs = Preferences.userNodeForPackage(clazz); 53 | _key = "currentDir-" 54 | + clazz.getName().substring(clazz.getName().lastIndexOf('.') + 1); 55 | String path = _prefs.get(_key, null); 56 | if (path != null) { 57 | setCurrentDirectory(new File(path)); 58 | } 59 | } 60 | 61 | public void approveSelection() { 62 | _prefs.put(_key, getCurrentDirectory().getPath()); 63 | super.approveSelection(); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/GlassPane.java: -------------------------------------------------------------------------------- 1 | package net.sf.launch4j.formimpl; 2 | 3 | import java.awt.AWTEvent; 4 | import java.awt.Component; 5 | import java.awt.Cursor; 6 | import java.awt.Toolkit; 7 | import java.awt.Window; 8 | import java.awt.event.AWTEventListener; 9 | import java.awt.event.KeyAdapter; 10 | import java.awt.event.KeyEvent; 11 | import java.awt.event.MouseAdapter; 12 | 13 | import javax.swing.JComponent; 14 | import javax.swing.SwingUtilities; 15 | 16 | /** 17 | * This is the glass pane class that intercepts screen interactions during 18 | * system busy states. 19 | * 20 | * Based on JavaWorld article by Yexin Chen. 21 | */ 22 | public class GlassPane extends JComponent implements AWTEventListener { 23 | private final Window _window; 24 | 25 | public GlassPane(Window w) { 26 | _window = w; 27 | addMouseListener(new MouseAdapter() {}); 28 | addKeyListener(new KeyAdapter() {}); 29 | setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); 30 | } 31 | 32 | /** 33 | * Receives all key events in the AWT and processes the ones that originated 34 | * from the current window with the glass pane. 35 | * 36 | * @param event 37 | * the AWTEvent that was fired 38 | */ 39 | public void eventDispatched(AWTEvent event) { 40 | Object source = event.getSource(); 41 | if (event instanceof KeyEvent 42 | && source instanceof Component) { 43 | /* 44 | * If the event originated from the window w/glass pane, 45 | * consume the event. 46 | */ 47 | if ((SwingUtilities.windowForComponent((Component) source) == _window)) { 48 | ((KeyEvent) event).consume(); 49 | } 50 | } 51 | } 52 | 53 | /** 54 | * Sets the glass pane as visible or invisible. The mouse cursor will be set 55 | * accordingly. 56 | */ 57 | public void setVisible(boolean visible) { 58 | if (visible) { 59 | // Start receiving all events and consume them if necessary 60 | Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK); 61 | } else { 62 | // Stop receiving all events 63 | Toolkit.getDefaultToolkit().removeAWTEventListener(this); 64 | } 65 | super.setVisible(visible); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/Messages.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | package net.sf.launch4j.formimpl; 35 | 36 | import java.util.MissingResourceException; 37 | import java.util.ResourceBundle; 38 | 39 | public class Messages { 40 | private static final String BUNDLE_NAME = "net.sf.launch4j.formimpl.messages"; 41 | 42 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 43 | .getBundle(BUNDLE_NAME); 44 | 45 | private Messages() { 46 | } 47 | 48 | public static String getString(String key) { 49 | try { 50 | return RESOURCE_BUNDLE.getString(key); 51 | } catch (MissingResourceException e) { 52 | return '!' + key + '!'; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/MessagesFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on Oct 7, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import net.sf.launch4j.binding.Bindings; 40 | import net.sf.launch4j.config.Msg; 41 | import net.sf.launch4j.form.MessagesForm; 42 | 43 | /** 44 | * @author Copyright (C) 2006 Grzegorz Kowal 45 | */ 46 | public class MessagesFormImpl extends MessagesForm { 47 | 48 | public MessagesFormImpl(Bindings bindings) { 49 | Msg m = new Msg(); 50 | bindings.addOptComponent("messages", Msg.class, _messagesCheck) 51 | .add("messages.startupErr", _startupErrTextArea, m.getStartupErr()) 52 | .add("messages.bundledJreErr", _bundledJreErrTextArea, m.getBundledJreErr()) 53 | .add("messages.jreVersionErr", _jreVersionErrTextArea, m.getJreVersionErr()) 54 | .add("messages.launcherErr", _launcherErrTextArea, m.getLauncherErr()) 55 | .add("messages.instanceAlreadyExistsMsg", _instanceAlreadyExistsMsgTextArea, 56 | m.getInstanceAlreadyExistsMsg()); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/SingleInstanceFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /** 35 | * Created on 2007-09-22 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import net.sf.launch4j.binding.Bindings; 40 | import net.sf.launch4j.config.SingleInstance; 41 | import net.sf.launch4j.form.SingleInstanceForm; 42 | 43 | /** 44 | * @author Copyright (C) 2007 Grzegorz Kowal 45 | */ 46 | public class SingleInstanceFormImpl extends SingleInstanceForm { 47 | 48 | public SingleInstanceFormImpl(Bindings bindings) { 49 | bindings.addOptComponent("singleInstance", SingleInstance.class, 50 | _singleInstanceCheck) 51 | .add("singleInstance.mutexName", _mutexNameField) 52 | .add("singleInstance.windowTitle", _windowTitleField); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/SplashFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import javax.swing.JFileChooser; 40 | 41 | import net.sf.launch4j.FileChooserFilter; 42 | import net.sf.launch4j.binding.Bindings; 43 | import net.sf.launch4j.config.Splash; 44 | import net.sf.launch4j.form.SplashForm; 45 | 46 | /** 47 | * @author Copyright (C) 2006 Grzegorz Kowal 48 | */ 49 | public class SplashFormImpl extends SplashForm { 50 | 51 | public SplashFormImpl(Bindings bindings, JFileChooser fc) { 52 | bindings.addOptComponent("splash", Splash.class, _splashCheck) 53 | .add("splash.file", _splashFileField) 54 | .add("splash.waitForWindow", _waitForWindowCheck, true) 55 | .add("splash.timeout", _timeoutField, "60") 56 | .add("splash.timeoutErr", _timeoutErrCheck, true); 57 | 58 | _splashFileButton.addActionListener(new BrowseActionListener(false, fc, 59 | new FileChooserFilter("Bitmap files (.bmp)", ".bmp"), _splashFileField)); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/VersionInfoFormImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | Launch4j (http://launch4j.sourceforge.net/) 3 | Cross-platform Java application wrapper for creating Windows native executables. 4 | 5 | Copyright (c) 2004, 2007 Grzegorz Kowal 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, 10 | are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, 13 | this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | * Neither the name of the Launch4j nor the names of its contributors 18 | may be used to endorse or promote products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | */ 33 | 34 | /* 35 | * Created on May 1, 2006 36 | */ 37 | package net.sf.launch4j.formimpl; 38 | 39 | import javax.swing.JFileChooser; 40 | 41 | import net.sf.launch4j.binding.Bindings; 42 | import net.sf.launch4j.config.VersionInfo; 43 | import net.sf.launch4j.form.VersionInfoForm; 44 | 45 | /** 46 | * @author Copyright (C) 2006 Grzegorz Kowal 47 | */ 48 | public class VersionInfoFormImpl extends VersionInfoForm { 49 | 50 | public VersionInfoFormImpl(Bindings bindings, JFileChooser fc) { 51 | bindings.addOptComponent("versionInfo", VersionInfo.class, _versionInfoCheck) 52 | .add("versionInfo.fileVersion", _fileVersionField) 53 | .add("versionInfo.productVersion", _productVersionField) 54 | .add("versionInfo.fileDescription", _fileDescriptionField) 55 | .add("versionInfo.internalName", _internalNameField) 56 | .add("versionInfo.originalFilename", _originalFilenameField) 57 | .add("versionInfo.productName", _productNameField) 58 | .add("versionInfo.txtFileVersion", _txtFileVersionField) 59 | .add("versionInfo.txtProductVersion", _txtProductVersionField) 60 | .add("versionInfo.companyName", _companyNameField) 61 | .add("versionInfo.copyright", _copyrightField); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Launch4j (http://launch4j.sourceforge.net/) 3 | # Cross-platform Java application wrapper for creating Windows native executables. 4 | # 5 | # Copyright (c) 2004, 2007 Grzegorz Kowal 6 | # 7 | # All rights reserved. 8 | # 9 | # Redistribution and use in source and binary forms, with or without modification, 10 | # are permitted provided that the following conditions are met: 11 | # 12 | # * Redistributions of source code must retain the above copyright notice, 13 | # this list of conditions and the following disclaimer. 14 | # * Redistributions in binary form must reproduce the above copyright notice, 15 | # this list of conditions and the following disclaimer in the documentation 16 | # and/or other materials provided with the distribution. 17 | # * Neither the name of the Launch4j nor the names of its contributors 18 | # may be used to endorse or promote products derived from this software without 19 | # specific prior written permission. 20 | # 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | # 33 | 34 | tab.basic=Basic 35 | tab.classpath=Classpath 36 | tab.header=Header 37 | tab.singleInstance=Single instance 38 | tab.jre=JRE 39 | tab.envVars=Set env. variables 40 | tab.splash=Splash 41 | tab.version=Version Info 42 | tab.messages=Messages 43 | 44 | # Basic 45 | jar=Jar: 46 | jarPath=Jar runtime path: 47 | jarTip=Application jar. 48 | jarPathTip=Optional runtime path of the jar relative to the executable. For example, if the executable launcher and the application jar named calc.exe and calc.jar are in the same directory, it would be: calc.jar. 49 | 50 | # Classpath 51 | specifyClassPath=Specify classpath item to add. 52 | confirmClassPathRemoval=Remove selected classpath items? 53 | noManifest=The selected jar does not have a manifest. 54 | 55 | # JRE 56 | specifyVar=Specify environment variable to add. 57 | otherVar=Other var 58 | jdkPreference.jre.only=Only use public JREs 59 | jdkPreference.prefer.jre=Prefer public JRE, but use JDK runtime if newer 60 | jdkPreference.prefer.jdk=Prefer JDK runtime, but use public JRE if newer 61 | jdkPreference.jdk.only=Only use private JDK runtimes 62 | 63 | MainFrame.config.files=launch4j config files (.xml, .cfg) 64 | MainFrame.new.config=New configuration 65 | MainFrame.open.config=Open configuration or import 1.x 66 | MainFrame.save.config=Save configuration 67 | MainFrame.build.wrapper=Build wrapper 68 | MainFrame.test.wrapper=Test wrapper 69 | MainFrame.about.launch4j=About launch4j 70 | MainFrame.discard.changes=Discard changes? 71 | MainFrame.confirm=Confirm 72 | MainFrame.untitled=untitled 73 | MainFrame.executing=Executing: 74 | MainFrame.jar.integrity.test=Jar integrity test, executing: 75 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/formimpl/messages_es.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/formimpl/messages_es.properties -------------------------------------------------------------------------------- /src/net/sf/launch4j/messages.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Launch4j (http://launch4j.sourceforge.net/) 3 | # Cross-platform Java application wrapper for creating Windows native executables. 4 | # 5 | # Copyright (c) 2004, 2007 Grzegorz Kowal 6 | # 7 | # All rights reserved. 8 | # 9 | # Redistribution and use in source and binary forms, with or without modification, 10 | # are permitted provided that the following conditions are met: 11 | # 12 | # * Redistributions of source code must retain the above copyright notice, 13 | # this list of conditions and the following disclaimer. 14 | # * Redistributions in binary form must reproduce the above copyright notice, 15 | # this list of conditions and the following disclaimer in the documentation 16 | # and/or other materials provided with the distribution. 17 | # * Neither the name of the Launch4j nor the names of its contributors 18 | # may be used to endorse or promote products derived from this software without 19 | # specific prior written permission. 20 | # 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | # 33 | 34 | Main.usage=usage 35 | 36 | Builder.compiling.resources=Compiling resources 37 | Builder.linking=Linking 38 | Builder.wrapping=Wrapping 39 | Builder.success=Successfully created 40 | Builder.generated.resource.file=Generated resource file...\n 41 | Builder.line.has.errors=Line {0} has errors... 42 | 43 | Util.exec.failed=Exec failed 44 | Util.tmpdir=Temporary file directory path (launch4j.tmpdir) cannot contain spaces. 45 | Util.use.double.backslash=Use \\\\ to code Windows paths in fields that don't represent files or paths! 46 | -------------------------------------------------------------------------------- /src/net/sf/launch4j/messages_es.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/src/net/sf/launch4j/messages_es.properties -------------------------------------------------------------------------------- /w32api/MinGW.LICENSE.txt: -------------------------------------------------------------------------------- 1 | MinGW - Licensing Terms 2 | 3 | Various pieces distributed with MinGW come with its own copyright and license: 4 | 5 | Basic MinGW runtime 6 | MinGW base runtime package is uncopyrighted and placed in the public domain. 7 | This basically means that you can do what you want with the code. 8 | 9 | w32api 10 | You are free to use, modify and copy this package. 11 | No restrictions are imposed on programs or object files compiled with this library. 12 | You may not restrict the the usage of this library. 13 | You may distribute this library as part of another package or as a modified package 14 | if and only if you do not restrict the usage of the portions consisting 15 | of this (optionally modified) library. 16 | If distributed as a modified package then this file must be included. 17 | 18 | This library is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty 20 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 21 | 22 | MinGW profiling code 23 | MinGW profiling code is distributed under the GNU General Public License. 24 | 25 | The development tools such as GCC, GDB, GNU Make, etc all covered by GNU General Public License. 26 | -------------------------------------------------------------------------------- /w32api/libadvapi32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/w32api/libadvapi32.a -------------------------------------------------------------------------------- /w32api/libgcc.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/w32api/libgcc.a -------------------------------------------------------------------------------- /w32api/libkernel32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/w32api/libkernel32.a -------------------------------------------------------------------------------- /w32api/libmingw32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/w32api/libmingw32.a -------------------------------------------------------------------------------- /w32api/libmsvcrt.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/w32api/libmsvcrt.a -------------------------------------------------------------------------------- /w32api/libshell32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/w32api/libshell32.a -------------------------------------------------------------------------------- /w32api/libuser32.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/w32api/libuser32.a -------------------------------------------------------------------------------- /web/.cvsignore: -------------------------------------------------------------------------------- 1 | *.html 2 | *.gif 3 | *.css 4 | -------------------------------------------------------------------------------- /web/bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/web/bullet.gif -------------------------------------------------------------------------------- /web/launch4j-use.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/web/launch4j-use.gif -------------------------------------------------------------------------------- /web/launch4j.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fbergmann/launch4j/9ea2d07bd04257c1888f72cc2ae851749a3effc5/web/launch4j.gif -------------------------------------------------------------------------------- /web/links.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Launch4j - Cross-platform Java executable wrapper 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | launch4j 3.0.3 15 |
16 |
17 | 28 | 35 |
36 |
37 |

Links

38 |

39 | alakai Maven plugin for Launch4j
40 | Launch4j Maven Plugin by Paul A. Jungwirth

41 | MinGW
42 | Commons BeanUtils
43 | Commons Logging
44 | XStream
45 | JGoodies Forms
46 | JGoodies Looks
47 | Abeille Forms Designer
48 | Eclipse
49 | Bloodshed Dev-C++ IDE
50 |

51 |

Windows native installers

52 |

53 | NSIS (cross-platform, targets Windows)
54 | Inno Setup
55 |

56 |
57 | 66 |
67 | 68 | 69 | -------------------------------------------------------------------------------- /web/style.css: -------------------------------------------------------------------------------- 1 | body, table { 2 | font: 12px/20px Verdana, Arial, Helvetica, sans-serif; 3 | } 4 | 5 | 6 | pre { 7 | padding: 8px; 8 | border: 1px dashed #999999; 9 | background-color: #f1f1f1; 10 | font: 13px/20px "Courier New", Courier, monospace; 11 | } 12 | 13 | 14 | .version { 15 | color: #307fe1; 16 | font-weight: bold; 17 | } 18 | 19 | 20 | .codeword { 21 | color: #3333ff; 22 | } 23 | .attrib { 24 | color: #404040; 25 | } 26 | .option { 27 | font-family: "Courier New", Courier, monospace; 28 | font-weight: bold; 29 | } 30 | 31 | 32 | dt { 33 | margin-top: 1.5em; 34 | color: #404040; 35 | font-size: 115%; 36 | border-bottom: 1px solid #cccccc; 37 | } 38 | dd { 39 | margin-left: 1em; 40 | } 41 | 42 | 43 | .warn, ul.changes em { 44 | color: #ff0000; 45 | } 46 | 47 | 48 | table { 49 | margin-top: 1em; 50 | padding: 0; 51 | border: 1px solid #999999; 52 | border-collapse: collapse; 53 | text-align: center; 54 | } 55 | table th { 56 | padding: 2px 4px; 57 | border: 1px solid #999999; 58 | background-color: #f1f1f1; 59 | } 60 | table td { 61 | padding: 2px 4px; 62 | border: 1px solid #999999; 63 | } 64 | .description { 65 | text-align: left; 66 | } 67 | 68 | 69 | #container { 70 | width: 90%; 71 | margin: 10px auto; 72 | border-width: 0; 73 | background-color: #ffffff; 74 | } 75 | 76 | 77 | #top { 78 | padding: 0.5em; 79 | background-color: #ffffff; 80 | } 81 | #top h1 { 82 | margin: 0; 83 | padding: 0; 84 | } 85 | 86 | 87 | #leftnav { 88 | float: left; 89 | width: 170px; 90 | margin: 0; 91 | padding: 0.5em; 92 | background-color: #ffffff; 93 | } 94 | #leftnav ul { 95 | margin: 0; 96 | padding: 0; 97 | border: none; 98 | list-style-type: none; 99 | font-size: 115%; 100 | } 101 | #leftnav a { 102 | width: 170px; 103 | height: 1.6em; 104 | line-height: 1.6em; 105 | display: block; 106 | padding-left: 0.2em; 107 | } 108 | #leftnav a:link, #leftnav a:visited { 109 | text-decoration: none; 110 | color: #666666; 111 | } 112 | #leftnav a:hover { 113 | background-color: #307fe1; 114 | color: #ffffff; 115 | } 116 | 117 | 118 | #content { 119 | max-width: 52em; 120 | margin-left: 190px; 121 | padding: 1em; 122 | border-left: 1px solid #cccccc; 123 | background-color: #ffffff; 124 | } 125 | 126 | #content ul { 127 | list-style-image: url('bullet.gif'); 128 | } 129 | 130 | #content a:link { 131 | text-decoration: none; 132 | color: #307fe1; 133 | } 134 | #content a:visited { 135 | text-decoration: none; 136 | color: #307fe1; 137 | } 138 | #content a:hover { 139 | color: #307fe1; 140 | text-decoration: underline; 141 | } 142 | 143 | #content h2 { 144 | font-size: 150%; 145 | } 146 | #content h2:first-child { 147 | margin: 0 0 0.5em; 148 | } 149 | 150 | 151 | .footer { 152 | clear: both; 153 | margin: 0; 154 | padding: 0.5em; 155 | background-color: #ffffff; 156 | color: #333333; 157 | text-align: center; 158 | font-size: 90%; 159 | } 160 | --------------------------------------------------------------------------------