このページの本文へ

前へ 1 2 次へ

Windows Info 第296回

一般向けの配布も開始されているWindows用のパッケージ管理ツール「winget」がv1.1に

2021年10月10日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows 10/11用パッケージ管理ツールのWingetが、今年5月27日にVer.1.0となった。これにより安定版としての配付が開始された。なお、9月27日にプレビュー版Ver.1.1.1270、安定版Ver.1.1.12653が公開されている。ここでは、この最新のプレビュー版を元にWingetについて解説する。

Wingetは、今年5月に安定版v1.0となり、一般向け配付も開始された。9月末にはv1.1が登場している

そもそもWingetとは一体何?

 あらためてWingetについて紹介しておこう。正式には「Windows Package Manager Client」といい、Microsoftのオープンソースソフトウェアの1つだ。名称が長いので本記事ではこれを「Winget」と表記する。

 wingetを使うことで、ソース(一般的なパッケージマネージャーのリポジトリ)に登録されたアプリケーションパッケージのインストールや検索が可能になる。現時点でソースには、Winget専用のものと、Microsoftストアの一部アプリケーションが含まれる。Wingetに関しては、これまでにプレビュー版を扱ったので概要に関しては、以下の記事を参照頂きたい。

●Windowsで開発中のパッケージマネージャー「winget」がv0.3に
●Windows用アプリのインストールがコマンドラインで可能なパッケージマネージャー「winget」はどうなった?
●Windows 10のパッケージマネージャーであるwingetのプレビュー版を試す

プログラム配布用のマネージャーを含む
Windows Package Manager

 続いて「Windows Package Manager」は、このWingetとリポジトリに登録するためのManifestファイルを作成するソフトウェアWingetcreate、そしてサードパーティのWin32アプリ用のリポジトリ(正確にはリポジトリに登録するためのManifestファイルの登録先)となるCommunity Repositoryという3つの要素からなる。

・Windows Package Manager
 https://docs.microsoft.com/ja-jp/windows/package-manager/
・Windows Package Manager Client(Winget)
 https://github.com/microsoft/winget-cli
・Windows Package Manager Manifest Creator(WingetCreate)
 https://github.com/microsoft/winget-create
・Windows Package Manager Community Repository
 https://github.com/microsoft/winget-pkgs/

 とりあえず、アプリをインストールするだけというのであれば、Wingetだけを使えばよいが、自作のプログラムなどを登録したいというのであれば、残り2つを見ておく必要がある。また、GitHubのCommunity Repositoryには、登録されたアプリケーションのManifestファイルがあるので、Searchコマンドだけではわからない場合などにはここを見るのもいいかもしれない。

 このうちWingetに関しては、Microsoftストアの「アプリインストーラー」に含まれているため、たとえばWindows Terminalなど、アプリインストーラーを必要とするソフトウェアをインストールしていれば、すでにWingetが入っているはずだ。もし、手動で入れたいなら、アプリインストーラーをMicrosoftストアから入手するのが最も簡単な方法である。そのほか、前述のGitHubからmsixパッケージを入手し、手動でインストールする方法もある。

Ver.1.1の改良点など

 Wingetは、サブコマンドで動作を指定し、さらにオプションで細かい動作を指定する。

 各サブコマンドで指定可能なオプションには次のようなものがある。

 なお、sourceサブコマンドはさらに「add」「list」「update」「remove」「reset」「export」の6つのサブコマンドが必要で、そのオプションは次のようなものだ。

 これらのうちsettingsサブコマンドはjsonファイルを出力し、「.json」に関連付けられているエディタなどが開く(何も設定されていないと最初にエディタを選ぶ)。ここには、Wingetの動作を指定するオプションが指定可能で、それには次のような設定項目がある。

 具体的には、以下のリストのようなjsonファイルを作成する。なお、検索方法などに関しては、前記の過去記事を参照いただきたい。

{
    "source": { "autoUpdateIntervalInMinutes": 240 },
    "visual": { "progressBar": "rainbow" },
    "installBehavior": {
        "preferences": {
            "scope": "machine",
            "locale": ["ja-JP","en-US"] } },
    "telemetry": { "disable": true },
    "network": {
        "downloader": "do",
        "doProgressTimeoutInSeconds": 60 },
    "experimentalFeatures": {
        "dependencies":true,
        "directMSI":true }
}

 オプションでv0.4以降に追加されたものは赤で表示した。追加されたオプションである「--accept-package-agreements」と「--accept-source-agreements」は、それぞれパッケージとソースの利用許諾(ライセンス)に対してユーザーに尋ねることなしに合意するものだ。

 以前のバージョンでは、Wingetでのインストール時には、Microsoftはライセンスには一切関わらず、許諾はしないといったメッセージが表示されていたが、パッケージ側で指定があれば、ライセンス確認ができるようだ。これらは、スクリプトなどによる自動インストールを想定したもの。ただし現時点では、ソースはMicrosoftのものとMicrosoftストアの2つしかなく、ソースに対する利用許諾が必要なサイトはデフォルトでは登録されていない。とはいえ、スクリプトなどで利用するなら、これらはあらかじめ指定しておいたほうがいいだろう。

 「--header」は、「--source」とともに利用し、RESTアクセス時のHTTPヘッダーにつけるオプション文字列を指定するもの。現在Wingetに登録されているソース(wingetとmsstore)では指定の必要はない。

 実験機能は前記settingsサブコマンドで設定するが、状態はfeaturesサブコマンドで確認できる。実験機能は「directMSI」「dependencies」の2つ。「directMSI」はmsi形式のパッケージをWindows Installerではなく、MSIAPIを使って直接インストールすることを指示するもの。「dependencies」はパッケージの依存関係情報を表示させるもの。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン