0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

winget で Visual C++ 再頒布可能パッケージをインストールした時のメモ

Last updated at Posted at 2022-09-01

winget を使う

winget コマンドは Windows11では標準で使える。

Windows10では使えない場合がある。
公式の文書では「アプリ インストーラーを取得」と書いてあるが、Microsoft Storeを更新すれば使えるようになる。
Microsoft Storeのアプリを起動して、「ダウンロードと更新」からMicrosoft Storeを更新するとUIが変わった新しいバージョンへと更新される。その後PowerShellなどを起動すれば winget が使えるようになっている。(Windows10 ver.1709 OSビルド 16299 以上が必要)

Visual C++ 再頒布可能パッケージを探す

一応、再頒布可能パッケージの配布ページへ行けばそれぞれのインストーラを取得することができるが winget を使えばブラウザから検索して探す手間がなくなる。

winget でインストールできるものを探すときは winget search を使う。

ID名などが変わったので編集しました

以前は 「VC++」で検索してみると次のように表示された。

PS C:\Users\public> winget search VC++
名前                                                 ID                                バージョン     一致        ソース
------------------------------------------------------------------------------------------------------------------------
Microsoft Visual C++ 2022 Redistributable (Arm64)    Microsoft.VC++2022Redist-arm64    14.32.31332.0              winget
Microsoft Visual C++ 2019 Redistributable (Arm64)    Microsoft.VC++2019Redist-arm64    14.29.30139.0              winget
Microsoft Visual C++ 2017 Redistributable (x86)      Microsoft.VC++2017Redist-x86      14.20.27404.0              winget
Microsoft Visual C++ 2017 Redistributable (x64)      Microsoft.VC++2017Redist-x64      14.20.27404.0              winget
Microsoft Visual C++ 2015 Redistributable (x86)      Microsoft.VC++2015Redist-x86      14.0.24516.0               winget
Microsoft Visual C++ 2015 Redistributable (x64)      Microsoft.VC++2015Redist-x64      14.0.24516.0               winget
Microsoft Visual C++ 2015-2022 Redistributable (x86) Microsoft.VC++2015-2022Redist-x86 14.32.31332.0              winget
Microsoft Visual C++ 2015-2022 Redistributable (x64) Microsoft.VC++2015-2022Redist-x64 14.32.31332.0              winget
Microsoft Visual C++ 2015-2019 Redistributable (x86) Microsoft.VC++2015-2019Redist-x86 14.29.30139.0              winget
Microsoft Visual C++ 2015-2019 Redistributable (x64) Microsoft.VC++2015-2019Redist-x64 14.29.30139.0              winget
Microsoft Visual C++ 2013 Redistributable (x86)      Microsoft.VC++2013Redist-x86      12.0.40664.0               winget
Microsoft Visual C++ 2013 Redistributable (x64)      Microsoft.VC++2013Redist-x64      12.0.40664.0               winget
Microsoft Visual C++ 2012 Redistributable (x86)      Microsoft.VC++2012Redist-x86      11.0.61030.0               winget
Microsoft Visual C++ 2012 Redistributable (x64)      Microsoft.VC++2012Redist-x64      11.0.61030.0               winget
Microsoft Visual C++ 2010 x86 Redistributable        Microsoft.VC++2010Redist-x86      10.0.40219                 winget
Microsoft Visual C++ 2010 x64 Redistributable        Microsoft.VC++2010Redist-x64      10.0.40219                 winget
Microsoft Visual C++ 2008 Redistributable - x86      Microsoft.VC++2008Redist-x86      9.0.30729.6161             winget
Microsoft Visual C++ 2008 Redistributable - x64      Microsoft.VC++2008Redist-x64      9.0.30729.6161             winget
Microsoft Visual C++ 2005 Redistributable            Microsoft.VC++2005Redist-x86      8.0.61001                  winget
Microsoft Visual C++ 2005 Redistributable (x64)      Microsoft.VC++2005Redist-x64      8.0.61000                  winget
Redpanda-C++                                         RoyQu.RedPanda-C++                1.2            Tag: devc++ winget
Dev-C++                                              Orwell.Dev-C++                    5.11           Tag: DevC++ winget
Embarcadero Dev-C++                                  Embarcadero.Dev-C++               6.3            Tag: DevC++ winget

