In the meantime, if the purpose is to find out if there is 32 or 64 bit flash plugin, you can check that from Windows Registry. I seemed to find it at
HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayerActiveX\
PlayerPath = C:\Windows\system32\Macromed\Flash\Flash32_11_6_602_180.ocx
From that information you should be able to extract 32/64. Also it will work even if the windows user actually doesn't have 'C:\Windows\' at all, but like 'C:\MyCustomWinDirName\', as it is changeable on windows installation. Some have 'C:\WinNT\' etc.
Hi User137
See, the test are with real paths, I'm workin on an application launcher, it chech files (to know if is installed some app like FlashPlayer), of course, first get the system paths like %windir%
if Is64Bits = True then begin
CommonProgramFiles := GetWindowsSpecialDirUTF8(CSIDL_PROGRAM_FILES_COMMON);
CommonProgramFilesx64 := GetEnvironmentVariableUTF8('CommonProgramW6432') + '\';
ProgramFiles := GetWindowsSpecialDirUTF8(CSIDL_PROGRAM_FILESX86);
ProgramFilesx64 := GetEnvironmentVariableUTF8('ProgramW6432') + '\';
SystemDir := GetWindowsSpecialDirUTF8(CSIDL_SYSTEMX86); // WinX64 -> CSIDL_SYSTEMX86=C:\Windows\SysWOW64
SystemDirx64 := GetWindowsSpecialDirUTF8(CSIDL_SYSTEM); // WinX64 -> CSIDL_SYSTEM=C:\Windows\System32
end;
But that's not the point, because flash is always installed in the same sub location.
%Windir%\System32\Macromed\Flash\*
or
%Windir%\SysWOW64\Macromed\Flash\*
If you get the path by Registry, when check if exist the files, same result...
Here we see that FileExist, has a flaw in Windows 64bit? or with the virtualization of Windows 7 64bit?
But the path is real, not virtualized...
---- various edits ----