We create an installer with install4j that bundles the JRE. We then use the MSIX Packaging Tool to create a .msix installer, to publish on the Microsoft App Store.
When we install the .msix package for testing and try to run the application, we get the following error:
"The JVM found at .\jre is damaged. Please reinstall or define EXE4J_JAVA_HOME to point to an installed 64-bit JDK or JRE"
Note that the JRE is bundled with the installer, and it is actually installed in a folder called "jre" under the installation folder.
When we install from the .exe installer, everything works fine, this problem only happens after we create a .msix installer with the MSIX Packaging Tool. We've checked all the installed files and everything looks fine, but the launcher will not run.
Has anybody seen this problem? And is there a solution or workaround?
Related
https://stackoverflow.com/a/57802270/6944068 says "You can generate macOS JRE bundle on Windows."
However, my attempt failed, see transcript:
C:\develop\projects\id-gui\target\downloads\jre-bundles>..\install4j8.0.8\bin\createbundle C:\develop\projects\id-gui\target\downloads\jre-bundles\zulu11.41.24-sa-jdk11.0.8-macosx_x64
The JRE bundle wizard can only create JRE bundles for the platform you're currently running on.
The java home directory C:\develop\projects\id-gui\target\downloads\jre-bundles\zulu11.41.24-sa-jdk11.0.8-macosx_x64 contains a JRE for a different platform.
What's wrong?
The cross-platform generation only applies to bundles that are generated via the mechanism configured on the "General Settings->JRE bundles" step. The createbundle command line tool creates "pre-created JRE bundles", in the install4j IDE you would do the same with "Project->Create a JRE bundle". Those bundles can only be generated on the platform that they are intended for because they rely on a working local installation.
I'm trying to install Eclipse Neon on a 64 bit Windows 7 computer. I download the file "eclipse-inst-win64.exe" and run as administrator. Immediately I get the following error:
The Eclipse Installer executable launcher was unable to locate its companion shared library.
Note the "Installer" keyword. When searching on Google and StackOverflow, I find solutions only for when receiving this error launching Eclipse itself after it is installed. The solutions that worked for people in those situations usually involve editing the "eclipse.ini" file and removing absolute paths or references to uninstalled plugins. However, Eclipse has never been installed on this computer, therefore an "eclipse.ini" file does not exist and the installer does not appear to create one in any obvious place before throwing this error. There does not appear to be any "companion shared library" downloads on the Eclipse website. Any ideas on what could be going on?
Download and install the JDK and then try to install Eclipse again.
According to http://wiki.eclipse.org/Eclipse/Installation:
Eclipse 4.6 (Neon) was released on June 22, 2016. See Neon schedule.
Consider using the Installer. Please see 5 Steps to Install Eclipse.
A Java 8 JRE/JDK is required to run all Neon packages based on
Eclipse 4.6, including the Installer. The reasoning behind
requiring Java 8 are discussed here.
I found another reason for this error message. I got it when I tried to install Eclipse from the compressed installer. I extracted the installer into a folder and ran it from there. It then installed.
Try to extracted all the installer files before you run the installer.
I am using Install4j 6.1.1 to create a new installer that must be smart enough to support 3 installation scenarios:
Create a new installation
Upgrade an existing installation
Upgrade an existing installation that was created using an InstallAnywhere installer
Scenarios 1 and 2 function correctly. With scenario 3 there is a problem with installing a new jre.
If my installer finds an old non-Install4j instance, it invokes the previous version's uninstaller before proceeding with a new install. This seems to work just fine. However, the new bundled JRE is not being installed properly. The Install Files action copies the JRE to the install folder, and then the deletes the bin folder. This results in a corrupted installation that will not execute. I can see this happen- if I open the JRE subfolder during install I can see the jre's lib and bin folders get created and then watch the bin folder get deleted. The jre\lib folder remains. There does not seem to be anything in the installation log to explain what's happening.
Any idea what would cause a bundled JRE to partially install?
I am exporting an Eclipse Plugin Project using Product Export Wizard, I have Eclipse Indigo 64 bit bits.
Everything works fine when I tried exporting it as a 64 bit project. But problems oocured when I tried exporting it into a 32bit project.
I have set the target platform, installed JRE 32bit, added all the required plugins, the program compiles and runs fine on a 32 bit JRE.
The product also seem to export successfully, however, when I tried running the .Exe, it throws an error "The Product executable launcher was unable to locate its companion shared library."
I have checked that the org.eclipse.equinox.launcher_1.2.0.v20110502.jar and org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502 both exists in the plugins folder. I have compared the plugins for the .product file with the runtime configuration plugins, everything seems fine, but I just could not start the .exe.
Please help..
According to this, unpacking the org.eclipse.equinox.launcher.win32.win32.x86_XXXXXXXX jar with the same name in the same directory (i.e. plugins/) fix the issue for me
I had the same problem with 64-bit Eclipse Mars SR1. The issue was that the exported product had a 64-bit launcher EXE instead of 32-bit.
The solutions are
Use the suggestion by #RKM and copy the launcher created by 32-bit Eclipse into your application.
Use 32-bit Eclipse directly for development and exporting product.
I'm trying to install the Force.com IDE plugin. I found it, it started downloading, but once the plugin goes to install I get the following error at about 45% completion:
Installing software has encountered a problem. An error occurred while collecting items to be installed
When I click details about this error, I get the following. Anyone know how to fix this and get the plugin installed? Thanks in advance
An error occurred while collecting items to be installed
session context was:(profile=SDKProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
Problems downloading artifact: osgi.bundle,com.salesforce.ide.api,23.0.2.201201091635.
MD5 hash is not as expected. Expected: 97a6329f82c422a61e9b1bc28be7cace and found ef8b1c2b63c7d04acaa6bf41f4b8570c.
My solution: download plugin jar files manually and put them into eclipse installation directory. The problem was in corrupted (partial) download of jars by eclipse.
Download all jars of particular needed version from http://www.adnsandbox.com/tools/ide/install/features/ and http://www.adnsandbox.com/tools/ide/install/plugins/
Make sure to use some download manager to ensure files integrity!
Then put them to /features/ and /plugins/ folders of your eclipse installation directory accordingly.
Run plugin installation as described by salesforce (Jars will not be downloaded again) - Success!
Make sure you're running Eclipse as an Administrator (right click, select "Run as Administrator") when installing plugins.
If that doesn't help, move your Eclipse folder to the C:\ on Windows because there are issues with the Program Files folder permissions. Then run it as an Administrator and try to install the plugin again.
I just got it working;
Install Eclipse 3.6.1 (Helios SR1)
The IDE FAQ recommends Eclipse 3.5 and 3.6, but the install instructions link you to 3.6 SR1 .
Ensure you only have the latest JRE
I am running Java 6 Update 26 as of this post.
Make sure you don't have any legacy JREs installed
I had to uninstall a 1.4 Java environment before the IDE install would work.
Then follow what Matthew Keefe said;
Run Eclipse As Administrator
Move the Eclipse program directory outside of the Program Files directory.
Edit: Eclipse 3.7 installs the IDE successfully once the Java version is correct.