0

I ran into this question: Get installed applications in a system to validate that a pre-requisite of my application is installed. However, I'd also like to validate whether the installed version is x64 or x86.

Is it possible?

The application I'm talking about is Microsoft Access database engine (https://www.microsoft.com/en-ie/download/details.aspx?id=13255)

Community
  • 1
  • 1
Eduardo Wada
  • 2,606
  • 19
  • 31
  • It's very crude but could you see if it's in `Program Files` or `Program Files (x86)` I'm sure there's a better way though – ScottishTapWater Jan 19 '17 at 10:12
  • 3
    [https://social.msdn.microsoft.com/Forums/en-US/94c2f14d-c45e-4b55-9ba0-eb091bac1035/c-get-installed-programs](https://social.msdn.microsoft.com/Forums/en-US/94c2f14d-c45e-4b55-9ba0-eb091bac1035/c-get-installed-programs) i think this will help you – kgzdev Jan 19 '17 at 10:13
  • Is your real goal to determine if the 64 bit version of the Microsoft.ACE.OLEDB.12.0 provider is available? If so, you ca use a `OleDbEnumerator` to determine that. – TnTinMn Jan 19 '17 at 14:15

1 Answers1

-1

you can use the CorFlags.exe found in "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>" Pass the assembly as a parameter and it will list a set of flags

Option    | PE    | 32BIT
----------|-------|---------
x86       | PE32  | 0
Any CPU   | PE32  | 1
x64       | PE32+ | 0

Hope that helps.

Wheels73
  • 2,850
  • 1
  • 11
  • 20