I came across the following error while trying to run the Sysinternals Process Explorer program.
Unable to extract 64-bit image. Run Process Explorer from a writeable directory.
What's Going On?
Process Explorer extracts and executes the appropriate x86 or x64 binary for the platform you’re on, and therefore requires elevated privileges (i.e. “Administrative rights”).
This can sometimes be a headache if you’re operating in an environment where you have “limited” access rights.
Extract the x86 or x64 binary from within the parent procexp.exe binary using a resource editor.
This is how you do it,
- Open Visual Studio 2013
- Click FILE > OPEN FILE
- Choose the procexp.exe executable.
- In the Resource Editor window. Expand the ‘BINRES' folder and you should see the ‘150′ x86 binary and the ‘152′ x64 binary.
- Right click either the ‘150′ or ‘152' binary depending on your platform and choose ‘Export'. Save the binary resource as an ‘*.exe' file e.g. ‘C:\temp\ProcessExplorer\procexp_64.exe'.
- Now you can run Process Explorer without requiring elevated privileges!
Update: If the Resource Editor window does not display when opening the executable, most likely you do not have the Resource Editor installed.
Make sure you install the ‘Microsoft Foundation Classes for C++' Visual Studio feature.