Вот как я это проверяю.
Мы будем искать в реестре.Если пользователь выполняет деинсталляцию, то эти значения удаляются.
#define FLASH_KEYDIR _T("Software\\Macromedia\\FlashPlayerActiveX")
#define FLASH_KEY _T("PlayerPath")
#define FLASHPLUGIN_KEYDIR _T("Software\\Macromedia\\FlashPlayerPlugin")
#define FLASHPLUGIN_KEY _T("PlayerPath")
PlayerPath в обоих случаях содержит полный путь к ocx / dll, например, для версии проигрывателя ActiveX (IE) это будет выглядеть как C:\Windows\system32\Macromed\Flash\Flash32_11_3_300_257.ocx
и дляплагин версии проигрывателя это выглядело бы как C:\Windows\system32\Macromed\Flash\NPSWF32_11_3_300_257.dll
Итак, что мы делаем: а) проверяем значение реестра и, если он существует, б) проверяем, существует ли файл.Возможно, это будет работать только для новых Flash-пакетов.Я не уверен, как этот код будет обрабатывать старые установки Flash.