Hi,
I would like to check if registry key is exist by the following simple Perl code:
Output ERROR is:my $UninstallRegistryPATH = "HKLM\\SOFTWARE\\Microsoft\\Windows\\Curre +ntVersion\\Uninstall\\{30277218-0100-0904-9ABB-000BDB5CF35D}"; my $cmd = "REG QUERY ${UninstallRegistryPATH}"; print "\n----$cmd----\n\n"; my @RegKeys = `$cmd 2>&1`; foreach my $var (@RegKeys) { print "$var" }
----C:\Windows\system32\reg.exe QUERY HKLM\SOFTWARE\Microsoft\Windows\ +CurrentVersion\Uninstall\{30277218-0100-0904-9ABB-000BDB5CF35D}---- ERROR: The system was unable to find the specified registry key or val +ue.
If I run the command ($cmd) from the command line it run successfully.
Do someone have any idea?
Please advice
Thanks
I Failed even if i use the following code:
use Win32::Registry; my $Register = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{0 +34106B5-54B7-467F-B477-5B7DBB492624}'; my $hkey; $HKEY_LOCAL_MACHINE->Open($Register,$hkey)|| die print "($!) ($?) ($^E +)\n"; $hkey->Close();
If i remove the last entrance key {034106B5-54B7-467F-B477-5B7DBB492624} and run it like the following is working good:
use Win32::Registry; my $Register = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'; my $hkey; $HKEY_LOCAL_MACHINE->Open($Register,$hkey)|| die print "($!) ($?) ($^E +)\n"; $hkey->Close();
My question is why? Why {034106B5-54B7-467F-B477-5B7DBB492624} caused to read problem?
I just need to check if some product is installed
In reply to Failed to check if registry key is exist by roteme
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |