Windows 서버에 Websphere MQ 클라이언트 32 비트의 자동 설치를 처음 시작하는 스크립트를 작성했습니다. 스크립트가 새로 설치를 위해 잘 작동이미 설치된 프로그램과 그 버전을 확인하기위한 스크립트
@echo off
REM Author : Akshay Sinha
REM Date Created : 07/05/2012
REM Installing Websphere MQ.......
Msiexec /q /i "%CD%\MSI\IBM WebSphere MQ.msi" /l*v .\install.log /m mif_file TRANSFORMS="1033.mst" AGREETOLICENSE="yes"
echo Script to check if the installation failed !!!
echo Waiting for installaion to complete.......
REM Script will wait for 2 mins, This is to ensure that install.log gets fully generated.
ping 123.45.67.89 -n 1 -w 120000 > nul
echo Wait Over
find /C "Installation operation failed" "%CD%"\install.log > tmp.log
for /f "tokens=1,2,3 delims=:" %%a in (tmp.log) DO (
SET /a FOUND_STR=%%c
echo %FOUND_STR%
)
del tmp.log
SET %FOUND_STR%=%FOUND_STR: =%
echo %FOUND_STR%
if %FOUND_STR% EQU 0 (
echo Installation Of MQ completed without any errors!!!!!
EXIT /B 0
)
if %FOUND_STR% GTR 0 (
echo There were errors while installing MQ.. Pls Verify!!!
EXIT /B 1
)
: 설치가 성공 아니었다면 그런 다음 확인 ..... 그래서 나는 다음과 같은 스크립트를 썼다. 즉 언급 된 소프트웨어가 이미 시스템에 설치되지 않은 경우입니다.
그러나이 스크립트를 개선해야 Websphere MQ와 해당 버전의 기존 설치를 시스템에서 점검해야합니다. - 버전이 우리가 필요로하는 버전이 아닌 경우 (물론 커맨드 라인에서 제공 할 것입니다), 제거를 시작해야합니다.
문제는 파일 시스템을 검색하는 방식을 사용하고 싶지 않다는 것입니다. WMI 클래스를 사용하여이 작업을 어떻게 수행합니까? 나는 Win32_Product 클래스를 찾아 보았지만, 단지 하나의 설치된 프로그램 만 반환했다. (비록 내 시스템에 40 개의 응용 프로그램이 설치되어 있었지만). 그래서 나는 알고 싶다 : 1) 특정 프로그램을 검색하는 구체적인 방법은 무엇인가? 시스템 (VbScripting 또는 배치 프로그래밍에 개방적입니다.) 2) 설치된 소프트웨어에 대한 레지스트리 키의 값은 모든 시스템에서 동일하게 유지되며 다른 버전에 따라 달라 집니까 ??
미리 감사드립니다.
+1 전체 문제 설명 + 잘 설명 된 질문 –