How to install CertUtil to Windows 7?
It seems that my version of Windows 7 (SP1, with PowerShell 4) lacks the certutil command. I tried to look for a way to add it manually but failed.
Any ideas on how to do it?
UPDATE
Thanks to comments, I was able to locate the certutil.exe file in \System32\ but I can't execute any certutil command.
Here's a snapshot I have:
62 Answers
When a program cannot be found when you can see that executable in file managers then it's usually because you're running a 32-bit shell, because 32-bit processes are put under file system redirector and System32 is actually SysWOW64. Some related questions:
- Why can't I launch telnet.exe from a Windows 8 command prompt?
- query.exe can't be found
- Strange CMD errors only when CMD is opened from my program
- GNU Make on Windows cannot see some executables
In that case %windir%\Sysnative\certutil will work, although the better way would be running a 64-bit shell instead
However it seems that's not your situation because you can see certutil.exe in System32. So there are 2 possibilities:
Your
PATHenvironment variable is broken socertutil.execan't be found.%windir%\System32must always be inPATH. Here's an example on my PC:PS C:\Users> $env:Path -replace ';', "`n"C:\WINDOWS\system32 C:\WINDOWS C:\WINDOWS\System32\Wbem C:\WINDOWS\System32\WindowsPowerShell\v1.0\ C:\WINDOWS\System32\OpenSSH\ C:\Program Files\dotnet\ C:\Users\user\AppData\Local\Microsoft\WindowsApps C:\Users\user\.dotnet\tools
Unlike cmd, PowerShell looks for the file in
PATHfirst for security reasons, like POSIX shells. So even if you're inside%windir%\System32it still won't run that exe file and you need to use.\certutilinstead.Your
PATHEXTenvironment variable is broken. It's the extensions that the shell will look for when you type a command without extension and containsCOM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPLby default. If there's no.exein it then your file couldn't be found. You need to runcertutil.exeexplicitly
Either way, your system might be broken in some way and you need to run sfc /scannow to fix the system files and environment
Under powershell you must prefix the executable name by .\.
Try with .\certutil.exe or use the old school cmd instead of powershell.