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