gepebril69 has asked for the wisdom of the Perl Monks concerning the following question:
Hi there,
For a project I need to track all installed third party software updates. All windows updates (KB....) can easily be obtained through CLI, not the third party updates.
Through scaning through registry with regedit I found that all patches can be found in values of HKEY_CLASSES_ROOT\Installer\Patches\xxxxxxxxx\SourceList (PackageName)
I can read all subkeys and values if I know the XXXXX values. But I don't, and I can't manage how.....
This code retrieved the values of a particular subfolder XXXXXXXXXXXXX:
use Win32::Registry; $p = "Installer\\Patches\\18337E8B1B905984CA0D4383B5F025D6\\SourceList +\\Media"; $main::HKEY_CLASSES_ROOT->Open($p, $CurrVer) || die "Open: $!"; $CurrVer->GetValues(\%vals); # get sub keys and value -hash ref foreach $k (keys %vals) { $key = $vals{$k}; print "$$key[0] = $$key[2]\n"; # see below for explanation }
Win32::TieRegistry, the better version of Win32::Registry only gave undef values...... That seems to lie in 64 bits registry
Has somebody a clue how to get all XXXXXXXX values?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Scanning through Windows registry
by SimonPratt (Friar) on Jan 09, 2015 at 17:41 UTC | |
by gepebril69 (Scribe) on Jan 09, 2015 at 19:22 UTC | |
by Anonymous Monk on Jan 09, 2015 at 22:50 UTC | |
by gepebril69 (Scribe) on Jan 10, 2015 at 09:40 UTC | |
by SimonPratt (Friar) on Jan 13, 2015 at 11:04 UTC | |
| |
by gepebril69 (Scribe) on Jan 09, 2015 at 19:31 UTC |