When creating an installer for an SWT application for MacOSX, using a 64bit JRE, we are getting an
org.eclipse.swt.SWTException:
Invalid thread access that we can trace to a line:
Display display = new Display().
The error occurs when the application is launched after installation.
The same program works fine in development and in any Windows installations created with Install4j. Is there something different that needs to be done with a Mac OSX installer, aside from our making sure to include the proper SWT jar for the target platform?
Indeed, this seems to be localized to launching on MacOSX after installing with Install4j.
Edit your launcher in install4j, go to the "Executable info" step and select the "Uses SWT or QT" check box. Then it should work.
Update: For Apple JREs, the above is sufficient, but for Oracle JREs, the VM parameter -XstartOnFirstThread has to be added. From install4j 5.1.9 on, this will be added automatically.
Related
I am using MobileFirst Platform 6.3 with Eclipse Luna. I have downloaded the MobileFirst QA for Bluemix component (MQA-1.9.19-saas.wlc) file and confirmed that in Eclipse the Download Folder for the Templates and Components is /User/KenAtIBM/IBM/Templates and that indeed the SDK is in that folder.
When I attempt to Add/Remove Application Components I get the following in the console:
[2014-12-17 10:59:48] Component = MQA-1.9.19-saas.wlc
[2014-12-17 10:59:48] Found component.wcp
[2014-12-17 10:59:48] Found Image
[2014-12-17 10:59:48] imagePath
=/var/folders/vz/10zz3f2s46v3940lv5wvpn2c0000gn/T/MQAlogo-small2578766252585890320.png
The problem is that there is no component listed (see attached screen shot).
I have been following the instructions with no success as of yet. So my question is, what am I missing?
I have tried rename the file to have a zip extension, same out come as above.
I have tried un-archiving the zip, no success.
I have restarted eclipse numerous times and even went so far as to reboot, still nothing.
Is the SDK that is downloaded from here compatible with MobileFirst Platform?
Update: you should play with the column resizer rather than the window size. After doing that, the entry will appear.
I see you are using Eclipse Luna on Mac OS X 10.10.x Yosemite.
There is an OS X bug that does something wrong with tables - try to play with the size of the window containing the table and then scroll in it, the component should probably then show up.
On a Mac, the first row of the Add Component is hidden in the table. Simply scroll down and you will see it.
For me, I have 4 templates, but I can only see 3 of them when the dialog starts. I have to scroll down inside that table to see the first row.
And I have tested the MQA on BlueMix with MFP 6.3. It works fine. I can submit my screenshot to the bluemix cloud.
Just to clarify things, MobileFirst Quality Assurance for Bluemix does work together with MobileFirst Platform Foundation 6.3
I was able to successfully instrument a hybrid app with the JavaScript SDK http://www-01.ibm.com/support/knowledgecenter/SSJML5_6.0.0/com.ibm.mqa.uau.saas.doc/topics/c_worklight_sdk.html, and start sessions in both pre-production and production modes. I've used the following configuration:
Eclipse IDE for Java EE Developers 4.4.1.20140925-1820
IBM MobileFirst Platform 6.3.0.00-20141218-1823
Javascript SDK for Worklight 1.9.19
Windows 7 64-bit SP1
It seems that the problem here is with the 'JavaScript SDK' not showing up in the table to 'add/remove application components' when MFP 6.3 is running on Mac OS X Yosemite
I upgraded an installer previously created with install4j 4.2.8 (it was for MacOS 10.6) by the following steps:
Open the installer in install4j 5.1.6 and save it;
Change minimum java to 1.7, and set media jre to "Installed OpenJDK JRE"
Check Installer->Startup->Request priviledges->Mac OS X->Try to obtain root privileges if admin user
Then I built the installer, along with a debug version produced.
When I ran the produced dmg on Mac10.8 (with Oracle jre 7 installed), it became frozen when I clicked "Next" on the Installation Screen, and the log file stopped at output "checking writable with maximum". I could see two install4j related processes running at this point. The only way to get out the condition is to kill those processes.
I ensured that the debug version installer worked.
Please help if anyone experienced similar problems. Thanks.
My OS Configuration
Windows 7 64 bit.
My android studio installation doesn't go beyond Java Se DEVELOPMENT KIT screen. It crashes and asks to either close or to search online for the solution.
Note: This is not the regular problem of it can not be run. And I have my JAVA_HOME variable set. The problem is in installation, not running...
I have solved it my self. I am not sure though if this is general or specific to my system.
What I did is.
Select the downloaded android studio installer -> Properties -> Compatibility
Check Run this program in compatibility mode for and select windows xp sp2
Check Run this program as administrator checkbox
(If it crashes, let it be) and run next time. And for me, it worked like a charm.
I am using install4j to create a Window and Mac OSX installer for a new version of my software. The only thing that has changed since my last distribution is my application. I have not changed any of the launcher or media file options in install4j. After building the installer, the Windows installer runs fine. The Mac OSX installer gives an error message on some machines. The message is "You need at least a 1.7 Java Virtual Machine to install..." However, a user reported that they already have 1.7 installed but still gets the error message. Does anyone know what is causing this error? Does install4j require 1.7 to run on a Mac?
Thanks
Edit the media file of your Mac OS X installer and go to the "JRE" step. If "Installed OpenJDK JRE" is selected, then Java 7 and higher is required. The above message indicates that no such JRE was installed. Also, make sure to update to the latest version of install4j.
I am running my build on Windows 8 O.S. , 64 bit machine. I have JavaFx2.0 and Java 1.7.0_09 installed on my system. I am able to build a 64 bit window executable that launches my JavaFx application as a self-contained Javafx application.
Now I want to deliver native app bundles on Windows, Linux and Mac without build my project on all three platforms i.e I would like to achieve these set of bundles in a single build that I suppose to run on by Windows 8 O.S. 64 bit machine.
I am also okay if I can do it by distributing a single Application JAR file as .zip for MAC and Linux. But what I want is that JAR should work on there respective platform.
When I used to run a single application Jar on MAC using command
java -jar application.jar
It always shows a dialog "The application require a newer version of Java Run-time" with download link. Even I have downloaded and successfully installed it on my MAC machine but it still shows me the same window.
I don't want the users to experience such difficulties while running my JavaFX application on MAC and Linux.
What I need to ship more with the Application JAR so the users can run my JavaFx application on MAC and Linux without any hassle?
I guess you are making the JavaFX Solution in a 64bit machine and on the other hand you must be having all the SDK and runtime for 64bit version. The problem is that the application made using 64bit version of SKD would required 64 bit OS to render itself. So the bottom line is, is yout mac and linux PC have 64bit version of OS and JavaFX Runtime as well as Java7.X all 64 bit? If not then you must update your runtime to 64bit version or make your application in a 32bit version of SDK. One quick suggestion. If your mac or linux is 64bit(I dont have much idea about mac) then just install a browser i.e. 64bit version and runtimes and try out. I was having the same problem and that got fixed. Let me know if my answer caused any confusion.