2011-01-17 04:15:36 +0000 2011-01-17 04:15:36 +0000
30
30

CMDを使ってプログラムを静かにアンインストールする

グラフィカルなインターフェースを使わずに、CMDを介してプログラムをアンインストールする方法はありますか?

回答 (8)

26
26
26
2014-07-23 21:33:01 +0000

WMIC を使用することで、GUID 等を知らなくても正しいアンインストーラを起動することができます。

wmic product get name

Windows が内部的に知っているプログラム名の一覧を見る。

wmic product where name="_my_product_name" call uninstall

製品名を探してください。おそらく、“プログラムと機能”コントロールパネルに表示されているものと一致していると思いますが、必ずしも一致しているとは限りません。

0x1&

を使用してアンインストールを実行することができます。沈黙するかどうかは、インストーラ/アンインストーラのビルド方法に依存します)。)

詳細はこちらをご覧ください。

microsoft.comにもWMICのリファレンスドキュメントがあります。

19
19
19
2011-01-17 05:14:51 +0000

マイクロソフトのガイドラインに従って適切にインストールされたすべてのプログラムは、HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstallにレジストリエントリを作成します。通常、プログラムのキーはそのプログラムのGUID、またはプログラム名になります。そのキーの中には、UninstallStringというエントリがあります。これには、プログラムをアンインストールするために実行するコマンドが含まれています。

アンインストールするプログラムが事前に分かっている場合は、バッチファイルにそれを記述するだけで十分に簡単です。しかし、このプロセスを自動化しようとすると厄介なことになります。reg コマンドを使ってレジストリからデータを取得することができますが、与えられたキーの実際の値の周りに多くのテキストが返されるため、使いづらいです。レジストリから変数にデータを取得するためには、VBscript や PowerShell を使ってみるのが良いでしょう。

7
7
7
2015-12-29 14:56:33 +0000

PowerShell 3 (またはそれ以上) がインストールされている場合は、WMI 呼び出しを発行して、特定のものという名前のプログラム (またはワイルドカード検索を行うために特定のものを「好き」と呼ぶ) をすべて取得し、それらのプログラムごとに Uninstall メソッドを呼び出すことができます。

(Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name like '%Partial Name%'").uninstall()

5
5
5
2011-01-17 04:24:49 +0000

MSIのインストーラーファイルがどこにあるか知っている場合は、以下のようにします。

Msiexec /uninstall Application.msi /quiet

5
5
5
2011-01-17 04:23:12 +0000

Windows Installerを使用しているプログラムであれば、以下のいずれかのコマンドを使用することができます。

msiexec /q /x <ProductCodeGuid>
msiexec /q /x <PathToMsi>

ただし、製品コードもインストールに使用したオリジナルのMSIファイルも持っていない可能性が高いです。

0x1&

しかし、インストールに使用した製品コードもオリジナルの MSI ファイルも持っていない可能性が高いです。独自のアンインストール実行ファイルを提供しているかもしれませんが、その実行ファイルに GUI なしで実行する方法が含まれているかどうかは、個々のソフトウェアパッケージに依存します。

1
1
1
2018-06-30 22:14:12 +0000

これはバッチを使用してソフトウェアのUninstallStringレジストリキーを見つけてから、ソフトウェアを静かにアンインストールしています。

1
1
1
2015-03-18 17:36:56 +0000

VBScriptスクリプトを使用して、必要なプログラムをアンインストールすることができます。

このスクリプトを使用するには、レジストリにあるソフトウェア名が必要です。

スクリプトにアプリケーション名を入力し、管理者権限で実行するだけで、アプリケーションがアンインストールされます。スタンドアロンのセットアップや、レジストリのアンインストール文字列にエントリを作成していないアプリでは、スクリプトは動作しません。

その場合、アプリケーションをアンインストールする別の方法を見つける必要があります。

コード。

On error resume Next

Dim strName, WshShell, oReg, keyname

Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."

'=============================================
'Change the value here with DisplayName's value
strName = " "
'=============================================
Set WshShell = CreateObject("WScript.Shell")
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys
    keyname = ""
       keyname = wshshell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & subkey & "\DisplayName")
    If keyname = strName then
        i = subkey
    End If
Next

If i Then

    WshShell.Run "MSIEXEC.EXE /X " & i & " /QN", 1, True
End If

Set WshShell = Nothing
set ObjReg = Nothing

WScript.Quit
0
0
0
2017-06-08 01:49:09 +0000

正解は上記の通りですが、Windows X64をインストールした場合は、次のようにチェックする必要があります:

HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
```0x1&。