Pull to refresh

Как с помощью командой строки удалить приложение из системы

Reading time1 min
Views6.1K
Original author: Bill Lin's
Допустим у вас есть приложение, которое было установлено через MSI. И вы знаете только имя приложения (в данном случае, только первую часть названия). Для использования команды MSIEXEC требуется, чтобы вы знали GUID, но все программы имеют разные GUID, более того, даже разные версии программы могут иметь различный GUID. И вот решение, которое придумал Bill Lin's: он перебирает ключи реестра, чтобы получить этот самый GUID, у которого DisplayName начинается с определенного имени.



Ниже приведен пример, который удаляет все установленные приложения, названия которых начинается с «Windows Live ID Sign-in Assistant»
for /f "tokens=7 delims=\" %%i in ('reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall ^| FIND "{"') do 
(
  for /f "tokens=2,*" %%j in ('reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\%%i /v DisplayName') do 
  (
    set dn=%%k
    if "!dn:~0,33!"=="Windows Live ID Sign-in Assistant" 
    (
      echo Uninstalling Windows Live ID Sign-in Assistant
      msiexec /promptrestart /qb /x %%i /L+*v %TEMP%\wlidsvc.log
      if %ERRORLEVEL% NEQ 0 echo Uninstallation failed. Check the log %TEMP%\wlidsvc.log
    )
  )
)
Tags:
Hubs:
0
Comments4

Articles