I had earlier asked the question in stackoverflow in the followin link-
How to check if a particular version of flash player is installed or not in C#.?
Type type = Type.GetTypeFromProgID("ShockwaveFlash.ShockwaveFlash");
object flashObject = Activator.CreateInstance(type);
object versionString = flashObject.GetType().InvokeMember("GetVariable", BindingFlags.InvokeMethod,null, flashObject, new object[] {"$version"});
But my code is able to detect the 64 bit version 10.2.161.23, only when, the other 32 bit version 10.1.102.64 is installed on the system.
But when I uninstall the other version
10.1.102.64, from the system, my code is not detecting the 64 bit version
10.2.161.23 and the value of “type” varable is “null”.
I dont know why that the 64 bit version needs a 32 bit version flash to be present for detecting the presence of 64 bit version, using the above code.
Thanks In Advance.
A good solution is this function taken time ago from another site:
You can try to play with it to perform your search, like subkeys and changing this:
To this:
Source: http://mdb-blog.blogspot.com/2010/09/c-check-if-programapplication-is.html