現在はこんな感じ $\Downarrow$

PS C:\Users\public>winget search VC++
名前                                            ID                           バージョン     一致        ソース
--------------------------------------------------------------------------------------------------------------
Microsoft Visual C++ 2005 Redistributable (x64) Microsoft.VCRedist.2005.x64  8.0.61000      Tag: vc++   winget
Microsoft Visual C++ 2005 Redistributable       Microsoft.VCRedist.2005.x86  8.0.61001      Tag: vc++   winget
Microsoft Visual C++ 2008 Redistributable - x64 Microsoft.VCRedist.2008.x64  9.0.30729.6161 Tag: vc++   winget
Microsoft Visual C++ 2008 Redistributable - x86 Microsoft.VCRedist.2008.x86  9.0.30729.6161 Tag: vc++   winget
Microsoft Visual C++ 2008 Redistributable - x86 Microsoft.VC++2008Redist-x86 9.0.30729.6161             winget
Microsoft Visual C++ 2008 Redistributable - x64 Microsoft.VC++2008Redist-x64 9.0.30729.6161             winget
Redpanda-C++                                    RoyQu.RedPanda-C++           1.4            Tag: devc++ winget
Dev-C++                                         Orwell.Dev-C++               5.11           Tag: devc++ winget
Embarcadero Dev-C++                             Embarcadero.Dev-C++          6.3            Tag: devc++ winget

IDが Microsoft 直下から Microsoft.VCRedist の下に配置されたので 「VC++」で検索しても見つかりません。
(何故か2005と2008は旧IDが残っていたり「vc++」タグが付いている、そのうち修正されるかも?)

2022/10/17 時点では 「VCR」で検索してみると次のように表示される。

PS C:\Users\public>winget search vcr
名前                                                 ID                            バージョン     ソース
----------------------------------------------------------------------------------------------------------
VCR                                                  9WZDNCRDHHF2                  Unknown        msstore
VcRead                                               9WZDNCRDP582                  Unknown        msstore
MarkRight                                            dvcrn.markright               0.1.11         winget
Microsoft Visual C++ 2005 Redistributable (x64)      Microsoft.VCRedist.2005.x64   8.0.61000      winget
Microsoft Visual C++ 2005 Redistributable            Microsoft.VCRedist.2005.x86   8.0.61001      winget
Microsoft Visual C++ 2008 Redistributable - x64      Microsoft.VCRedist.2008.x64   9.0.30729.6161 winget
Microsoft Visual C++ 2008 Redistributable - x86      Microsoft.VCRedist.2008.x86   9.0.30729.6161 winget
Microsoft Visual C++ 2013 Redistributable (x86)      Microsoft.VCRedist.2013.x86   12.0.40664.0   winget
Microsoft Visual C++ 2013 Redistributable (x64)      Microsoft.VCRedist.2013.x64   12.0.40664.0   winget
Microsoft Visual C++ 2012 Redistributable (x64)      Microsoft.VCRedist.2012.x64   11.0.61030.0   winget
Microsoft Visual C++ 2012 Redistributable (x86)      Microsoft.VCRedist.2012.x86   11.0.61030.0   winget
Microsoft Visual C++ 2015-2022 Redistributable (x64) Microsoft.VCRedist.2015+.x64  14.34.31823.3  winget
Microsoft Visual C++ 2015-2022 Redistributable (x86) Microsoft.VCRedist.2015+.x86  14.34.31823.3  winget
Microsoft Visual C++ 2010 x64 Redistributable        Microsoft.VCRedist.2010.x64   10.0.40219     winget
Microsoft Visual C++ 2010 x86 Redistributable        Microsoft.VCRedist.2010.x86   10.0.40219     winget
Microsoft Visual C++ 2019 Redistributable (Arm64)    Microsoft.VCRedist.2019.arm64 14.29.30139.0  winget
Microsoft Visual C++ 2022 Redistributable (Arm64)    Microsoft.VCRedist.2022.arm64 14.34.31823.3  winget

