Accessibility

TechNote

Installation issues when switching between release and debugger versions during development and testing

Issue


Developers who need to switch between player and debugger versions during development and testing may experience issues with certain Adobe Flash Player control installation and registration methods.

December 18, 2007.

Starting with the release of the December 18, 2007 security bulletin, APSB07-20, Adobe is discontinuing support of Adobe Flash Player 7 and will no longer provide security updates. Adobe recommends that all Flash Player users on supported systems update to the most recent version of the player through the Flash Player Download Center.

Adobes support policy for Flash Player is to support the current and previous major release. Flash Player 7 was updated with security fixes as a courtesy to customers on Microsoft Windows 95, Microsoft NT, and Macintosh Classic operating systems, and for Linux and Solaris customers prior to the availability of Flash Player 9.

Those who use an unsupported configuration for the latest player or who wish to continue to use Adobe Flash Player 7 will be able to find the archived installers in the Archived Flash Player TechNote. The information in this TechNote will continue to apply to all developers testing Flash Player 7.

Reason


The update to Flash Player 7 (7.0.63.0) and Flash Player 8 (8.0.24.0) included security enhancements described in Security Bulletin APSB06-03 and also introduced additional version-checking to the installation process. Because older installers and controls did not contain the new version-checking logic, the Flash Player control was locked upon installation. Beginning with this update, installers and uninstallers from Adobe are designed to work with this change, and there is no impact to the user installation experience. Flash and Flex developers may need to make slight modifications to their normal methods of switching between player versions during testing to account for this change.

Solution


Select the appropriate Flash Player version.

The general uninstaller (uninstall_flash_player.exe), available in "How to uninstall the Adobe Flash Player plug-in and ActiveX control" (TechNote tn_14157), is designed to work with the new version-checking logic, and can be used to remove Flash Player from the system. This is a general-purpose uninstaller that you can use to remove any version of Flash Player. If you want to switch from a later to an earlier version of Flash Player, Adobe recommends that you completely remove one version before you install another.

Installing prior versions of Flash Player may fail.

In many cases, if you previously installed a later version of Flash Player for Internet Explorer, you may be prevented from installing an earlier version. For example, if you installed Flash Player 9.0.47.0, and attempted to install version 9.0.45.0, the installation would fail. If this happens, follow the instructions in "Safe versions security restrictions when installing Flash Player" (kb402435).

Note: When testing for Windows Vista, the earliest player that is supported is 9.0.28.0. Windows Vista users with earlier players should update them.

Flash Player 9 (9.0.28.0) and later.

The utility file FlashUtil.exe is installed with Flash Player 9.0.28.0 and later in the C:\Windows\system32\Macromed\Flash directory. FlashUtil.exe includes functionality required by Windows Vista and by the auto-update notification process. The previous utility (UninstFl.exe) is no longer required by or installed with Flash Player.

The utility is versioned with the control. For example, FlashUtil9b.exe is installed with the control Flash9b.ocx. FlashUtil.exe also contains several options that developers can use to switch between player and debugger versions during testing. Developers can modify the default behavior by using the following command-line flags:

USAGE : %s [-uninstallUnlock] [-uninstallLock] [-uninstallControlPath] path]

  • If run with no flags , the auto-update notification dialog will appear.
  • -uninstallUnlock: unlock the control. Grant write/delete permission to OCX and registry keys without erasing files.
  • -uninstallLock: lock the control. Deny write/delete permission.
  • -uninstallControlPath path: Optional; override the default path to the control. Must be used in conjunction with one of the other flags. If omitted, the path is located based on registry information.

The default path is located in the registry key of:

HKCR\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}\InProcServer32

For example, C:\Windows\system32\Macromed\Flash\Flash8b.ocx

The use of FlashUtil*.exe with the locking control is best illustrated with an example situation: While developing and testing content, you would like to check playback in Flash Player 8 and Flash Player 9. You keep copies of the 8.0.24.0 and 9.0.28.0 controls in separate named directories. Version 9.0.28.0 is the currently registered control, and you would like to switch to version 8.

First, unlock the registered control without deleting it so that you can switch back to it later:

