このページの本文へ

前へ 1 2 次へ

Windows Info 第340回

Windowsのシステム引っ越し作業にWingetを使って、アプリインストールを楽にするのを試みる

2022年08月14日 10時00分更新

文● 塩田紳二 編集● ASCII

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

 仕事用のマシンをWindows 11で新しく組むことにした。今使っているマシンのCPUは第4世代Coreなので、メモリー増設もCPU交換も限界。そもそもWindows 11ではサポートされていないため、潮時と考えた。

 こういう場合は問題を引きずらないように、Windowsは新しいドライブに新規インストールすることにしている。ドライブのイメージコピー(クローン)は楽だが、潜在的なものを含めトラブルも「コピー」してしまう可能性がある。

 Windows XPの頃に比べれば、システムの引っ越しはラクになったが、相変わらずアプリケーションは手作業で入れ直す必要がある。環境設定作業が面倒になるので、どうしても代替品がないときを除いて、筆者はインストール台数が制限されているアプリケーションは使わないことにしている。いきなりマシンが動かなくなった場合に、短時間で環境を再構築できない可能性があるからだ。そういうわけで利用しているソフトウェアの多くがインストール制限のないものだ。

 今回は、この引っ越しにともなうアプリケーションのインストールにMicrosoftのパッケージマネージャーwingetを使ってみることにした。

今回はWindows 10/11用パッケージ管理ツールのWingetを使って、新しいシステムにこれまで使っていたアプリケーションをインストールする方法を考える

Windows用のパッケージ管理ツール「Winget v1.4」を使う

 Wingetは、現在プレビュー版がv1.4.2161、安定版がv1.3.2091であり、今回はプレビュー版を利用した。Wingetに関しては、これまでの連載で何回か扱っている(「一般向けの配布も開始されているWindows用のパッケージ管理ツール「winget」がv1.1に」)。

 また、Microsoftの以下のページにドキュメントがある。使い方などに関しては上記の過去記事と、Microsoftの公式ドキュメントを参照していただきたい。

●winget ツールを使用したアプリケーションのインストールと管理
 https://docs.microsoft.com/ja-jp/windows/package-manager/winget/

 現在のWingetでは、exportサブコマンドを使うことで、そのマシンにインストールされているアプリケーションのうち、Wingetでインストール可能なプログラムのリストをJSON形式で出力することができる。

 引っ越し先のマシン上で、このJSONファイルをWingetのimportサブコマンドで読み込むことで、リストにあるアプリケーションのインストールができる。ただし、この方法で可能なのは、Wingetのリポジトリに登録されているフリーのソフトウェア、オープンソース系のアプリケーション、Microsoftストアの一部のアプリケーションに限られる。ユーザーの使い方によっては、インストールできるプログラムは少ないかもしれない。しかし、時間はかかるものの、多数のプログラムを一気にインストールできるので、作業効率は悪くない。

 実際に使ってみると、いくつか注意が必要な点があった。1つは、アプリケーションのバージョンの問題だ。元のマシンにインストールされているアプリケーションは、必ずしも最新版ではない。そこに、新しいバージョンでは動作しない、何か問題が発生しているといった「理由」があった場合もあれば、ただ単純にアップデートをサボっていた場合もある。

 しかしWingetは、こうした事情を察してくれるわけではない。可能なのは、引っ越し元でexportする場合にバージョン情報を付けること、importするときにバージョン情報に従うか無視するか、だけである。なお、winget upgradeで、プログラムを一気に最新版にアップデートさせることも可能だ。

 もう1つは、もはや不要なランタイムがexportのリストに含まれる可能性があることだ。Wingetは、export時には依存関係で入ったプログラムなのかどうかを区別していないため、たとえば、C/C++のランタイムはすべて見つけ出し、wingetでインストール可能なものはexportコマンドで出力する。

 アプリケーションをアンインストールするとき、同時にインストールしたC/C++ランタイムまではアンインストールしてくれないことが多い。他のアプリが使っている可能性があるからだ。そのため、使わなくなった、あるいはアンインストールしたアプリケーション用のランタイムなどがJSONリストに含まれている可能性がある。

 もう1つは、Wingetは歴史が浅いため、必ずしもすべてのバージョンがリポジトリに登録されているとは限らない点だ。複数のバージョンが共存可能なソフトウェアであっても、希望のバージョンはWingetではインストールできない可能性がある。

 こうした問題点があるため、Wingetでのお引っ越しは「余計なものが入っても気にしないから簡単にする」あるいは「手作業をしてでも効率良くやりたい」のどちらかになる。どちらの場合でも、複数のソフトウェアを手動でダウンロードしてインストールするよりは楽ではある。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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