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.)

12 Responses to Targets, and Flash Player mismatching

  1. Kelvin Luck says:

    I have had this issue using Flash 8 on a PC. I could reproduce it by doing the following:* Create a new FLA, set publish settings to v7.* Import an swf which has been exported from Illustrator.* Publish.When publishing you would get the error saying words to the effect of “You must publish as Flash 8 because you are using enhanced strokes”.There was nothing flash 8 specific in the swf imported from Illustrator (importing it into MX2004 worked fine) but it seems like the publish settings were ignored at the import stage… Not sure if it is the case with all swf’s exoported by illustrator but definitely did it with one… This is on Win XP btw…I ended up just using the MX2004 IDE for the project in question but it was a frustrating experience…

  2. tcs says:

    Its the same on pc. I output to 6 and 8 both daily so I soon learned to just do it upfront, kinda like defining a site with dreamweaver. Having to publish to 6 constantly reminds me what a pleasure 8 is.

  3. Kelvin- that’s interesting, I’ll have to check it out on my main Mac and log a bug if so- I would also expect the import to honor your specified Publish Settings.tcs- word. ;-)

  4. Richard says:

    Saying you shouldn’t have to use the workarounds is like telling a burnt family member they should have checked to see if the stove was on before they touched it. Doesn’t really help the problem at hand.I agree it’s best practice to set it at the beginning, but obviously it’s not uncommon to miss that step, or else you wouldn’t hear about it. Thank god for the workarounds.

  5. Kelvin Luck says:

    Scott – it’s just happened to me again! I have a very simple swf created by an Illustrator export which causes the problem. Contact me directly and I can email it to you…

  6. Richard- totally understood, however in this case an ounce of prevention truly is worth a pound of cure. As the workarounds are painful and tedious at best, I personally feel it’s important to stress this ‘best practice’ so people don’t keep burning those hands on the same stove… ;-)Kelvin- I’ve pinged you via your ‘blog’s contact form- by all means send your files (and system info) over so I can verify on the right machine/setup and pass over to the product team for evaluation.Thx!

  7. adam says:

    I always copy and paste between Illustrator CS2 and Flash 8 and have no problems with lowering the flash player ? – Dont know if this is a work around for anyone but its good for me ??

  8. Works for me too, Adam. ;-)Just always set your target player version first and you shouldn’t have problems of this sort (outside the fringe case w/Illustrator Kelvin reported, which IIRC should addressed in the next release).

  9. thelay says:

    Hi, I also have this problem. I downgrad my code to flash 7 from flash 8. because my program will use in linux version which is only available for flash 7 only. What should I do? Can help me step by step?thanks a lotwith regards,the su

  10. Hi, su-Not much step-by-step required, if you simply do as suggested- create a new file for your project, and set your player target version (v7) in the Publish Settings before starting to build your project. That’s it!

  11. Jim says:

    hey so yeah you cant use strokes or outlines of any kind if you switch back to publishing to an earlier version.. which really sucks, so basically it makes no difference when you switch around the publish settings, since it doesnt work no matter what.

  12. That’s only true if you downgrade the player/publishing target version after you start creating objects. Strokes and fills have been in Flash since version 1.0, Jim. And publishing pre v8 SWFs out of Flash 8 works just fine if you set your project up appropriately.Please read through the entire post and thread, as this already been covered rather extensively. As noted above, if you begin creating objects with a default document and THEN set your player target back, you’ll of course be unable to publish.Sorry folks, but given I seem to keep answering this same question over and over again (which was kind of the point of the post) I’m going to need to close comments down.