Допустим, у вас есть приложение, которое было установлено через MSI. И вы знаете только название приложения (в данном случае только первую часть имени).
Для использования команды MSIEXEC необходимо знать GUID, но все программы имеют разные GUID, и фактически даже разные версии программы могут иметь разные GUID. И вот решение, которое я придумал Билл Лин : он перебирает ключи реестра, чтобы получить тот же GUID, DisplayName которого начинается с определенного имени.
Ниже приведен пример удаления всех установленных приложений, имена которых начинаются с «Помощник по входу в Windows Live ID».
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 ) ) )Теги: #script #командная строка #регистрация #MSI #MSIEXEC #Разработка для Windows
Вместе с данным постом часто просматривают:
-
Статья Мастерство Маркетинга
19 Oct, 24 -
Элмслев, Луи
19 Oct, 24 -
Псевдо-Блики
19 Oct, 24 -
Рутрекеру 9 Лет.
19 Oct, 24 -
Реализация Резервирования Сервера Asterisk
19 Oct, 24