FlashUtil9b.exe -uninstallUnlock c:\WINDOWS\System32\Macromed\Flash\Flash9b.ocx

Next, register the version 8 control:

regsvr32.exe c:\windows\system32\Macromed\Flash\Flash8b.ocx

Now, version 8 is the currently registered Flash Player. The locking controls contain the self-registration code to lock the control.

Flash Player 9.0.16.0 and earlier.

Some versions of Flash Player earlier than 9.0.28.0 are installed with an uninstaller program, UninstFl.exe, which is placed in the C:\Windows\system32\Macromed\Flash directory.

Version Includes UninstFl.exe

Flash Player 7

7.0.63.0, 7.0.68.0 and later

Flash Player 8

8.0.24.0, 8.0.33.0 and later

Flash Player 9

9.0.16.0


The default behavior of UninstFl.exe is to prompt the user, unlock the control, unregister the control, and then delete the OCX, GetFlash.exe, and GetFlash.exe.manifest. UninstFl.exe does not remove itself and cannot remove files that are in use. UninstFl.exe only works on the new locking controls. Older controls do not contain the registration logic to lock or unlock the file and are not recognized by the UninstFl.exe for deletion. When run on older controls, GetFlash.exe and GetFlash.exe.manifest will be deleted, but the control remains. To ensure clean removal of Flash Player, you should run the general uninstaller, uninstall_flash_player.exe, available from "How to uninstall the Macromedia Flash Player plug-in and ActiveX control" (TechNote tn_14157).

UninstFl.exe also contains several options that developers can use to switch between player versions during testing. Developers can modify the default behavior by using the following command line flags:

USAGE : %s [-quiet] [-unlock] [-lock] [filename]

Only the first character of a flag is relevant.

  • -q: Suppress prompt.
  • -u: Unlock; grant write/delete permission to OCX and registry keys without erasing files.
  • -l: Lock; deny write/delete permission.
  • filename: Overrides the default path. The default path is located in registry key of HKCR\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}\InProcServer32. For example: C:\Windows\system32\Macromed\Flash\Flash85.ocx

The use of UninstFl.exe with the locking controls is best illustrated with an example situation: while developing and testing content, you would like to check playback in Flash Player 7 and Flash Player 8. You keep copies of the 7.0.63.0 and 8.0.24.0 controls in separate named directories. Version 8 is the currently-registered control, and you would like to switch to version 7.

First, unlock the registered control without deleting it so that you can switch back to it later:

UninstFl.exe -u c:\windows\system32\Macromed\Flash\Flash8.ocx

Next, register the version 7 control:

regsvr32.exe c:\windows\system32\Macromed\Flash\Flash.ocx

Now, version 7 is the currently registered Flash Player. The locking controls contain the self-registration code to lock the control.

Additional Information


Common installation issues:

Symptom Diagnosis & Solution

Attempts to delete the registered control manually or to delete the Macromed\Flash folder fail.

Diagnosis: The currently registered control is locked and cannot be manually deleted.

Solution: Run general uninstaller to remove all files, or Run uninstfl.exe -u, or FlashUtil.exe -uninstallUnlock, to unlock the registered control, and then delete manually.

Attempts to change the file name of the registered control fail.

Diagnosis: The currently registered control is locked and attempts to rename the control without unlocking the file will fail.

Solution: Run uninstfl.exe -u, or FlashUtil.exe -uninstallUnlock, to unlock the control, and then rename the file.

Running regsvr32 on a flash*.ocx file returns the following error message:

Diagnosis: The currently registered control is locked and attempts to register an alternate version of the player without unlocking the registered player will fail.

Solution: Run uninstfl.exe -u, or FlashUtil.exe -uninstallUnlock, on the currently registered control to unlock it. Then run regsvr32 on the desired version of the Flash Player control to register it.

AlertThis content requires Flash

To view this content, JavaScript must be enabled, and you need the latest version of the Adobe Flash Player.

Download the free Flash Player now!

Get Adobe Flash Player

Creative Commons License

Search Support


Document Details

ID:4da116d3
OS:Mac OS (All)
Windows XP
Windows Vista

Products Affected:

flash
flashplayer
flex