各ディストリビューション、各バージョンが利用できることがわかるので目的の物のIDをコピーしてインストールする。

PS C:\Users\public>winget install Microsoft.VCRedist.2015+.x64
見つかりました Microsoft Visual C++ 2015-2022 Redistributable (x64) [Microsoft.VCRedist.2015+.x64] バージョン 14.34.31823.3
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://download.visualstudio.microsoft.com/download/pr/a16e1596-7fef-4570-8d63-fb9d4e72c820/D0CAFF8097BB9C43A3685686826867506BF6EDD667F7B90092CB0EB1B964A85E/VC_redist.x64.exe
  ██████████████████████████████  24.2 MB / 24.2 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました

PS C:\Users\public>winget install Microsoft.VCRedist.2015+.x86
見つかりました Microsoft Visual C++ 2015-2022 Redistributable (x86) [Microsoft.VCRedist.2015+.x86] バージョン 14.34.31823.3
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://download.visualstudio.microsoft.com/download/pr/a16e1596-7fef-4570-8d63-fb9d4e72c820/BB66E74A41ECF5DC09487608E477ACC4F78A38A0EC4FFE3100069C8A067DA29A/VC_redist.x86.exe
  ██████████████████████████████  13.0 MB / 13.0 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました

PS C:\Users\public>

winget のメモ

winget を使うと主要ブラウザやコードエディタなどもインストールできる。
WindowsのPCを新しくセットアップするときに使えば、Edgeを起動せずに他のブラウザやVSCodeなどをインストールできる。
また、Visual StudioのビルドツールやPython、Anaconda、rustupなど開発環境の構築に役立つものも多いので、ブラウザで検索して探すのに手間取ったときなどは winget で検索してみるとあっさり見つかるかもしれない。

Git for Windowsなどはインストーラを起動すると各種設定を行いながら進み最後にインストールが行われるはずだが、 winget を使ってインストールを実行するとすべての設定がデフォルトのままインストールされてしまうので、こだわりたい人は注意が必要。
winget install または winget upgrade するときは -i ( --interactive )オプションをつけておくと対話的なインストールが始まり、インストール過程で変更できる設定を編集できるようになる。 (対話モードをデフォルトにしてほしい)

winget に登録されている情報は show を使うとみることができる。

PS C:\Users\public>winget show Git.GIT
見つかりました Git [Git.Git]
バージョン: 2.38.0
公開元: The Git Development Community
発行元 URL: https://gitforwindows.org
発行元のサポート URL: https://github.com/git-for-windows/git/issues
作成者: Johannes Schindelin
モニカー: git
説明: Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows while providing appropriate user interfaces for experienced Git users and novices alike.
ホーム ページ: https://gitforwindows.org
ライセンス: GNU General Public License version 2
ライセンス URL: https://raw.githubusercontent.com/git-for-windows/git/main/COPYING
著作権: Copyright (C) 1989, 1991 Free Software Foundation, Inc.
著作権 URL: https://raw.githubusercontent.com/git-for-windows/git/main/COPYING
リリース ノート URL: https://github.com/git-for-windows/git/releases/tag/v2.38.0.windows.1
インストーラー:
  種類: inno
  ダウンロード URL: https://github.com/git-for-windows/git/releases/download/v2.38.0.windows.1/Git-2.38.0-64-bit.exe
  SHA256: 49fa8d1f151e83b89c84e0cb9e400ee0d543d238960f506e487b5a39889fa2c8
  リリース日: 2022-10-03

