![]() |
Удаление и установка msi
Есть старая версия программы, которую нужно снести и новая, которую нужно поставить. В виду большого количества серверов, тратится много времени на удаление через "установку и удаление программ" и потом запуск msi. Существует ли способ оптимизации этого процесса, что-то типа батника, чтобы щелкая его, выполнялись эти две операции?
|
Ключь запуска деинсталлятора смотрим в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID или имя программы} параметр UninstallString
Например, для установленной у меня версии OpenOffice Ключь реестра будет HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DD533DFE-EB4C-489D-A8F7-45AF68891C82} А параметр удаления MsiExec.exe /X{DD533DFE-EB4C-489D-A8F7-45AF68891C82} Можно добавить еще и /QN для полной автоматизации |
А как можно забить в батник предварительный поиск ключа удаления по параметру displayname?
Т.е. вместо DD533DFE-EB4C-489D-A8F7-45AF68891C82 нужно подставить переменную, кот нужно проинициализировать предварительно значением ключа из той папки где displayname имеет нужное значение. Просто по гуиду неудобно производить удаление, поскольку при смене версии он меняется, а название приложения нет. |
неужели никто не знает как это сделать?
|
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 ) ) ) (с) хабра |
Проверка установлено ли уже ПО
Все привет.
есть необходимость массово удалить ПО со всех ПК. хотелось бы, не надоедать тем у кого уже оно удалено. Подскажите как можно узнать установлено ли ПО по его ID, используя скрипты? А потом бы я его удалил через msiexec. |
Время: 12:08. |
Время: 12:08.
© OSzone.net 2001-