Months ago I wrote an article showing how we can play swf in a windows form application by using activex control of Adobe Flash Player. Today I have a small research with memory of swf application and I would like to use my tool SwfToExe to package .swf file to a .exe file. But when I run my exe there is an error telling that something wrong and it can simply not run.
I open Visual Studio project again to check if there is maybe a new version of flash player and it leaded to the incompatibility. But in the “Choose Toolbox Items” I did not see anything which is relevant to Shockwave Flash Object as before.
Where is my ocx? Ok, I just installed new OS. Maybe the flash .ocx was not correctly registered. But how can I register flash .ocx by myself. When I go to Adobe website, I am automatically redirected to site which provides a suitable plug-in for my browser. But I need a standalone flash player so that I can locate ocx file and register it myself. After some searching, I found that there is a standalone flash player http://www.softwarepatch.com/internet/flash.html .
Download and install it, I recognized that the ocx was installed in this folder C:\Windows\SysWOW64\Macromed\Flash (in XP it should be C:\WINDOWS\system32\Macromed\Flash). I happily registered it with the command “regsvr32 Flash10d.ocx” and a dialog jumped out
It is now completely clear that Flash Player does not support Windows 64 bit. I just need a confirmation of Adobe and here is it
So I can conclude now that I can not use Flash Player 10 with Windows 64 bit and my program can not run under Windows 64 bit, too. I think I should find another version of Flash Player which supports OS 64 bits and embed it into my program so that it can run on all Windows.
Update: So that your application can play swf on OS 64 bits, you should specify that your applications only run with 32 bit CPU by setting Platform target to 0x86.