Click to See Complete Forum and Search --> : Services: NT4/2000 vs. XP


sashazur
February 15th, 2002, 06:36 PM
I'm a developer of a software package that includes an NT service that launches a separate .exe as a thread.

On NT4 or 2000 if I try to end the .exe from task manager, I get "access denied" and can't end the process. But when I try this on XP Pro, I am able to end the process.

How do I make XP also give an "access denied"? I don't want anyone to interfere with the service except via control panel/mgmt console.

Here's some background info (true for all the OSes I have tried):
- The service is logging on to the local system account.
- I'm logging on as an admin user.

Thanks,

Alex Benenson
alex@sashazur.com

P.S. I have noticed one different w/XP vs. NT4/2000 on services: if you try to set up an XP service to log on to an admin account other than local system, and that account has no password, you'll get a logon failure when you try to start the service, whereas NT and 2000 don't seem to care.

sashazur
February 15th, 2002, 07:28 PM
Well, I've done more testing, and it doesn't seem to only happen with my service, and it doesn't seem to require a separate thread...

For example, on NT or 2000 if I try to use task mgr to end "spoolsv.exe" (Print Spooler service), I get "access denied", but XP lets me end it.

BUT, if I try to do the same thing to "lsass.exe" (IPSEC services), none of the OSes let me end it; NT/2000 give "access denied" and XP gives "This is a critical system process. Task manager cannot end this process".

So, now my questions are:
- Is this difference between NT/2000 and XP intentional, or a bug in XP?
- If it's intentional, why is it different?
- If it's intentional, is there some way on XP that I can prevent my service (and its threads) from being killed by task manager?

Thanks,

Alex Benenson
sashazur@hotmail.com