Uninstall MSI Command Line

Pour lire la base de registre afin de connaitre la ligne de commande à utiliser pour désintaller un programme.

@echo off
cls
TITLE Uninstall MSI command line

:x86
set GUID=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
call :_result

:x64
set GUID=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
call :_result

goto :end

:_result
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=2*" %%A in (
  'reg query "%GUID%" /V /F DisplayName /S /E 2^>nul ^| findstr "DisplayName"'
) do (
  for /f "delims=" %%P in ('reg query "%GUID%" /s /f "%%B" 2^>nul ^| findstr "HKEY_LOCAL_MACHINE"') do (
    for /f "tokens=2*" %%X in (
      'reg query "%%P" /v "UninstallString" 2^>nul ^|findstr "UninstallString" ^|findstr "MsiExec.exe"'
    ) do (
      set MsiStr=%%Y
      set MsiStr=!MsiStr:/I=/X!
      if not "%%B"=="" echo !MsiStr! pour %%B
    )
  )
)

exit /b

:end
echo.
pause
Dernière modification : le 2019/11/22