No Export

edited December 2017 in Using Processing

I am working with Processing 3.3.6 If I want to export as an applet, there is no File > Export. Only File>Export Application is available. Is that normal? Also, when I export the application, the exe is not launching (not in my PC, but in others where is no Processing application available). What to do?

Tagged:

Answers

  • edited December 2017

    @sonia===

    • it s normal (no applet)
    • is java installed on the other computers?
    • have you exported with java embedded?
    • what is the os of the other computer? Mac? windows? what version?
  • edited December 2017
    1. If there is no export in file, how do I export as applet for web?
    2. No, Java not installed on the other computers, I think.
    3. I exported with Java embedded as a standalone application. The applications.windows32 folder was compressed into a zip folder. I uploaded and the response was the installer (exe) did not launch when downloaded.
    4. I uploaded in Amazon as per its documentation of uploading a zip or exe for the app binary for pc and mac apps. So, I was thinking of exporting as an applet. But, now not able to find the file>export.
  • Answer ✓

    @sonia===

    • As for the web, now, you have to use P5js
    • As for standalone apps, if embedding java, the result depends of the OS fom the other computer and security rules (specs OSX!)...
  • Answer ✓

    Previous OP post: https://forum.processing.org/two/discussion/25315/pc-app-stores#latest

    I can try to export an app tonight and see if the other computer needs Java or if the embedded libraries are enough. However, I am afraid there are not many ppl in the forum with experience loading exported application into this software distribution platforms. I will suggest creating a post in stackoverflow, if you haven't done so and you might get an answer there.

    Kf

  • Sure, will do that. Hope to get some response at stack overflow. I'm curious to know what ppl in the forum do with their exported applications, if they are not distributing through platforms like Amazon, etc. Or, are they just going in for android? Also, it will be helpful to know how your exporting resulted, if you tried it. Thanks.

  • @sonia

    I did the test. It worked. I tested it on a Windows 10 x64. I exported an application that has image resources. In the export process, I selected to export the java 64 libs. The export process generated two directories: a 32bit version, about 18MB and one 64bit version, about 185MB. The latter has the java libraries included (there is a java folder that is not found in the 32 bit version).

    I tested on a machine that didn't have java installed. I run the code, first, from the memory stick and then from the HD. The 64bit exported version worked in both cases... no problem there. On the other hand, the 32bit version failed in both cases. I wonder if having the java lib installed in a machine will allow you to run the 32 bit version.

    Kf

  • Ok... for completeness of this test:

    I run the 32bit version in another machine with java 1.8 installed. It didn't work. Now, if I run the 64bit version on this machine and removing the java folder I mentioned in my prev post, the 64bit version runs using the available java runtime on this machine.

    Final remark: Going back to the first machine with no java libs installed, and I ran the 64bit version without the java folder, one gets the same error as the 32 bit version: This application requires a java runtime environment 1.80_74.

    End of the test.

    Kf

  • edited December 2017

    Thanks a lot. Basically, it works with windows 64 bit with java libs installed, right? With windows 32, whether java libs installed or not, it does not run in another machine (with no java/processing). So, what do I do now? Mention that in the stack overflow? Btw, as mentioned in the export tips, i pasted the java folder (available in the processing folder that one downloads from the site) into the application.windows32 folder. Hope I did right.

  • From Stack Overflow:

    You can only include the Java version for the type of machine you're running on.

    If you're on a 64-bit Windows machine, then you can only include Java in the 64-bit Windows application. If you're on a 32-bit Linux machine, then you can only include Java in the 32-bit Windows application.

    If you really want to include Java for a bunch of different machines, then your best bet is to find each type of machine and do the export from them. Find a 32-bit Windows machine and do the export there, then find a 64-bit Linux machine and do the export there, etc.

    You might be able to hack something together by downloading the JRE for each type of machine and manually including it, but that might get pretty tricky. Note that this is not as simple as just copying a folder into your application directory. You're going to have to change the run script file as well.

  • edited December 2017 Answer ✓

    Hello
    already good answers here. Usually you are going for a 32bit App, unless want do something crazy like an Videoeditor, or modern 3D Shooter with Megatextures, Hybrid -Raytracing, Forward Shadow Mapping and SSAA, - kind of Doom 4 situation.

    • Yes, the user has to install Java on the Machine. You have to write a Readme including this Information.

    For the Enduser with zero experience, the steps would be: go to the Oracle -Website, download and install the Java lib, wait til installation has finishend. Lanch your Application. ~ 5min, done.
    Your app is worth it : )
    I think you have to build up a community first, and downloading the Java files within your app would be kind of painful (whit your next release).
    To download your 32bit App and then separate Java download you make sure, your "fans" already have the java environment installed and only download the newest content.

    Big advantage is the smaller file size to download and slightly faster loading time (on 64x). Also 32bit runs on 64x architecture, not vice versa. So you can compile 32 bit for Mac+Linux+Windows and don't worry about it, also not if the User is on a 64x architecture. If you compute everything on the CPU the required work stored inside your RAM, implies you can address up to 4GB Ram with your awesome App, and that's a lot!
    Also "a lot of Ram" for running other Apps on the Desktop of the User like a Browser, and Videorecorder, maybe to make a Play trough, or Youtube Review of your app. 64x means the Computer is ready to allocate the memory for your App in particular, this instruction might conflict with an also expensive Application running at the same time. (On Notebook/ Android it is also matter of Battery life. )
    Special case as mentioned with Videoeditor would be, if you do some Imageprocessing you have to decompressed your images .jpg .png to a RAW Data Type, (1024x1024x4)~RGBA and push the pixels inside the RAM, could end up as expensive computation, - but in general it should work.

    Also try previous versions of processing. 2.1.1 e.g https://processing.org/download/ Just to avoid confusion, with 64x vs 32bit and also get fimilar with Amazon in first place and not worry about Java 1.8 etc.

    And to merge your other topic:

    https://developer.amazon.com/de/docs/mac-pc/faq.html

    identify the folder as the “Binary” and identify the readme file as the “Installer executable file name”.

    Easy peasy.

    Side note: Yes, amazon is okay, but also more focusing on sales, i think. If you just experimenting, there are tons of other platforms,more easily to access and get through verification. https://itch.io/

    Edit: So i'm talking about the executable file created for each OS, that is pointing to the .jar files, for the exucution of the *jar files inside the JVM it doesn't matter if the bytecode referring to 32bit or 64bit. So the workaround instead of an ".exe" could be, to create a bash/shell script and point the java installation.

  • Thanks for responding to every bit of my doubts. Your post is very useful.

    The reason I wanted everything to be handy in the app is simply because artists know anything abt Java/Processing etc. So, to ask them to download and install Java is like asking them the moon. Also, I did go through the amazon faqs and uploaded the applications.windows32 as a zip file with Java folder included (in the zip itself). I changed the zip filename of course. But, like you said, I'll identify the readme file for the installer executable file name so it gets easy for the approval team to understand. Btw, the app is still 'queued' at amazon as they haven't responded for over a month. Will try to seek other platforms like the one you mentioned. Thanks again.

  • nabr,

    Submission failed at Amazon. I uploaded the zip file for binary and identified the readme file (in the zip) for installer executable file.

    Amazon's Reason : Your binary is rejected for not having a valid installer the user can find upon download. Please have all relevant components available for the user to install this software to their system.

    I think I'm going to suspend uploading to Amazon for a while as not only that they do not have clarity on what is their executable but also that they are not very responsive.

Sign In or Register to comment.