yyp٩( 'ω' )و

色々触って遊んでます

Windows最適化チャレンジ パッケージ管理編

Windowsでソフトを入れる時、だいたいはインストーラ落としてきてインストールすると思います。
ただそうすると、バージョン上がった時に少々面倒だなと最近思います。特にWindows Serverの場合。
調べてみると、Windows用のパッケージ管理ツールがあるようなので使ってみようと思います。

環境

自分のPCは既に色々入っているので、AWS上でまっさらなWindows Serverを立てます。
使用AMI : Windows_Server-2016-English-Full-Base-2018.09.15 (ami-0ecf3c199663ebcde)
英語なので、起動時にuserdataで日本語化します。

<powershell>
ipmo international
Set-WinSystemLocale ja-JP
</powershell>

上記スクリプトをuserdataに入れたらいけるかなーと思いましたが、英語のままでした…
なんとかしたいところですが、今回はここがメインではないので英語のまま進めることにします。
この辺のプロビジョニングはまた今度。

パッケージ管理ツール導入

今回は"chocolatey"を使ってみます。

chocolatey.org

手順に従って、進めていきます。
PowerShellを管理者権限で起動して以下コマンドを実行します。

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

コマンドを使うにはシェルを開き直さないといけないようなので、そうします。
コマンドが使えるかどうか確認します。

PS1 > choco --version
0.10.11

入りました!

パッケージをインストールする

せっかくなので何か入れてみます。
chocolateyで入れられるものは以下のページに一覧が載っています。

Chocolatey Gallery | Packages

インストール時のコマンドも載っているのでコピペできて便利。
試しにchromeを入れてみます。

choco install googlechrome

上記コマンドを実行すると、インストールが始まります。

 The install of googlechrome was successful.
  Software installed as 'MSI', install location is likely default.

Chocolatey installed 2/2 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

裏ではmsiが使われているのかな?
あとログも吐いてくれるみたいですね。
スタートメニューで確認したところ、chromeも使えるようになっていました。

アンインストール

アンインストールをしてみます。

choco uninstall googlechrome

これだけで消えました。便利!

まとめ

Windowsのパッケージ管理がめんどくさい問題はchocolateyで解決できそうです。
アップデートがあった場合は"choco update hogehoge"でできるようなので、使ってみたいですね。