slloyd has asked for the wisdom of the Perl Monks concerning the following question:
According to the Win32::TieRegistry documentation, I can call the Flush() method to Flush "all cached information about the Registry key so that future uses will get fresh data from the Registry." But for some reason, my $LmRegAfter is the same as my $LmRegBefore. Any suggestions would be appreciated.
use strict; use Win32::TieRegistry ( Delimiter=>"/", ArrayValues=>0 ); #snapshot registry before install my $LmRegBefore = $Registry->{"LMachine/Software/"}; #Run the installation program - much harder in real life, but this is +a test script :) my $install='path to install to run'; system($install); #Flush the reg subkey my $r=$Registry->{"LMachine/Software/"}->Flush(); print ("Flushing LMachine[$r]"); #snapshot registry after install my $LmRegAfter = $Registry->{"LMachine/Software/"}; registryChanges($LmRegBefore,$LmRegAfter); ############# sub registryChanges{ my $regBefore=shift; my $regAfter=shift; foreach my $key (keys(%{$regAfter})){ if(!defined $regBefore->{$key}){ my $val=$regAfter->{$key}; $change{$key}=$val; print "registryChanges[$key]=[$val]\n"; } } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Capturing Win32 registry changes made by a software installation
by massa (Hermit) on Sep 01, 2008 at 15:36 UTC | |
by slloyd (Hermit) on Sep 01, 2008 at 15:51 UTC | |
|
Re: Capturing Win32 registry changes made by a software installation
by BrowserUk (Patriarch) on Sep 01, 2008 at 16:25 UTC | |
|
Re: Capturing Win32 registry changes made by a software installation (unflush)
by tye (Sage) on Sep 01, 2008 at 15:28 UTC | |
|
Re: Capturing Win32 registry changes made by a software installation
by ldln (Pilgrim) on Sep 01, 2008 at 18:42 UTC | |
|
Re: Capturing Win32 registry changes made by a software installation
by GrandFather (Saint) on Sep 01, 2008 at 21:34 UTC | |
|
Re: Capturing Win32 registry changes made by a software installation
by Anonymous Monk on Sep 01, 2008 at 15:22 UTC |