Can I produce a native exe using flash builder and air - air

Can I produce a native exe using flash builder and air.
I don't want the user to have to get any other dependencies such as air etc. I want everything bundled into a native application, a single exe perhaps that I could produce my own installer using nullsoft or similar.
I've searched around and spoken to people and come to the conclusion that no one is sure, seen some yes and no's.

With flash builder 4.6 they have included the captive build process in the gui. This enables you to produce an exe that is bundled with the AIR Dll's and requirements without the end user ever needing to install Adobe AIR.

Correct: Flash Builder 4.6 has the option right there in the Project menu option, when selecting "Export Release build" :-)

Related

Distributing TideSDK application

I recently finished an application based on Titanium, Javascript, HTML, CSS. I have only been a web designer to date so I have little experience in distributing applications. I was accustomed to the TiDev Community deploying app, which prepared the app for download and made it available for download at a given link.
But tidev community is no longer supported, so I use TideSDK Developer to package the app, which doesnt do all the hard work the other one did so nicely.
I am obviously a complete rookie to this.
Could anyone outline the steps I would need to take to go from the bundled application folder I have now (put together by TideSDK Developer), to a link that will allow customers to download and install the app or online? I know there is an issue with packaoging the app for platforms other than your own, and that appcelerator is working on a solution to this I think. I also realise I would probably have to pay to host the download online. Any guidance would be greatly appreciated.
You must use the tidebuilder.py script. to compile a installation package. To compile a binary for a Mac, you must run the script on a Mac, to compile a binary for windows, you must be on a windows box etc.
There is some documentation on how to use it here per platform. The command is very simple and works.
Once you have your application file (DMG for OSX or a MSI for Windows) then just distribute it however you see fit, email, putting it on your web server, whatever works for you.

How can I submit an application to the store that can target multiple platforms?

