IT is HKLM.  Here's the pertininent code:

my $envKeyName =q{SYSTEM/CurrentControlSet/Control/Session Manager/Environment};
my $envKey = $Registry->{qq{LMachine/$envKeyName}};

unshift @np, @{$orapath{$oraVersion}};
$envKey->{Path} = join(';',@np);

It correctly sets the registry values, but they don't appear in the environment
when starting a new cmd.exe unless you first run the environment variables
applet.

Thanks,

Jared


On Sun, 26 Sep 2004 04:13:08 -0400, sja <[EMAIL PROTECTED]> wrote:
> You need to send a broadcast to "everybody" that the registry has
> changed.
> I've seen the example around before, but don't have one.
> Hope that helps a little in your endevors.
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of
> Jared Still
> Sent: Friday, September 24, 2004 6:14 PM
> To: [EMAIL PROTECTED]
> Subject: Modifying Environment variables in registry
> 
> Hello,
> 
> I have a short script to manipulate the path in Windows
> via Win32::TieRegistry.
> 
> After running the script I can verify via regedit that the changes are
> indeed in the correct place in the registry.
> 
> When I run cmd.exe though, the old PATH remains.
> 
> By merely v the PATH variable in "System Properties"
> and clicking OK, I can run cmd.exe and see the new
> PATH variable.
> 
> Does someone know what needs to be done to force
> the next invocation of CMD.EXE to recognize the new
> path settings?
> 
> Thanks
> 
> --
> Jared Still
> Certifiable Oracle DBA and Part Time Perl Evangelist
> _______________________________________________
> Perl-Win32-Admin mailing list [EMAIL PROTECTED]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
> 
> 



-- 
Jared Still
Certifiable Oracle DBA and Part Time Perl Evangelist
_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to