What is the order Launch4J searches JRE ?
I am shipping bundled JRE in DVD but it is very slow when it uses JRE from DVD. I know Launch4j has an option to make use of JRE available in the system already. What are the paths Launch4J search for JRE installation in a windows PC ? Can I give instruction to the advanced user that they have to install JRE in a particular location ?
Related
I try to register a sample of snap-in that was developed by Microsoft but I can't see it in the Add\Remove menu.
I use Win7 x64, the project is defined to x64 and I used InstallUtil.exe to install the DLL. According to the log the installation completed successfully.
I have no clue why I don't see it in the Add/Remove menu. Thank you for your support.
On a x64 Windows you should also use the 64-bit version of the InstallUtil.exewith is located in the Framework64 subfolder (i.e. 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319).
I've used Launch4J (along with Inno Setup Compiler) to create a desktop app.
It works fine on Windows 7 32-bit, but on Windows 7 64-bit the JRE hangs. Presumably, this is because I bundled in a 32-but JRE (jre6).
I'm wondering if anyone knows if it's possible (or even necessary) to bundle in one or more JREs so that my same app will work on 64-but systems?
Have read this page - http://java.com/en/download/faq/java_win64bit.xml - and there doesn't seem to be many clues. I was bundling jre6 though, so maybe jre7 has fixed this issue?
Do not have a 64-bit setup to test on, so would be great if anyone with any experience here could share their knowledge.
If you're going to develop and test exclusively in a 32 bit environment I would highly recommend you force your application to run in a 32 bit JRE even on 64 bit machines.
Information on how to configure Launch4J to force 32 bit JRE here: Configure Launch4J to use 32-bit JVM only
I accepted a project that consists of a Java-project that is shipped with an installer built by install4j (we have a license for 4.2.8). I'm required to ship a JRE with it. The problem is that the guy who worked on it before me left and I don't have access to his installation of install4j that would have included the JREs that are currently shipped with the final installer of our project (Java 1.6.0_29).
Within install4j I can select a JRE, but 1.6.0_29 is not listed there any more. My obvious option was to simply use the latest 1.6-version, but that was declined. Therefore, now I don't have a JRE. I can't even build a bundle with install4j since none of my colleagues has that version. Besides that, I'd need it for all our target platforms (Windows, Linux and MacOS).
I think the only options I have now is to
find a hidden gem on the internet that holds old JREs in .tar.gz-format (i.e., if you know such a site please let me know)
download the various installers from Oracle's site and somehow convert them into .tar.gz (however, I have no idea how to convert, e.g. an exe, into a .tar.gz)
I tried to figure out where install4j downloads the bundles. I played around with the URLs, but it seems as if only those listed in install4j are available.
Do I have another option? Does anyone have solutions for the two options I listed?
You can use the "createbundle" command line tool to create a JRE bundle from any installed JRE.
This is available since install4j 5.0. You can install the current version with an evaluation key and the created bundle .tar.gz file will work for 4.x as well.
Bundling a JRE for Mac OS X is not supported in install4j 4.x. This functionality was added in install4j 5.1 for OpenJDK on Mac OS X.
I developed a Java Swing application on the NetBeans Platform (RCP). I want to include the Windows JRE with the installer that NetBeans generates in case a PC does not have JRE installed, but I do not know how to do this. I have tried to follow the following instructions but failed (I find that the instructions assume that you know absolutely everything on JDK and JRE, for example I would get the message 'pack200' is not recognized as an internal or external command...it would seem that some paths are wrong or outdated):
How to bundle JVM (JRE/JDK) in the installer bundle?
Including the JRE in a NetBeans Platform Installer
Installing the JRE via an Application's Installer via Windows
I am trying to pack the JRE version 7u7
My JDK folder structure is the following:
C:\Program Files\Java\
in here I have the following two folders:
jdk1.7.0_07 and jre7
Please help me...Thank you so much
I have followed "Installing the JRE via an Application's Installer via Windows" in your link to successfully create a Windows installer for my Netbeans platform application.
What are the problems you encountered?
"'pack200' is not recognized as an internal or external command" is because %JAVA_HOME%/bin is not in your PATH (environment variable). You can run pack200 with
"C:\Program Files\Java\jdk1.7.0_07\bin\pack200" -J-Xmx1024m rt.jar.pack.gz rt.jar
Btw, it seems like "app.conf=nbproject/my.conf" part in the article is outdated. I have to modify directly the file "build/launcher/etc/app_name.conf" in my project.
Maybe this guide can help you:
Self-Contained Applications: Package non-JavaFX application
https://blogs.oracle.com/talkingjavadeployment/entry/packaging_improvements_in_jdk_7#3
One of popular questions people ask about self-contained applications - can i package my Java application as self-contained application? Absolutely.
This is true even for tools shipped with JDK 7 update 6. Simply follow steps for creating package for Swing application with integrated JavaFX content and they will work even if your application does not use JavaFX.
i need to deploy an application with a DLL in the application's directory for users on Windows 2000. The dll was shipped with Windows XP an later as a system dll.
Windows XP was also when Microsoft introduced the Fusion loader, to resolve assembly dependancies.
Is it possible to instruct to not use the version of the dll in my folder, but instead to always use the latest version of system supplied version of that dll? And Windows 2000 doesn't have the Fusion loader, nor the dll, so it will just use the version in my folder?
On Windows 2000, if the DLL isn't in the app folder, it will walk down the standard DLL load path (i.e. similar to how $PATH works). What your app does on XP depends on whether you've got an App Manifest (i.e. whether you specify a version or not).
It is not possible on Windows.
DLLs from the current directory are always loading first.
I could only suggest you to modify your application in a way it loads the DLL dynamically
then it will be possible to alter LoadLibrary path or to specify the exactly path
to the DLL