Yeah,
 
    It's a permission thing with the registry ... I ran across it a few months back and posted to this list.  In the end I found the fix myself.  Try this code instead:
 
-----------------
my $reg_key = Registry->Open("HKEY_LOCAL_MACHINE\\Software\\ActiveState\\", {Access=>1});
or $error = "ERROR: Can't access registry key because, $^E\n";
print "error was \"$error\"\n";
-----------------
 
    Specifying the Access level is the key.  By the way Access=>1 only gives you read access to that key.
 
Bill


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Castle, Eric
Sent: Wednesday, April 19, 2006 5:02 PM
To: perl-win32-admin@listserv.ActiveState.com
Subject: Accessing the registry with Win32::TieRegistry on XP as std user not working

Hi,
 
In preparation for the Vista OS release, I am testing out how our perl scripts work when running as a standard user on Windows XP SP2. This user has no power user or admin permissions.
 
So far when I try to access the registry ( using Win32::TieRegistry) I get an error - the same error that I would get if the registry key did not exist. I tried using perl 5.6.1 and 5.8 and it behaves the same in both.  If running the same script as a user with power user or admin priveldges, the scripts work fine and have no problems accessing the registry.
 
Other (non-perl) applications running as std user are able to access the registry just fine (don't know if they can alter it but they can at least read it). 
 
The registry key I was accessing was HKEY_LOCAL_MACHINE\Software\ActiveState\ 
 
The error message I get back in $^E is:  "The system could not find the environment option that was entered".   Here is a sample script I used to test out the problem:
 
use Win32::TieRegistry;
 
my $error = "";
my $reg_key = $Registry->{"HKEY_LOCAL_MACHINE\\Software\\ActiveState\\"}
or $error = "ERROR: Can't access registry key because, $^E\n";
print "error was \"$error\"\n";
 
Has anyone else run into this?  I'm gonna do a search through MSDN also and see this has come up.
 
Thanks,
Eric
_______________________________________________
Perl-Win32-Admin mailing list
Perl-Win32-Admin@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to