Sorry if this has been asked before - I've looked and couldn't find it.
I'm fairly new to this and having some problems getting Tieregistry to
do what I want it to.
I'm using the following (pinched from elsewhere on the net) to get the
display names of items in the Add/Remove Programs list which is
HKLM/Software/Microsoft/Windows/CurrentVersion/Uninstall/
It works to a certain extent - but misses out all the subkeys which have
the software GUID instead of a string as the subkey name.
For example on my machine the subkey
{04AE4390-AC57-44A1-9165-FAF5C6BFB14E} does have a value name of
DisplayName, which has the value Autodesk Deployment Wizard, but this
doesn't print out on the list.
I've tried quoting the subkey, escaping the curlys, removing them  -
allsorts really, but can't get it to work. Please help.

#!/usr/bin/perl -w
use strict;
use warnings;

use Win32::TieRegistry(Delimiter => '/');

my $key =
'LMachine/Software/Microsoft/Windows/CurrentVersion/Uninstall';

foreach my $subkey ( keys(%{$Registry->{$key}}) ) {
# beware: $subkey comes with a trailing slash
my $name = $Registry->{"$key/$subkey/DisplayName"} || next;
print "$name\n";
}

Thanks,
--Richard Burns-Allan

DipComp DipIT BSc(Hons) MBCS
MCSA(2000 & 2003) MCSE(NT4, 2000, 2003) Security+

IT Systems Engineer
Ross-shire Engineering Limited
Tel: 01463 870049


_______________________________________________
Perl-Win32-Admin mailing list
Perl-Win32-Admin@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to