Recently I came across an interesting issue with an application that uses flash. My son received a LeapFrag MyPal as a present for Christmas. There is an application that you can download from their site to personalize the toy to your child. I downloaded the application and it installed without error. It was a 32 bit application and installed in the right environment. When the application started I received a prompt that the correct version of flash was not installed and it prompted me to download and install Flash which ends up erroring out. I verified that the version of Flash that the application wants is the same version that is on my machine (10.1.102.64). Just to make sure that I was not missing anything I installed Flash from Adobe's website and it installed fine (or more appropriately verified that I have the most recent version installed).
At this point I was very frustrated with the install until I started to think about the environment that I was working in. I am running a 64 bit version of Windows 7 and Flash is a 32 bit application and as such Flash is installed in the path C:\Windows\SysWOW64\Macromed\Flash\. I made a guess that the application is probably doing a version check of the Flash binary using a hard coded path to the default installation path. In most situations this is C:\Windows\System32\Macromed\Flash\. In a Windows 64 bix OS all the 64 binaries are stored in the C:\Windows\System32 folder (even though this sounds a bit odd) so flash would not be installed at this location.
So even though I know that the Flash binaries would not work in the C:\Windows\System32 folder in order to get the application to get past this binary version check I copied the Macromed folder and its contents to the C:\Windows\System32 folder and now the application works and Flash still works (since it is really executing via the C:\Windows\SysWOW64\ path).
Not a pretty workaround and is, in my opinion, a flaw in the application it works without impacting any other applications.
No comments:
Post a Comment