Umi Uyuraのブログ

プログラミング関連の作業ログ

Chocolateyをアップデートしたらexe.oldへのアクセス拒否が出た

少し前ですが、Chocolateyにアップデートが来ていたのでアップデートしたのですが、その後使おうとしたときに、何やらアクセス拒否されたというエラーが出ました。

>choco
Chocolatey v0.11.3
Please run 'choco -?' or 'choco <command> -?' for help menu.
This is try 1/3. Retrying after 300 milliseconds.
 Error converted to warning:
 パス 'C:\ProgramData\chocolatey\choco.exe.old' へのアクセスが拒否されました。
This is try 2/3. Retrying after 400 milliseconds.
 Error converted to warning:
 パス 'C:\ProgramData\chocolatey\choco.exe.old' へのアクセスが拒否されました。
Maximum tries of 3 reached. Throwing error.

このエラー自体は gsudo 付きで choco コマンド単発で呼び出すだけで解消されました。

>gsudo choco
Chocolatey v0.11.3
Please run 'choco -?' or 'choco <command> -?' for help menu.

>choco
Chocolatey v0.11.3
Please run 'choco -?' or 'choco <command> -?' for help menu.

原因については想像ですが、以前は choco コマンドを使うときは管理者権限のコマンドプロンプトを起動して使っていましたが、最近は gerardog/gsudo を使って gusodo choco upgrade chocolatey のように管理者権限付きで実行するようにしていたのですが、もしかするとその違いによって、アップデート処理の中で、権限が適用されなくなってしまう処理などがあるのかもと推測しています。

実際にアップデートしてから、このエラーに遭遇するまで間があいていたこともあるので、またChocolateyのアップデートが降ってきたら確認してみようと思い、とりあえずメモしておきます。