The Adobe Flash Player started supporting Windows Vista as of 9,0,28. This is the current version, but you may know it as the version that introduced full screen support. Earlier player versions are not built to support Vista, though for the most part they should run pretty well.

When doing a clean install, you will just need to go to the Flash Player Download Center and download the current player. However if you or one of your users is upgrading from XP and still has an earlier build of the player installed, you will have a few strange behaviors.

Note: users upgrading to Vista from XP will retain their shared objects and can be used normally.

If you run into a Vista user that is on an older player, there are a few things to keep in mind:

1. Express Install - The Express Install will not run. The user will see the permission dialog box but answering “yes” will not initiate the install. This is due to a different security model being in place in Vista that changes local file access.

If this is a big concern for you right now, you can do your own detection of the OS and player version and not run express install, but soon Adobe will be releasing a modification to Express Install that will direct these users to the Player Download Center. You will not need to do anything to take advantage of this update when it becomes available.

2. Shared Objects - Shared Objects are affected by the same Vista security model change and while any existing shared objects will still be present, you may not be able to access them without the latest Flash Player.

3. Local Connection - Local Connections will be affected in the same way and will not run on un-supported versions of the player on Vista.

4. File Reference - Save and Open are also affected in the same way, so file uploading will be non-functional in older players on Vista.

If you use any of these features, you should detect Vista users on old players and encourage them to upgrade, no matter what version of Flash you are exporting for. Here is some sample AS2 code to do the check:

if(System.capabilities.os=="Windows Vista" && !hasMinVersion(9,0,28)){
     //do something to tell the user they need to upgrade
     //to the latest Flash Player to view the site.
}
function hasMinVersion(major:Number, minor:Number, build:Number):Boolean{
     //take a version like WIN 9,0,28,0 and strip the platform
     //and divide the version number into an array
     var v:Array = System.capabilities.version.split(" ")[1].split(",");
     if(v[0]<major ) return false;
     if(v[1]<minor) return false;
     if(v[2]<build) return false;
     return true;
}