It does work but here the catch
So there are 2 SDK
in both SDK you will find these directories
but the AIR 29 SDK for Flex Developers only use
while the AIR 29 SDK & Compiler use
my guess is naip means "native adobe air publish"
So the only way so far to publish a 64-bit AIR app for Windows is to use
AIR 29 SDK & Compiler eg.
AIRSDK_Compiler.zip (using ASC2)
and I do think it is as it should be (as the Flex SDK never planed to publish both 32-bit and 64-bit).
Now the problem when you use Flash Builder 4.7 is that the AIR SDK (with ASC2)
- is hardcoded in a specific path (and you can have only one)
- you have to create an "ActionScript Project" (or "ActionScript Mobile Project")
It's not really a big problem if you compile only one project in either 32-bit or 64-bit for Windows
but it can be problematic if you want to publish both 32-bit and 64-bit
and/or if you want to publish the same project with different AIR SDK versions
So usually what I do is I setup all my SDK in this kind of tree
| |_ 28_0
| |_ 29_BETA
so under Windows the AIR 29 SDK & Compiler path would be
and to set it up for Flash Builder
go to the directory
promp> cd "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flash.compiler_22.214.171.1249722"
by default you have a folder "AIRSDK" which contains AIR 3.4
promp> rename AIRSDK AIR_3_4
now create a symlink to your new AIR SDK
promp> mklink /D AIRSDK C:\sdk\air\29_BETA
you should see
symbolic link created for AIRSDK <<===>> C:\sdk\air\29_BETA
list all the files
you should get
02/09/2018 08:09 AM <DIR> .
02/09/2018 08:09 AM <DIR> ..
02/09/2018 07:50 AM <SYMLINKD> AIRSDK [C:\sdk\air\29_BETA]
02/09/2018 04:13 AM <DIR> AIR_3_4
02/09/2018 04:13 AM <DIR> META-INF
From that point you can them have many different SDKS
and switch them by changing the symlink (work the same under macOS)
You have to do that when Flash Builder is closed, next time you starts it
it will recognise the AIR SDK used automatically
Now, if you use Flash Builder and "Exports Release Build ..."
You will have to set the environment variable
before launching Flash Builder
Simply open a command prompt
promp> setx AIR_WIN_ARCH "32"
promp> setx AIR_WIN_ARCH "64"
and each time you want to switch close FB, set the env var, then relaunch FB
if for some reason you want to remove the env var
promp> setx AIR_WIN_ARCH ""
if you need to test its value
promp> echo %AIR_WIN_ARCH%
to test if the Windows exe is actually a 32-bit or a 64-bit
launch the app exe and check in Task Manager
for a 32-bit exe you should see a
(32 bit) after the name of the exe
and for a 64-bit you should only see the name of the exe
another to test if you are under Windows 10 and if you have WSL installed (eg. Ubuntu)
is to navigate to the path of your bin-release directory and use the
file command on the exe
for a 32-bit you will see
PE32 executable (GUI) Intel 80386, for MS Windows
for a 64-bit you will see
PE32+ executable (GUI) x86-64, for MS Windows
Now if you build on the command line the env var
AIR_WIN_ARCH will not work
you will have to define the
<!-- Determines the architecture of the Windows captive app (non-Flash Builder workflows only)-->