[wpkg-users] Retrieving a program's version

Stefan Pendl stefan.pendl.71 at gmail.com
Tue Mar 11 22:59:10 CET 2014


Am 11.03.2014 21:32, schrieb Frank Morawietz:
> Hi there,
>
> I just recently started to manage my family's computers (6 currently) 
> with WPKG. My setup already works quite well and WPKG saves me a lot 
> of time. This list and the documentation on the website is a great 
> source for learning about WPKG, which I do nearly every day. But now I 
> have an idea where I can't find the needed information. (And don't 
> know if it is possible at all...)
>
> I know that I can define variables for the packages, e.g. to define 
> the wanted version of a program. And I can retrieve the version of an 
> installed program. I can even verify those two. But, can I retrieve 
> the version of an installed program into a variable?
>
> The idea is to get an overview about what software is installed in 
> which version on all the computers, e.g. by writing this version into 
> a dedicated file on the network share.
>
> Further, there are programs that update them self, Google Chrome for 
> example. This mostly works, but in rare cases it does not. I would 
> like to kind of monitor whether this auto update works correctly.
>
> Is it possible to retrieve the installed software's version for 
> further flexible processing?
>
> Thanks and regards

WPKG is a software deployment system and no inventory system.

You could run a batch file or DOS command script to parse the output of 
querying the uninstall registry tree.
You would filter out the DisplayName and DisplayVersion values.

Find an example below.

REM --- code start (watch for line wraps)
@echo off
cls
echo.

set script_name=%~dpn0

if exist "%script_name%_%COMPUTERNAME%.txt" move /y 
"%script_name%_%COMPUTERNAME%.txt" "%script_name%_%COMPUTERNAME%_old.txt"
if exist "%script_name%_%COMPUTERNAME%_filtered.txt" move /y 
"%script_name%_%COMPUTERNAME%_filtered.txt" 
"%script_name%_%COMPUTERNAME%_old_filtered.txt"

echo Reading installation information ...
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s 
 >"%script_name%_%COMPUTERNAME%.txt"

reg query 
"HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" 
 >nul 2>&1
if ERRORLEVEL 1 goto :quit

echo.
echo Reading WOW64 installation information ...
reg query 
"HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" 
/s >>"%script_name%_%COMPUTERNAME%.txt"

:quit

echo.
echo Creating filtered output ...
findstr DisplayName "%script_name%_%COMPUTERNAME%.txt" | findstr /v 
"ParentDisplayName Hotfix Update" | sort /o 
"%script_name%_%COMPUTERNAME%_filtered.txt"

echo.
pause
REM --- code end


--
Stefan P.

Top-posting:
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?



More information about the wpkg-users mailing list