ok.. that explains a lot..

Some suggestions?
what happens now, is that it only shows applications that have a version number.
When I look at my own network, I see a lot of machines that have software installed, that doesn't contain a version number. Especially the once linked only in the UNINSTALL Paths

I edited the script a little to show some more applications.

Code:


For Each $Key In $App2
$DisplayName = ReadValue($HKLMAppPaths2 + "\" + $Key,'DisplayName')
$DisplayVersion = ReadValue($HKLMAppPaths2 + "\" + $Key,'DisplayVersion')
$Publisher = ReadValue($HKLMAppPaths2 + "\" + $Key,'Publisher')

*<Cut>*




If Len($DisplayName)
If Len($DisplayVersion)

If Len($Publisher)
$SoftInfo = $SoftInfo + Trim($DisplayName) + Chr(42) + Trim($Key) + Chr(42) + Trim($DisplayVersion) + Chr(42) + Trim($Publisher) + @CRLF
Else
$Publisher = "N/A"
$SoftInfo = $SoftInfo + Trim($DisplayName) + Chr(42) + Trim($Key) + Chr(42) + Trim($DisplayVersion) + Chr(42) + $Publisher + @CRLF
EndIf

Else
$DisplayVersion = "N/A"
If Len($Publisher)
$SoftInfo = $SoftInfo + Trim($DisplayName) + Chr(42) + Trim($Key) + Chr(42) + $DisplayVersion + Chr(42) + Trim($Publisher) + @CRLF
Else
$Publisher = "N/A"
$SoftInfo = $SoftInfo + Trim($DisplayName) + Chr(42) + Trim($Key) + Chr(42) + $DisplayVersion + Chr(42) + $Publisher + @CRLF
EndIf
EndIf






Not very nice but it does the trick.
At the lines I now add 'N/A' I want to add publishernames, by checking up on the program name, and changing this to the real value. Something I have to lookup once, and manually add it to the script, for the ones that don't show this Publisher

Like this:
If program=Nero { Publisher = Ahead }
etc.



Some results:

IBM ThinkPad - {B5599ECB-DA72-43EE-8A30-2C80396FF8BB}
AcDSee PowerPack 5 - {5058B085-AA79-41E5-A726-681B4C4B846E}

http://www.dutchhits.com/forumimages/output.bmp
Sorry for the big images.

These keys are returned as InstallPaths. Why are these returned, and would it be possible to gather data for these keys from another location

Most of these records are great to have in my opinion. But this is just a test for me, to see if this could be usefull on our network.

What I do miss, is an option to exclude programs/strings totally from this list.
In my list some programs now show up, and the only way to retrieve info on those, is too look at the compiledate of the program. (ie. modified date).
Version numbers can be equal, even if there are a lot of changes made. something we decided to do in the past, since some programs are changed very often (even more times a week) Although automated, it sometimes fails, and then problems in the program can occur.

That would be usefull for me, since we use a lot of small programs, that change in version weekly/monthly, and we're still not able to have that configured automatically ('failureless') on our networks.
I already have a seperate script that verifies those programs aside, and uninstall/reinstalls the current active version.


Edited by thoek (2004-04-16 10:46 PM)