How to build native app bundles for Windows, Linux & Mac in a single build? - deployment

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.

Related

Error "This app can't run on your pc" when i run .exe from win10 Home

I am new to Unity and from my PC (MAC) i have created 3 builds of my project (1-MAC, 2-Windows x86_64, 3-WebGL)
I state that my version of Unity Hub is 2.4.2 and my Unity version is 2019.4.18f1
When i start my game on mac everything works fine (obviously starting the build for mac), later I put the x86_64 windows build in a compressed folder and then transferred it into a USB, to try the game from another pc (win 10 PRO). In this PC the same version of unity was already present.
So far, so good.
The problem starts when I take the same USB with the same files, which, as previously said on win10 pro work, I put them on a win10 home (32 bit) and when I try to start the .exe it gives me this error "This app can't run on your PC. To find a version for your PC, check with the software publisher "
Looking on the internet I tried to get around the problem they change the local settings policy, but the result is the same :(
These are the files inside my compressed folder
And these are my build settings
I thank whoever will be able to help me and I apologize for my bad English
You say your other PC is 32 bit!
That's your issue!
You are building for the Architecture
x86_64 => 64-bit CPU
It does not mean 32 or 64 bit.
To run it on a 32 bit system you have to build for x86 instead.
See Unity Manual - PC, Mac & Linux Standalone build settings

Windows support for Electron application created via Capacitor

I have just started looking at Capacitor as a possible solution to package my hybrid apps in an electron shell. This is the first time I have used Electron, so really know very little about it's details.
I ran through the following steps..
1. Create new Ionic app
2. install capacitor as per doco
3. run npx add electron
4. cd electron
5. npm i electron-packager -g
6. electron-packager . --platform=win32
I ended up with a subfolder electron\capacitor-app-win32-x64that contained an executable, which ran fine on both my dev machine (Windows 10 x64), and another Windows (Windows Server 2008 R2 Standard x64).
My ultimate target device is a specialised small ruggedised tablet, that runs Windows 7 Embedded 32 bit.
It does not run on this, I get The version of this file is not compatible with the version of Windows you're running. I am not even sure if the build app is managed or unmanaged (assuming unmanaged?)
So, I would like to know what is not compatible about the Windows machine. Initial questions are
How do I Know what "bitness" the Electron app is (ie 32 bit, 64 bit, or is it .net to is like "any cpu"). I can't see where to find out this information (dotpeek won't open the exe, and opening the exe in Visual Studio, I don't see much information)
Could it be it is not build for the correct CPU?
Is there some other dependency that perhaps the embedded Windows 7 has not got
Any help is how to figure this out would be great!
[UPDATE1]
Following some advice as given here, it appears it is a 64 bit application, which is strange as the command electron-packager . --platform=win32 appear to indicate we want a 32 bit. So that may be my problem.
Does anyone know how to make it build to 32bit?
Found the problem. Just need to add a --arch=ia32 to get 32 bit.
So my complete build command was
electron-packager . --platform=win32 --arch=ia32
and it is now 32 bit and runs on the 32 bit machine.

cx_freeze on MAC 10.9 Python 2.7.6 (32/64 bit)

I have developed an app on a Window PC using Python and wxPython. For the several weeks I have been trying to migrate it to a MAC mini running 10.9, Python 2.7.6 (32/64 bit) using the Eclipse IDE with PyDev. I was NOT a MAC user prior to about three weeks ago when I purchased a used Mac mini and started working on it. Due to the fact that wxPython is a 32-bit library only I am running Python in 32-bit mode out of Eclipse - this has worked well until now I am ready to attempt and produce a stand alone app via cx_freeze and I am hitting a problem that cx_freeze is building the bundle using the 64-bit Python and it will not work with my 32-bit wx_Python library.
My question is what can I do at this point in time? Obviously, if I had been smart I would have installed the 32-bit ONLY version of Python 2.7.6 (hind sight you know), but I did not. I have gone through all the write to /Library/Preferences/com.apple.python.preference file and setting environment variables only to learn that that does not apply except to Apple installs. One solution would be to install the 32-bit ONLY Python - scared I will mess my current development environment up so that is why I am asking here for help. Also, there may be a setting in cx_freeze to accomplish this too. Any help to a "green horn" MAC person would be greatly appreciated.

RCP Building for mac fails using Delta Pack

I am having troubles building my RCP Application for Mac using the Delta Pack. I have Delta Pack 3.7.2 installed and configured right (inserted into a target platform ) and the Building part completes just perfectly.
When I try to run the build app on my windows(Dev PC) it works fine. But when I zip the Mac version and try to run it on my mac, then it fails on every version I try:
Cocoa 32b,
Cocoa 64b,
Carbon etc
The app won't open and I don't get an error message.
Is there a way to get an error message anyway? Has anyone had this problem before?
When you build for a mac on a windows machine you should not build directly to a directory. Instead you should build to an archive. Then put this archive on the mac and expand it there. Then everything should work

eclipse for chrome?

I use eclipse IDE for developing my GWT and android apps. I would like to transition to a chromebook for my main development computer, but I can't figure out how I would get eclipse "installed". There is no chrome app version of eclipse, at least not that I can find. I do see that there are other IDEs in the chrome store, but I don't think they would have all the nifty helper plugins that eclipse has for google developers. Anybody know if a chrome version of eclipse is coming? Do others share my desire to develop on a chrome book?
Eclipse is not coming for Chrome OS. You need a JVM to run it and one of the compatible desktops for the UI widgets. So you would have to escape from Chrome OS desktop into base Linux and somehow launch a regular Linux desktop (like GTK) to have any hope of running Eclipse. Also, a typical chromebook is far too underpowered to run a full IDE.
Here are some options to consider:
Project Orion - A web based IDE from many of the same people who develop Eclipse. One of the goals is to enable Eclipse-like capabilities for platforms like iOS, Android, Chrome OS, etc. It has quite a few base IDE capabilities already, but not a lot of plugins just yet. Probably not going to see something as sophisticated as ADT for a while if ever. Google would have to implement Android emulators in JavaScript. Not an easy task.
Run Eclipse on another machine and use a remote desktop from your chromebook.
Run Eclipse Che on another machine or cloud server and use Chrome
The most straightforward and transparent way I was able to do so was to do a combination of things (some of which was mentioned in previous answers):
install crouton (alongside an ubuntu chroot) - this is not dual booting but running Ubuntu side by side with Chrome OS just alternating between both windowing systems.
install crouton chrome extension & xiwi - this enables running the X11 windows in the ubuntu chroot as native Chrome OS windows that can be easily alternated into.
install a JDK inside the ubuntu chroot.
download, mount and execute eclipse-installer.
once the eclipse distribution of choice is installed, for ease I symlinked the main eclipse executable to /usr/local/bin/eclipse and am able to run it from Chrome OS via crouton/xiwi: sudo startxiwi eclipse
Here's a screenshot of what it looks like when done:
Eclipse requires a JVM (maybe even a full-blown JDK), so there's no way to make it into a Chrome app. You could enable developer mode and try to install a Linux JDK since Chrome seems to be running Linux under the hood.
Do others share my desire to develop on a chrome book?
The solution is to load a normal linux distribution and run IDE from there. I'm using a netbook with intel n260, 1G ram, 1.6G Hz. NetBeans runs quite well. A chromebook runs more than twice faster, I'm sure it will be good enough.
As to how to load a linux, there is the Ubuntu on Cr-48 page that explains how to do it in depth. And also this very user friendly blog on arstechnica, or this blog on liliputting. They both point you eventually to the ChrUbuntu, that is a hand-re-packaged ubuntu with some scripts to ease your work.
You can install ubuntu via crouton (for more info: https://www.youtube.com/watch?v=d_MuVwJq_XQ&list=FLFel7rdB1nWQSjsJCaepEOg&index=1) and then you can install eclipse I'm not sure if you can install the ADT from the android sdk website but you can install the plugins from the eclipse website, third party developers, or if you really want to download it from the android sdk website you can probably get it to work with a little efort.
:) Enjoy
Yes! I share your desire to program on a Chromebook! While I am still a high-schooler, I am an amateur Java and Python programmer. My school provides with a class set of about 30 Chromebooks per classroom, and I didn't know how to run my code on them. I had Eclipse on my Windows desktop at home.
When I looked around online, I found something called codenvy.io. It is basically an Eclipse Che IDE that runs online. It uses Docker images to start up a workspace, runs all in the cloud, and a free account has 3 GB of RAM.
It suited my needs, and I loved it! You should check it out.