Tim Johnson wrote:

> Win32::TieRegistry will do what you want.
>
> use Win32::TieRegistry (delimiter => '/');
> my $run = 
> $Registry->{'HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run'};
> $run->{'MyApp'} = "My Application";
>
> etc., etc.

That looks like a good example of the crap that we need to scour from our registries.  
Please
don't recommend virus-like program behaviors.  A well-managed Windows machine should 
have
nothing--zilch--nada--in this key.  This is the spammers key.  Please recommend only 
deleting
all values from it.  Windows does provide other means to set up legitimate services 
that truly
need to start with the OS.

I'm sorry if this sounds harsh.  You see, my "day job" is maintaining, setting up--and
de-idiotizing--user-end, mostly Windows, machines.  The nastiest problems I see come 
when my
colleagues decide to download and install some new software, usually for music or video
channels, and find that their little cotton-candy app has taken over their 
workstation.  I
have to clean up the mess afterward, and often these apps don't want to cooperate.  
This
process has left me with a somewhat jaundiced view towards applications that try to 
push
themselves to the forefront.  If a user wants an application to run, he or she can
double-click a clearly labelled icon to get their desired functionality.

To the OP, I would say that this is a very ambitious undertaking.  Since unethical 
software
vendors can and will slime their keys into almost any part of the Registry, it really 
takes a
lot of scouring to hunt them down.  One place to start is by finding the references in
HKEY_CLASSES to any extensions the app has nabbed.  These are often associated with 
128-bit
GUIDs, shown in bracketed hex, by which other associations are made.  You have to 
trace the
GUIDs, any type names associated, etc., and you still can't be certain that you've 
gotten
everything.  You should also seek in HKEY_LOCAL_MACINE\SOFTWARE\VendorName\AppName\ to 
get the
more transparent keys that legitimate installers will use as a guide.

To do this programatically, you should first try doing it by hand, to better 
understand how
applications are insuated into the Registry.

If I have some time in the next couple days, I'll try to make a short list of the 
tracer
methods that might help.

Josep[h


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to