Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Запуск установки программы с проверкой версии в реестре (http://forum.oszone.net/showthread.php?t=335061)

invademan 28-05-2018 13:35 2815903

Запуск установки программы с проверкой версии в реестре
 
Есть задача, установить через GPO программу *.exe но сперва проверить установлена она на компьютере и старая ли версия.
Поэтому нужен Bat-ник,
Нужно производить поиск ее ВЕРСИИ в двух ветках реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
и
HKEY_LOCAL_MACHINE\software\Microsoft\Windows\CurrentVersion\Uninstall\

и если версия не совпадает или параметр "DisplayVersion" отсутствует то начать установку...

для примера в Bat можно использовать Winrar

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver
параметр DisplayVersion значение 5.50.0



Просьба конвертеры MSI не предлагать..интересует именно bat-ник
заранее спасибо всем откликнувшимся!

Elven 28-05-2018 15:04 2815916

Код:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver" /v DisplayVersion | findstr /i DisplayVersion | findstr 5.50.0 && (
echo ключа с нужным параметром нет
) || (
echo ключ с нужным параметром есть
)

В приведенном примере поиск производится в одной ветке, если нужно проверять именно в двух, то добавляем аналогичный поиск в соответствующие скобки (я что-то сообразить не могу в котором случае нужно проверять второй параметр)

Busla 28-05-2018 20:08 2815959

Цитата:

Цитата invademan
установить через GPO программу
Поэтому нужен Bat-ник, »

не нужен
достаточно в gpo с запуском инсталлятора прописать wmi-условие

Iska 28-05-2018 23:23 2815978

Busla, пропишете?

invademan 29-05-2018 07:15 2815991

SET key=5.50.0


reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver" /v DisplayVersion | findstr /i DisplayVersion | findstr %key% && (goto exit)

reg query "HKEY_LOCAL_MACHINE\software\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver" /v DisplayVersion | findstr /i DisplayVersion | findstr %key% && (goto exit)


start "" C:\Windows\System32\calc.exe

:exit
@exit

всем спасибо вот варик рабочий.


Время: 07:11.

Время: 07:11.
© OSzone.net 2001-