Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Scanning through Windows registry

by gepebril69 (Scribe)
on Jan 09, 2015 at 15:22 UTC ( [id://1112763]=perlquestion: print w/replies, xml ) Need Help??

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

    I'll just leave this here...

    use 5.16.2; use Win32::TieRegistry; my $baseKey = $Registry->{'HKEY_CLASSES_ROOT\Installer\Patches'}; foreach my $subKey ( $baseKey->SubKeyNames ) { say $subKey; }

      @Simon,

      Thanks, running this, results in:

      Can't call method "SubKeyNames" on an undefined value at E:\test4.pl line 4. :(

        It's like no path or key exists with TieRegistery

        I have the same issue as here: http://stackoverflow.com/questions/678015/why-cant-win32tieregistry-list-subkeys

        That is why I gave up on TieRegistry

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1112763]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2024-03-19 02:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found