我遇到了編寫腳本的任務,該腳本首先在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)搜索某個特定程序的具體方法是什麼(我願意接受Vb腳本編程或批量編程) 2)所有系統中已安裝軟件的註冊表鍵值是否保持不變,並且它與不同的virsion有所不同?
在此先感謝。
+1全部問題描述+陳述良好的問題 –