Open3
サイレントインストール時のインストールオプション指定方法の調べ方
winget
コマンドや msiexec
コマンドによってアプリケーションのサイレントインストールができるが、この時 GUI から指定できるインストールオプションは全てデフォルト設定になってしまう。
VSCode のインストールオプション指定方法については以前調べたものの、他のアプリケーションについてはあまり情報がないため、調べ方を調査した。
VSCode の場合 Inno Setup というソフトウェアで exe 形式インストーラが作成されており、その設定は build/win32/code.iss
に書かれている。その中の [Tasks]
の内容がインストールオプションとなっている。
指定する場合は /mergetasks=
に続けて、有効にしたいインストールオプションに対応する Name 値をカンマ区切りで指定する。
VSCodeUserSetup.exe /silent /mergetasks="addcontextmenufiles,addcontextmenufolders"
winget install vscode --override "/silent /mergetasks=""addcontextmenufiles,addcontextmenufolders"""
TortoiseSVN の場合 WiX Toolset というソフトウェアで msi 形式インストーラが作成されており、その設定は src/TortoiseSVNSetup/FeaturesFragment.wxs
に書かれている。その中の <Feature>
タグが 1 つのインストールオプションに対応している。
指定する場合は ADDLOCAL=
に続けて、有効にしたいインストールオプションに対応する <Feature>
タグの Id 属性をカンマ区切りで指定する。
msi のサイレントインストール (/qn
) には管理者権限が必須であり、管理者権限の無いコマンドプロンプトから実行すると無言で落ちるので注意。
msiexec /i TortoiseSVN.msi ADDLOCAL=MoreIcons,CLI /qn
winget install -e TortoiseSVN.TortoiseSVN --override "ADDLOCAL=MoreIcons,CLI /qn"