dotnet macOS 古いSDKを削除する

dotnet --list-runtimes

macOSにインストールした dotnet(.NET) SDKの古いバージョンを削除する

インストールされているdotnet SDKバージョン一覧を確認する

dotnet --list-sdks
dotnet –list-sdks 実行

/usr/local/share/dotnet/sdk ここに、 SDK各バージョンの 実態が入っています

ls -l /usr/local/share/dotnet/sdk/

lsで 確認してみると 各バージョンが入っています↓

ls 結果

先頭にある「2.1.403」を消してみる

sudo rm -rf /usr/local/share/dotnet/sdk/2.1.403

再度「 dotnet –list-sdks 」で 確認すると 2.1.403 は消えていた

sdk以外にも 「 /usr/local/share/dotnet/shared 」

Microsoft.AspNetCore.All 
Microsoft.AspNetCore.App 
Microsoft.NETCore.App

上記の各バージョンのディレクトリも消す

「 /usr/local/share/dotnet/host/fxr 」ここの バージョンのディレクトリも消す。

Microsoft のドキュメントに書いてある .NET ランタイムと SDK を削除する方法 を参考に アンインストールシェルを作成する

#!/bin/bash
version="2.1.403"
sudo rm -rf /usr/local/share/dotnet/sdk/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version
sudo rm -rf /usr/local/share/dotnet/host/fxr/$version

dotnet ランタイムを確認

dotnet --list-runtimes

msiをコマンドで 無人一括インストール – msiexec.exe –

msi 無人インストール

Visual Studioでインストーラーを作成した場合*.msiが作られます。

msi普通に起動するとインストールウィザード画面が実行されます。社内で一気に配布したい場合不便なので、msiexec.exe(コマンドライン)が利用できます。

通常のインストールを指定

通常インストール指定の場合は /i を使います。

msiexec.exe /i ".\Installer.msi" /qn /passive /L*vx! "C:\Users\public\log.log"

製品をすべてのユーザーに提供する場合

/jm は、製品をすべてのユーザーに提供できます。(コンピューター内のすべてのユーザーにアドバタイズします。)

Publicフォルダなど全員が見れる場所にmsiファイルを配置したほうがいいです。

msiexec.exe /jm "C:\Users\Public\Installer.msi" /qn /passive /L*vx! "C:\Users\Public\log.log"

パッケージをアンインストール

msiexec.exe /x "C:\Users\Public\Installer.msi" /qn /passive /L*vx! "C:\Users\Public\log.log"

https://docs.microsoft.com/ja-jp/windows/win32/msi/command-line-options

https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/msiexec

https://social.msdn.microsoft.com/Forums/ja-JP/cc68063e-a332-472f-a596-1677dd7b1b55/step-by-step-guide-msi?forum=visualstudiosupportteamja

2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED