Archive for November, 2011

Adding Flash Player 11 support to Flash Pro CS5 and CS5.5

If you have been wanting to develop content for Flash Player 11; especially taking advantage of the new Stage3D api’s, you may have noticed that Flash Pro CS5 and CS5.5 don’t have the option to do so. These versions were shipped before FP11 and therefore it was not available at the time.

In order to allow you to publish to FP11 I have packaged a few MXP’s for Flash CS5 and CS5.5. I have also provided details instructions on how you can manually configure Flash Pro to support FP11 (for those who like to know what the MXP is doing or want to learn how to modify the tool).

There is one major gotcha. If you try to preview your movie using Test Movie (cntrl-enter or cmd-enter) you wil be using authplay; the built flash player, which is still Flash Player 10 (sorry but you can’t change this, and no, it is not the same thing as the Standalone player). So in order to test your FP11 specific content you will need to test in browser. You can use cmd-F12 on mac and F12 on windows.

MXP install

CS 5.5 MXP – FP11Publish_cs55.mxp
CS 5 MXP – FP11Publish_cs5.mxp

The MXP’s add a “Flash Player 11” target to the flash player drop down menu in the publishing settings as well as an HTML template named “Flash WMODE direct”. The HTML template sets the wmode to direct in order to allow Stage3D content to render.

To install just download the MXP using the links provided, then make sure to unzip it first before opening the MXP. If you double-click on the MXP it should launch Extension Manager and prompt you to accept the installation.

Instructions for manual configuration

There are a few files that have to be added.

1. First we must add the new playergobal.swc. This file is the document that contains the new API’s, and there is one playerglobal.swc for every version of the Flash Player that supports AS3. You can locate the FP11 playglobal.swc here. For future reference you can always check on the Adobe Flash Player Support Center for future versions.
Once you have the file, you should place it in $Flash/Common/Configuration/ActionScript 3.0/FP11
where $Flash is the location of the folder where you installed Flash. You will have to create the FP11 folder.

2. You will now need to create the publish taget XML file.This file is what actually adds the option for Flash Player 11 that appears in the Publish settings dialog drop down.

The best way to creat this file is to make a copy of the FlashPayer10_1.xml file that is located in $Flash//Common/Configuration/Players. Rename the copy FlashPlayer11_0.xml and save it in the same location. Then edit it accordingly with any text editor. Below you will see the first 8 lines of the file and the items in red are the lines that actually should change.

<?xml version="1.0" encoding="UTF-8"?>
  <player id="FlashPlayer11" version="13" asversion="3">
  <name>Flash Player 11.0</name>
   <path builtin="true"/>
   <path platform="WIN">Device Central/adcdl.exe</path>
   <path platform="MAC">Device Central/adcdl</path>
   <playerDefinitionPath as2="$(UserConfig)/Classes/FP10;$(UserConfig)/Classes/FP9;$(UserConfig)/Classes/FP8;$(UserConfig)/Classes/FP7" as3="$(AppConfig)/ActionScript 3.0/FP11/playerglobal.swc" />

Notice that the player id is 11 but the version is 13. This is because the player version and the swf version are no longer in sync.

For those wondering here is how the Player version and swf version compare:

Flash Player 9 = swf version 9
Flash Player 10 and 10.1 = swf version 10
Flash Player 10.2 = swf version 11
Flash Player 10.3 = swf version 12
Flash Player 11 = swf version 13

3. If you have CS5.5 and need to use the Detect Flash Version feature of the HTML wrapper you can modify the PlayersVersions.xml found in $Flash/Common/First Run/Detection to properly recognize the version. Just add the following XML tag to the top of the list.


Unfortunately CS5 will not recognize this setting correctly since it didn’t use <player_revision> and if you try to append it you will break detection for all for versions. This happened when the Flash Player version and the swf version deviated.

However, a different way to handle this is to create a custom HTML template and add it to $Flash/en_US/First Run/HTML then it will show up in the template drop down.

At this point if you launch Flash Pro you will see a target for FP11 and if you publish it should compile correctly.

Hope this helps and happy coding.