I am developing a reasonably simple cross-platform DVD-ROM using the new captive runtime feature of Air 3.2 in Flash CS6. So far things are going OK, although there have been a number of irritating gotchas which I have had to work round.
My current challenge is to get the published .exe file to run on a computer that does not have Flash Player installed.
Yes. You read that right. I've test this and it seems that if the user does not have the Flash Player installed on their machine, they cannot run the published .exe file successfully. The application boots for maybe half a second but then exits.
As far as I can tell (this being the first project where I've used Air, I'd normally use Director but we haven't the budget to upgrade past v10.1) I've published everything correctly.
I'm using the Desktop, Extended desktop profiles, targeting Air 3.2, have created and timestamped a .p12 file and selected Captive Runtime.
The only things I've done which seems fairly unorthodox is to A: include the absolute bare minimum of files in the bundle (it seems to take about half an hour to package 2.5gb of video) and B: remove the files (while maintaining the original directory structure) from the "myAirApp.app" folder in order to burn them to a DVD-ROM.
As far as testing goes I've been able to run this fine on my authoring machine (win7, 64bit), on a couple of machines in the office (XP sp3, 32bit) both via a USB drive and on a mounted and burned DVD-R.
When I tried to run the application on a machine with no network access and no Flash Player, the application crashed.
I'm really hoping that there's something I've done wrong. The reason we're distributing this via optical media is that the users will likely have no internet connection and therefore need a way to access this material offline.
I published the workaround to this on Stack Overflow - you need to force the player to run in debug mode and can then diagnose issues from there.
Incidentally, my problem was that 1) I hadn't set the TLF.swz file to be merged into code when I published the swf file. Because the machine I was testing on 2) had no access to the internet and 3) I hadn't included the .swz file with my application, the stub .exe was unable to finish loading and failed, silently. Forcing the Air player into debug mode meant I caught a load of errors that I was blissfully unaware of.
Moral of the story: make sure you know what every single part of the publishing dialogue does or it will bite you right in the arse.