settings コマンド (winget)

winget ツールの settings コマンドを使用すると、Windows パッケージ マネージャーのクライアント エクスペリエンスをカスタマイズできます。 既定値を変更し、クライアントで有効になる試験的機能を試すことができます。

settings コマンドを実行すると、既定のテキスト エディターが起動します。 Windows では、既定のオプションとしてメモ帳が起動します。 Visual Studio Code のようなツールを使用することをお勧めします。

Note

winget install Microsoft.VisualStudioCode」と入力すると、Visual Studio Code をインストールできます

winget settings コマンドを使用する

既定の JSON 編集ツールを起動します: winget settings

settings の初回起動時には、設定は指定されていません。 JSON ファイルの上部には、最新の試験的な機能と設定を確認できるリンクが表示されます。

下のコード スニペットは、これらの試験的な機能と設定の一部を有効にするまたは変更する場合の設定ファイルの例を示しています。

{
    "$schema": "https://aka.ms/winget-settings.schema.json",

    // For documentation on these settings, see: https://aka.ms/winget-settings
    "experimentalFeatures": {
	  "dependencies": true,
	  "directMSI": false,
	  "zipInstall": false,
    },
    "visual": {
        "progressBar": "rainbow"
    },
    "source": {
        "autoUpdateIntervalInMinutes": 5
    },
}

設定ファイルのスキーマも定義されています。 そのため、JSON エディターで JSON スキーマがサポートされていれば、TAB を使用して設定と構文を検出できます。

注意

試験的な機能は、プレビュー ビルドでのみ使用できます。 プレビュー ビルドを取得する手順については、GitHub リポジトリを参照してください。

更新の設定

以下の設定は、Windows パッケージ マネージャーの 1.0 リリースで利用できます。

source の設定

source の設定では、WinGet ソースに対する構成を操作します。

"source": {
    "autoUpdateIntervalInMinutes": 3
},

autoUpdateIntervalInMinutes

正の整数で、更新の間隔 (分単位) を表します。 更新プログラムの確認は、ソースが使用されている場合にのみ行われます。 0 を指定すると、ソースに対する更新のチェックは無効になります。 その他の値はすべて無効です。

  • 無効: 0
  • 既定値は5

ソースを手動で更新するには、winget source update を使用します。

visual の設定

visual の設定では、WinGet によって表示されるビジュアル要素を操作します

"visual": {
    "progressBar": "accent"
},

progressBar

引数で指定されていない場合に、WinGet に表示される進行状況バーの色。

  • accent (既定値)
  • retro
  • rainbow

installBehavior の設定

installBehavior の設定は、パッケージのインストールとアップグレード (該当する場合) の既定の動作に影響を与えます。

disableInstallNotes

disableInstallNotes の動作は、インストールが正常に完了した後にインストール ノートが表示されるかどうかに影響します。 値を指定しない場合や値が無効な場合は、既定値 false が使用されます。

    "installBehavior": {
        "disableInstallNotes": true
    },

portablePackageUserRoot の設定

portablePackageUserRoot の設定は、User スコープの下でパッケージがインストールされる既定のルート ディレクトリに影響します。 この設定は、インストーラーの種類が portable のパッケージにのみ適用されます。 値を指定しない場合や値が無効な場合は、既定値 %LOCALAPPDATA%/Microsoft/WinGet/Packages/ が使用されます。

注: この設定値は絶対パスである必要があります。

    "installBehavior": {
        "portablePackageUserRoot": "C:/Users/FooBar/Packages"
    },

portablePackageMachineRoot の設定

portablePackageMachineRoot の設定は、Machine スコープの下でパッケージがインストールされる既定のルート ディレクトリに影響します。 この設定は、インストーラーの種類が portable のパッケージにのみ適用されます。 値を指定しない場合や値が無効な場合は、既定値 %PROGRAMFILES%/WinGet/Packages/ が使用されます。

注: この設定値は絶対パスである必要があります。

    "installBehavior": {
        "portablePackageMachineRoot": "C:/Program Files/Packages/Portable"
    },

preferences と requirements の設定

一部の設定は、preferencesrequirements で複製されます。

  • preferences の設定は、操作対象のオプションを選択する際の、使用可能な各種オプションの並び方に影響します。 たとえば、パッケージ インストールの既定のスコープは現在のユーザーですが、該当するユーザーがいない場合は、マシン レベルのインストーラーが選択されます。
  • requirements の設定によってオプションが絞り込まれると、結果として一覧が空になり、インストールが失敗する可能性があります。 前述の例で言うと、ユーザーのスコープ要件によって該当するインストーラーがなくなり、エラーが発生します。

コマンド ラインで引数が渡された場合は、そのコマンドが実行されている間、対応する requirement 設定が実質的にオーバーライドされます。

scope

scope の動作は、パッケージのインストール対象として、現在のユーザーとマシン全体のどちらが選択されるかに影響します。 対応するパラメーターは --scope で、同じ値 (user または machine) が使用されます。

"installBehavior": {
    "preferences": {
        "scope": "user"
    }
},

locale

locale の動作は、インストーラー ロケールに基づくインストーラーの選択に影響します。 対応するパラメーターは --locale で、bcp47 言語タグが使用されます。

"installBehavior": {
    "preferences": {
        "locale": [ "en-US", "fr-FR" ]
    }
},

architectures

architectures の動作は、パッケージのインストール時に選択されるアーキテクチャに影響します。 対応するパラメーターは --architecture です。 システムと互換性のあるアーキテクチャのみを選択できることに注意してください。

    "installBehavior": {
        "preferences": {
            "architectures": ["x64", "arm64"]
        }
    },

uninstallBehavior

uninstallBehavior の設定は、パッケージのアンインストール (該当する場合) の既定の動作に影響を与えます。

purgePortablePackage

purgePortablePackage の動作は、ポータブル パッケージをアンインストールする場合の既定の動作に影響します。 true に設定すると、アンインストールによって portable パッケージに関連するすべてのファイルとディレクトリが削除されます。 この設定は、インストーラーの種類が portable のパッケージにのみ適用されます。 値を指定しない場合や値が無効な場合は、既定値 false が使用されます。

    "uninstallBehavior": {
        "purgePortablePackage": true
    },

telemetry の設定

telemetry の設定は、winget によって ETW イベントが書き込まれるかどうかを制御します。これらのイベントは、Windows の既定のインストールで Microsoft に送信される可能性があります。

テレメトリの詳細と、主なプライバシー ステートメントを参照してください。

無効化 (disable)

"telemetry": {
    "disable": true
},

telemetry.disable を true に設定すると、一切のイベントがプログラムによって書き込まれなくなります。

ネットワーク設定

network の設定は、winget で、パッケージとメタデータがネットワークを使ってどのように取得されるかに影響します。

downloader

downloader の設定では、パッケージのダウンロード時に使用されるコードを制御します。 既定値は default です。これは、Microsoft の決定に基づく任意のオプションとなります。

wininet の場合は wininet API が使用され、do の場合はdoサービスが使用されます。

"network": {
    "downloader": "do"
}

logging の設定

logging 設定は、ログ ファイルの詳細のレベルを制御します。 --verbose-logs は、この設定をオーバーライドし、詳細ログを常に作成します。

"logging": {
    "level": "verbose"
}

レベル

設定できるログ記録レベルは次のとおりです。 値を指定しない場合や値が無効な場合は、既定値 info が使用されます。

  • verbose
  • info
  • warning
  • error
  • critical

試験的な新機能の有効化

どのような試験的機能が利用可能かを確認するには、 https://aka.ms/winget-settings にアクセスしてください。ここで、利用可能な試験的機能を確認できます。