Targets, and Flash Player mismatching

I’ve recieved a few comments in a posting here, specifically in that folks are using Flash 8 to build content targeting earlier versions of the Flash Player, but when they compile the SWF they’re getting “Enhanced stroke is not supported in this player” errors.

To my experience this is an issue only when Publish Settings are ‘downgraded’ to earlier Player versions AFTER content has been created and/or saved in a Flash 8 FLA. Why? It’s very important (and in my opinion- a ‘best practice’) to know and specify up front your target Player version in the Publish Settings dialog as you create new Flash 8 projects, and before you start working in it. By doing this, the Flash 8 IDE subsequently knows that you are not building your project to the default player version (now Flash 8), and can guide you appropriately. Checkboxes and controls that relate to Flash 8-specific features are greyed out, and you’ll even get far-more-appreciated error messages if you do things in the IDE that aren’t supported in your target Player version. Win/win situation.

And you shouldn’t have to revert to some of the weird workarounds people are suggesting, like saving your FLA file back to an earlier version (which, of course, will get ‘upgraded’ again to Flash 8 when you reopen and try to save it). Set the Publish Settings target up front, forget it, and hit command/control-S as much as you want- although it’s saved as a Flash 8 FLA file, it’s still targeting a Flash 6 SWF – or your version of choice – as it’s output. Harmony is achieved. I think this workflow is more common for Flash Lite/mobile developers – who set device and AS version settings up front already by habit, but it applies to any non-current Player version target.

Summary?
Always know and set your Player version (and Actionscript version) target first in the FLA file, then build your content/animation/application. Good times.

(Platform caveat- I do not regularly use Flash on a PC, so am writing/confirming these points from a machine running Flash 8 on Mac OS 10.4.x- although I fully expect they apply to Windows as well.)