Chocolatey / 技術情報 / Windows アプリケーションインストール先の変更

インストール先の変更

chocoコマンドのオプション

  • -iaオプションでインストーラーにパラメータを渡す。
  • -oオプションでインストーラーが(サイレントインストールではなく、実際にインストーラーダイアログが表示されて)起動する。

参考

github.com/chocolatey/choco/wiki/CommandsInstall#options-and-switches

インストール時のパラメータの確認

  • パッケージの詳細ページを開き、(例えば、 chocolatey.org/packages/python2
  • Files項のtools\chocolateyInstall.ps1を開く。
  • 以下のようにTARGETDIRの指定等が確認出来る。これをchocoコマンドのオプションで上書き指定する。
$packageName = 'python2'
$url = 'https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi'
$url64 = 'https://www.python.org/ftp/python/2.7.11/python-2.7.11.amd64.msi'
$version = '2.7.11'
$fileType = 'msi'
$partialInstallArgs = '/qn /norestart ALLUSERS=1 TARGETDIR='

インストーラー種別指定

MSI形式

choco install foo -ia 'INSTALLDIR=C:\bar'
choco install foo -ia 'TARGETDIR=C:\bar'

Inno Setup形式

choco install foo -ia '/DIR=C:\bar'

Git for Windows

CMD> choco install git.install -ia '/DIR=C:\Git'

PowerShellからだと何故か動作しない?

Python 2

choco install python2 -y -o -ia "'/qn /norestart ALLUSERS=1 TARGETDIR=C:\Python2'"

参考

Chocolatey / 技術情報 / Windows アプリケーションインストーラー版とポータブル版

インストーラー版とポータブル版

インストーラー版とポータブル版の違い

  • インストーラー版はMSI等のそのアプリケーションのインストーラーを利用してインストールされる。Chocolatey上では仮想パッケージとしてインストールされ、実際のファイルはそのインストーラーに従って設置される。(C:\Program Files以下等)
  • ポータブル版はそのアプリケーションのインストーラーは使わず、Chocolateyの管理フォルダ以下に設置される。(C:\ProgramData\chocolatey\lib\以下等)

Gitインストール例

コマンド

choco instlal git             (指定無しの為インストーラー版がインストールされる)
choco install git.install     インストーラー版
choco install git.commandline ポータブル版

git/git.install/git.commandlineの3つが提供されている。

インストーラー版

  • コントロールパネルのアプリケーション一覧に表示される
  • インストール先 C:\Program Files (x86)\git
  • choco uninstall gitしても実際のファイルは削除されない

ポータブル版

  • コントロールパネルのアプリケーション一覧に表示されない
  • インストール先
    • C:\ProgramData\chocolatey\bin\git.exe
    • C:\ProgramData\chocolatey\lib\git.commandline
  • choco uninstall gitで実際のファイルは削除される

参考

github.com/chocolatey/choco/wiki/ChocolateyFAQs#what-distinction-does-chocolatey-make-between-an-installable-and-a-portable-application