I'm prepping an application for submission to the Windows Store that utilises the Bing Maps API - as such, the app has to be compiled to target specific architectures. Whilst there is a guide to submission, it's not clear how to submit both Arm and x86 configurations of the same app. Is it even possible, or will there have to be in the store twice?
When you select the option to create your app package from the Visual Studio Store menu, you get a choice to select the package architecture. There are 4 options: Neutral, x86, x64, ARM.
If you select Neutral, then it builds a single package for "Any CPU" that you can upload to the Store. If you select x86, x64 and ARM, it will build a package for each of these configurations, and you will have to upload the corresponding packages for the architectures you wish to support.
Additionally, if you're building to submit to the Store, make sure to always select Release for each of the selected architectures.
There are cases where some references don't support building using a Neutral architecture. The Microsoft Visual C++ Runtime Package is an example.
Taken from here:
The process of engineering for ARM was different for each language (JavaScript, C++, and C#/VB), based on existing implementation details
of the various runtimes and compilers.
JavaScript uses a JIT compiler, so platform targeting is taken care of at runtime. Therefore Metro style apps using JavaScript are
platform neutral, and you can write once to run on x86/x64/ARM.
C# and Visual Basic are also abstracted from hardware differences. They compile to MSIL, which is platform neutral. Therefore, Metro
style apps using C# or Visual Basic can be compiled once to run on
x86/x64/ARM.
C++ is close to the metal, and compiled to the machine language for
the platform that you’re targeting. This offers developers full
control, but also requires that they specify the hardware where the
app will be supported.
The essence of it is that pure .net or pure html/js will run on any architecture without problems. If you want C++ then you will need to compile your app once for each supported architecture. My understanding is that you can create an app package which contains installers for multiple architectures in this case.
The post here has some good details on packaging your app for multiple architectures. Here are a few highlights:
7.In the Select the packages to create and the solution configuration mappings section, select the check box for each build configuration
for which you want to create a package.
The build configurations grid lists the possible platform
architectures of the package (that is, Neutral, ARM, x64, and x86). In
each row, a combo box displays the combination of the current Solution
Configuration and Architecture choices that are relevant for that
row’s architecture. The check box for the default platform is set to
the current, active project platform. The combo box for the Neutral
row show the Solution Configuration combinations that contain AnyCPU
as the project’s platform. If no Solution Configuration combination is
relevant, the entire row for that platform is unavailable for
selection. One package is produced for each configuration that you
specify.
8.For each build configuration that you specified, choose the Solution Configuration that you want to build.
When you package an app for the Store, you can specify Release or any
custom solution configuration that you’ve created.
A package will be created for each build configuration that you
specified.
From here we get this:
7.Click Packages to upload your app's packages.
And finally from the previous link:
Signing and publishing
After your app passes the certification testing, its packages are
digitally signed to protect them against tampering after they have
been released. When this phase begins, you cannot cancel your
submission.
Note It might take some time for your app's listing to appear in
search results. This is normal. Also, you can't change a release date
after you submit the app to the Windows Store, but you can cancel the
release, update the release date, and re-submit.
Overview: During the build process you specify all architectures you want your app to work for and it creates a package for each. During the submission process you select all the packages you built for that app. When submitting you app this way only one version will show up in the store.
If you build just a HTML5/javascript Windows Store app, it work on all version (ARM, x86 and x84)
If you create something web with bing api. No worry about what platform doesn't work.
Answer is here: http://developer.android.com/google/play/publishing/multiple-apks.html
TLDR:
Go to your Google Play app developer console
Choose your app
Select APK on the left
Turn on Advanced Mode
Upload your ARM apk
Upload your x86 apk
Google will figure out the rest

adobe air: how to embed air runtime or simply distribute air applications?

My question is quite simple: I want to create an adobe AIR application for desktop (windows).
What if an user does not have AIR runtime installed ? Does newest version of AIR come now with EMBEDDED AIR runtime, so it works even for people that do not have AIR runtime installed ?
if not, what would be the simplest way to distribut my AIR application and make sure people that do not have air runtime will be able to run it ?
regards
With the Release of the AIR 3.0 SDK you are now able to distribute Air with your application using the Captive Run Time
This will allow a user to install and run your Air application without having the runtime already installed.
There are some downsides however. For mobile applications (and desktop alike) including the captive runtime can increase the package size by around 10MB. Also, for desktop applications, you will have to package the application natively (ie .exe or .dmg) but if the user doesn't have the runtime installed in the first place they can't run the .air file anyway.
I've had to do this just recently and wanted to know exactly what you just asked.
http://www.adobe.com/devnet/air/articles/badge_for_air.html
That is what you need to know and will answer your question.
All you need to do then is deploy your .air file onto a server somewhere and point the javascript code to it.
HTH
Anthoni

Setting up Flash CS4 to use Adobe AIR 2.6

I use FlashDevelop as my code editor and the Flash CS4 IDE for publishing my AIR files (as well as asset control, animation creation etc...). The bonus of this is the Flash IDE handles all the crap of creating certificates and whatnot very easily as well.
Flash CS4 uses Adobe AIR 1.5, which is very old and I am wanting to update it to AIR 2.6, which as of current writing, is the latest version of AIR. Also, I don't know if this is of any significance, but I would like to publish AIR apps for Android now. I've successfully made an AIR app for PC in the past, using AIR 1.5.
I downloaded the AIR 2.6 SDK from the Adobe website and replaced all the files inside the "AIK1.5" folder of my Flash installation (the folder being still named 1.5 inherently annoys me).
Is there any other steps I must take? Because I'm not convinced I'm publishing AIR 2.6 apps as the application.xml file in my AIR project still reads:
<application xmlns="http://ns.adobe.com/air/application/1.5">
If I change the version in the .xml, Flash explodes (doesn't compile, gives me an error).
Furthermore, if I go File > Publish Settings, then the Flash tab, the player field reads as "Adobe AIR 1.5". Is this right? I'm assuming this will always be this way, even if you do successfully update the AIR version, since apparently Adobe is too lazy to update CS4 so that it can logically figure out it has the new version of AIR.
Also, if AIR is free, why the hell does Adobe not at the very least, release updates to CS4 that update the version of AIR it uses. This seems to be fully within their power, and it seems incredibly negligent that they don't do this for people who have bought their software.
Please, if you could provide clear step by step help, because I'm very ignorant when it comes to development configurations and stuff. I just want to write code and be off.
UPDATE
Once you've updated Flash's AIR library with AIR 2.6, and have compiled your AIR project, make sure you use the new application descriptor template from the AIR SDK. I originally thought it just required changing the version number from 1.5 to 2.6 or whatever new version you're using. As seen below.
<application xmlns="http://ns.adobe.com/air/application/1.5">
But the format as changed, and you really need to use the new template, otherwise it won't work. And when you compile you won't automatically get a preview of your compiled .swf. This will happen in FlashDevelop too if you've set-up your descriptor file incorrectly.
Bzzzzzzt wrong you can hack apart your CS IDE and get it working follow the concepts in this tutorial, they should get you going and you should be able to piece it together from there.
http://swfhead.com/blog/?p=16
If you have any problems just post a comment I'll help you sort it.
You will need to purchase the latest version of Creative Suite or Flash/Flash Builder to take advance of the latest versions of AIR.
Like any other software, releases are versioned with specific features and newer versions support newer features and integration into other newer technologies.
Its like Microsoft is well in their power to provide docx support in windows 2003, but that would just cause compatibilty, support and licensing issues.
These are the tutorial for Flash cs 5:
http://blog.prevail.co.nz/2011/06/21/overlaying-air2-7-in-flash-cs5/
These are the tutorial for Flash cs 5.5:
http://www.yeahbutisitflash.com/?p=2949
http://helpx.adobe.com/x-productkb/multi/overlay-air-sdk-flash-professional.html
This is the tutorial for Flash cs 6:
http://www.leebrimelow.com/?p=3335

how to work with air adobe

I have aptana studio and install the air adobe 2.0 beta version. I have export a sample program with the extension of air.. But i dont know how to instal it to show as a windows application..
My requirement is :: I want to show up a html page as a windows application. Am i going in the right path. Please help me how to proceed it.
And also i am having some sample air file downloaded from websites.. How to work on it.
intall AIR runtime
then clicking the "*.air" file will install it (system will invoke AIR runtime)
the AIR runtime will also create short-cuts for you, which will be shown as windows application
As Francis mentions and the devnet guide as well, make sure you have AIR installed.
I haven't used Aptana for AIR, but their run guide looks pretty straight forward.
Install Adobe Air SDK and Update the path accordingly.
Install Adobe Air.
Build the application and package it.
Run the *.air file by double clicking on it.
Follow this tutorial to run a Hello World.http://code.tutsplus.com/tutorials/introduction-to-adobe-air--net-986