なのでsetup.exeを使うわけですが、setup.exeを実行すると「新しいバージョンがあるのでそっちを使って」とかメッセージが出てきて、けっこう煩わしい。setup.exe自身も同様の理由で自分をアップデートできない、ということなんですが…。
じゃあpipはどうなのよ、という話もありますが、Windows環境でpipをアップデートするときには "python -m pip install pip --upgrade" という形で実行するので、pythonがpipを読み込んだあとでcloseしてしまえばできるんだよ、ということですね。きっと。
で、setup.exeのほうは煩わしいので以下のようなバッチファイルを書いてみました。
cygupdate.bat:
wget -N https://cygwin.com/setup-x86_64.exe.sig wget -N https://cygwin.com/setup-x86_64.exe gpg2 --verify setup-x86_64.exe.sig setup-x86_64.exe pause if not %ERRORLEVEL% == 0 ( echo BAD Signature!! pause ) else ( setup-x86_64.exe )
こうしておくと、setup.exeが更新されていた場合にはwgetがリトリーブしてきて、署名も確認してくれて、よければそのまま実行されます。
わりと楽ちん。