Jmaurier
Jmaurier

Reputation: 847

Fix Chocolatey "Access is Denied"

I just installed Chocolatey for the first time using this command in an admin cmd:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Admin cmd output:

Getting latest version of the Chocolatey package for download.
Getting Chocolatey from https://chocolatey.org/api/v2/package/chocolatey/0.10.13.
Extracting C:\Users\CurrentUser\AppData\Local\Temp\chocolatey\chocInstall\chocolatey.zip to C:\Users\CurrentUser\AppData\Local\Temp\chocolatey\chocInstall...
Installing chocolatey on this machine
Creating ChocolateyInstall as an environment variable (targeting 'Machine')
  Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'
WARNING: It's very likely you will need to close and reopen your shell
  before you can use choco.
Restricting write permissions to Administrators
We are setting up the Chocolatey package repository.
The packages themselves go to 'C:\ProgramData\chocolatey\lib'
  (i.e. C:\ProgramData\chocolatey\lib\yourPackageName).
A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'
  and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.

Creating Chocolatey folders if they do not already exist.

WARNING: You can safely ignore errors related to missing log files when
  upgrading from a version of Chocolatey less than 0.9.9.
  'Batch file could not be found' is also safe to ignore.
  'The system cannot find the file specified' - also safe.
WARNING: Not setting tab completion: Profile file does not exist at
'C:\Users\CurrentUser\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
WARNING: Unable to run Chocolately at this time.  It is likely that .Net Framework installation requires a system reboot
Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.
Run choco /? for a list of functions.
You may need to shut down and restart powershell and/or consoles
 first prior to using choco.
Ensuring chocolatey commands are on the path
Ensuring chocolatey.nupkg is in the lib folder

After restarting my cmd I still can't access choco commands:

enter image description here

There does not seem to be documentation on why this happens. How can this be fixed?

Upvotes: 37

Views: 78298

Answers (6)

Noe Gonzalez
Noe Gonzalez

Reputation: 11


This was the only thread that came up for my error, so sharing for those with similar issues: Access to the path 'C:\ProgramData\chocolatey\choco.exe.old' is denied.

To fix I needed to open Task Manager, under the details section kill all running instances of "choco.exe". Then re-run the command.

ctrl + shift + esc will bring up the Task Manager.

Upvotes: 1

smylinwolf
smylinwolf

Reputation: 1

Here is how I resolved the issue:

  1. I launched my cmd as an administrator.
  2. I located the chocolatey directory and the HTTPCache directory as well and I deleted them with "rmdir /s /q chocolatey"...(you should find it at the ProgramData folder)
  3. Reinstalled the chocolatey again.

Upvotes: 0

bbaassssiiee
bbaassssiiee

Reputation: 6800

Add Choco's directory (C:\ProgramData\chocolatey) for exclusion in Microsoft Defender: Virus and thread protection > Manage settings > Add or remove exclusions > Add an exclusion.

Upvotes: 4

conurFloki
conurFloki

Reputation: 85

For me works just running terminal on admin mode

Upvotes: 6

pavan kumar
pavan kumar

Reputation: 575

run your command prompt as administration then run command "choco install nodejs"

Upvotes: 54

Jose De Gouveia
Jose De Gouveia

Reputation: 1042

This is related probably to antivirus, in my case was Sophos and needed to add choco as a whitelist

Upvotes: 11

Related Questions