インストーラの実行ファイルへのURLが記載されている場合がほとんどであるため、
curl.exe などでダウンロードして手動で実行することでもデフォルトインストールを回避することができる。

その他、使い方は winget または winget <コマンド> の後に -? or --help オプションをつけることで見ることができる。

PS C:\Users\public>winget -?
Windows パッケージ マネージャー v1.3.2691
Copyright (c) Microsoft Corporation. All rights reserved.

WinGet コマンド ライン ユーティリティを使用すると、コマンド ラインからアプリケーションやその他のパッケージをインストールできます。

使用状況: winget [<コマンド>] [<オプション>]

使用できるコマンドは次のとおりです:
  install    指定されたパッケージをインストール
  show       パッケージに関する情報を表示します
  source     パッケージのソースの管理
  search     アプリの基本情報を見つけて表示
  list       インストール済みパッケージを表示する
  upgrade    利用可能なアップグレードの表示と実行
  uninstall  指定されたパッケージをアンインストール
  hash       インストーラー ファイルをハッシュするヘルパー
  validate   マニフェスト ファイルを検証
  settings   設定を開くか、管理者設定を設定する
  features   試験的な機能の状態を表示
  export     インストールされているパッケージのリストをエクスポート
  import     ファイル中のすべてのパッケージをインストール

特定のコマンドの詳細については、そのコマンドにヘルプ引数を渡します。 [-?]

次のオプションを使用できます。
  -v,--version  ツールのバージョンを表示
  --info        ツールの一般情報を表示

詳細については、次を参照してください。 https://aka.ms/winget-command-help
PS C:\Users\public>winget upgrade --help
Windows パッケージ マネージャー v1.3.2691
Copyright (c) Microsoft Corporation. All rights reserved.

インストールされたパッケージ リスト、またはマニフェストから直接検索し、選択されたパッケージをアップグレードします。既定では、クエリはパッケージの ID、名前、モニカーに大文字小文字の区別なく一致する必要があります。その他のフィールドは、適切なオプションを渡すことで使用することができます。引数が指定されていない場合は、利用可能なアップグレードを含むパッケージが表示されます

使用状況: winget upgrade [[-q] <query>] [<オプション>]

次の引数を使用できます。
  -q,--query                   パッケージの検索に使用されるクエリ

次のオプションを使用できます。
  -m,--manifest                パッケージのマニフェストのパス
  --id                         ID で結果をフィルター処理
  --name                       名前で結果をフィルター処理
  --moniker                    モニカーで結果をフィルター処理
  -v,--version                 指定されたバージョンを使用します。既定値は最新バージョンです
  -s,--source                  指定されたリソースを使用してパッケージを検索
  -e,--exact                   完全一致を使用してパッケージを検索
  -i,--interactive             対話式のインストールが要求されます。ユーザーの入力が必要になる場合があります
  -h,--silent                  サイレント インストールを要求
  --purge                      パッケージ ディレクトリ (ポータブル) 内のすべてのファイルとディレクトリを削除します
  -o,--log                     ログの場所 (サポートされている場合)
  --override                   インストーラーに渡される引数を上書き
  -l,--location                インストール先 (サポートされている場合)
  --force                      インストーラーのハッシュのチェックを上書きする
  --accept-package-agreements  パッケージのすべての使用許諾契約に同意する
  --accept-source-agreements   ソース操作中にすべてのソース契約に同意する
  --header                     オプションの Windows-Package-Manager REST ソース HTTP ヘッダー
  --all                        インストールされているすべてのパッケージが利用可能であれば最新のものに更新する
  --include-unknown            現在のバージョンを特定できない場合でもパッケージをアップグレードする

詳細については、次を参照してください。 https://aka.ms/winget-command-upgrade
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?