- PrintJob prints blank pages from player MAC 9,0,115,0, works fine in MAC 9,0,151,0
- Adobe Updater does NOT check for Flash Player updates
- Latest Flash CS3 Player package does not include the latest player builds
- Flash player updater updates browser players only, not Flash CS3 players
- Cannot locate the player being used to Test Movie
- Adobe expects you to update and manage player versions manually.
This week I found myself losing hair over PrintJob. Printing in Flash has never been a fool-proof proposition, but I know how to print from Flash. I've done it before and the code isn't complicated. Especially when introducing dynamic content with text and images, printing can be a trick, but this was ridiculous.
From Flash CS3 I got blank pages. The same code tested in Flash CS4 produced text, but no image. Yet, the same thing on Windows printed perfectly!
Why? Player versions.
It's the Player Version Dummy
Turns out, I have a whole MESS of Flash Player versions floating around on my machine as a result of installing Flash CS3, Flash CS4, Flex 3 and browser plugins.
But it gets more interesting. What I then realized in a "moment of duh" that my problem was not code, but bugs in player versions, I began rediscovering how Flash managed player versions. Actually, it's how Adobe expects me to manage player versions.
To see what version your browser is running, check out Aral Balkan's useful site http://www.playerversion.com. The page tells you what you're running and what the latest build versions are.
I wanted to know what was being used when I did a "Test Movie" in Flash CS3 and CS4. So, I built a little movie that just displays the player version. It's a single frame with a text box. Here's the code:
var flashPlayerVersion:String = Capabilities.version;
output_txt.text = flashPlayerVersion; // where output_txt is a dynamic text field
I found that my Flash CS3 install was way behind the latest build version at 9,0,115,0.
Get the Latest Version
I ran the Adobe Updater to see if I would get anything newer. Nope. Adobe Updater does NOT update Flash Player versions for release or debug.
The latest versions can be found and downloaded here: http://www.adobe.com/support/flashplayer/downloads.html
Latest builds are:
Archived player versions can be found here: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14266&sliceId=2
I first downloaded and ran the updater for Intel-based Macs, but the 18.104.22.168 player was nowhere to be found on my machine. Instead it only updated my browser version to MAC 9,0,151,0 (Debug player).
I then downloaded a package of players for Flash CS3 Pro (http://www.adobe.com/support/flash/downloads.html#flashCS3). This includes player 9,0,124,0; also not the latest build which can only be downloaded as debug version 9,0,151,0 standalone player.
The CS3 player package includes a read me that informs us that the way Flash handles the current player being used by the Flash IDE is a manual process left up to the developer. It would be nice if this was a drop down in the properties or the IDE where we could select the target version; like selecting the framework in Visual Studio.NET.
The players are kept in the application sub-directory called "Players". Within "Players" there is a Flash Player app. This is the player used when playing local, standalone content and content in the IDE (Test Movie?).
I tried to Test Movie and this player is definitely not being used. I cannot locate that player anywhere, so I can only assume it's baked into the IDE(?). Anytime I Test Movie I get player 9,0,115,0 no matter how many reboots and copying of players to locations.
Then there are 2 subfolders called Debug and Release holding copies of those players. To have Flash use one or the other, copy it to the main Players folder. Again, I tried. That doesn't work for Test Movie, but does seem to work for Debug Movie.
On my machine I currently have:
Firefox MAC 10,0,2,54 (Debug player)
Flash CS4 MAC 10,0,2,54
Flash CS3 MAC 9,0,115,0
Standalone Flash Player MAC 10,0,12,36
Flex 3 MAC 9,0,124,0—Flex
Flex 3 MAC 10,0,12,36 - Flex
IE WIN 9,0,124,0
WIN 9,0,115,0 (note, this is the same build version that does NOT work on Mac)
What Else Am I Missing?
Now I'm wondering if there are updates to the core actionscript classes and/or compiler. If anyone knows of a way to easily switch between target player versions in the Flash IDE, let me know. Or where the Test Movie player is for real.