Skip to main content
Danik112
Participant
Mar 9, 2018 6:19 PM UTC
Answered

AIR 29 on Windows: Detecting if 64 bit runtime

Now that we have 64 bit support with AIR 29 on Windows, is there any way to detect if the application is 64 bit or not during runtime? The Capabilities class does not appear to provide this information.

I will distribute both 32 and 64 bit versions, and would like to show that information to users and send it along in crash reports. Of course, I could change a constant in code between builds, but I'd rather not since that complicates the release process and could easily be missed.

This topic is closed to new replies. Start a new post to keep the conversation going.
zwetan_ukCorrect answer
Inspiring
Mar 12, 2018 10:09 PM UTC

parsing the XML descriptor does not guarantee you that the executable is 32-bit or 64-bit
case where you do a release build from Flash Builder with AIR_WIN_ARCH=64
and the app XML indicate no architecture or a an architecture of 32

to be sure you can load the AIR executable and parse the PE header
to detect the machine type

see here

https://discuss.as3lang.org/t/how-do-you-detect-if-air-is-32-bit-or-64-bit/1221

6 replies

itlancer
Inspiring
Mar 17, 2018 10:52 AM UTC

Feature request for that: Tracker

Translate
Inspiring
Mar 14, 2018 9:55 AM UTC

Check this topic: 64bit Windows app for native installs?

My code have inside what you need.

Translate
Inspiring
Mar 14, 2018 3:28 PM UTC

hferreira80  wrote

Check this topic: 64bit Windows app for native installs? 

My code have inside what you need.

No it doesn't

Capabilities.supports64BitProcesses detect if the OS support 64-bit
it is not the same thing as detecting if the current process is 32-bit or 64-bit

Translate
zwetan_ukCorrect answer
Inspiring
Mar 12, 2018 10:09 PM UTC

parsing the XML descriptor does not guarantee you that the executable is 32-bit or 64-bit
case where you do a release build from Flash Builder with AIR_WIN_ARCH=64
and the app XML indicate no architecture or a an architecture of 32

to be sure you can load the AIR executable and parse the PE header
to detect the machine type

see here

https://discuss.as3lang.org/t/how-do-you-detect-if-air-is-32-bit-or-64-bit/1221

Translate
Danik112
Danik112Author
Participant
Mar 14, 2018 5:48 PM UTC

Wow, thank you for the in depth post! I will try your solution.

Hopefully this will be added to the Capabilities class though.

Translate
itlancer
Inspiring
Mar 10, 2018 9:03 PM UTC

I have the same question.

Adobe, is there are plans to add new property to Capabilities class to detect 64-bit runtime?

Workaround for now: parse application XML descriptor and find value of "architecture" tag.

Translate