The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Why does Windows Defender block my startup program? How to resol

Hello everyone! I have a problem that other people may have as well. I added my program into Windows Startup, the registry entry is locate at CURRENT_USER/.../Run. Everytime Vista starts up, Windows Defender blocks my program. I found that my program hadn't got the signature certification. So as Google Talk, but it hasn't got signature certification too.

Can I resolve this problem by programming but not only let users resolve it themself?

Wednesday, February 07, 2007
 
 
If you could resolve this problem programatically, so could malware authors.

Wednesday, February 07, 2007
 
 
According to http://en.wikipedia.org/wiki/Windows_Defender it blocks all startup programs that require admin rights to run. The only programmatic workaround is to adjust the program so it doesn't need admin rights.
Adam
Wednesday, February 07, 2007
 
 
You should make sure that your program runs under a Limited User Account first under Windows XP. I would guess that it doesn't. Start there and then move on to Vista.
dood mcdoogle
Wednesday, February 07, 2007
 
 
Yep. But Spyware Doctor did! It will delete the registry key/value, so it has to use the admin rights. But Spyware Doctor and other Anti-Virus product didn't get blocked. I think there are 2 reasons:

(1)They got the code signature, so Vista "Trust" it.
(2)They used some manifest file within the program that resolved this problem.

Any tip?

Thursday, February 08, 2007
 
 
So what if another program can get away with bad behavior? That's like the little bad tempered kid saying "well Johnny was doing it too!". That doesn't make it right.

Why are you fighting the notion of actually fixing your program so that it works correctly according to the Windows logo requirements? Finding some hack to get it working is not really solving the problem. It is only postponing the inevitable.

Is there a reason why your application needs admin privileges to run? I can't think of a single user application that really does. You may be the one in a million but I seriously doubt it.

And be sure to test on Vista running as a standard user and not just as an admin. Slightly different rules apply.

Good luck.
dood mcdoogle
Thursday, February 08, 2007
 
 
Put a shortcut in the Startup folder instead. This is designed for this purpose. It is easy for a user to understand and remove the shortcut if they want to.

The Run registry key is more hidden and sneaky. It is harder for the *average* user to remove or change the settings. I'm not surprised Vista is cracking down on this. Far too many programs run an update/preload/background process from the Run key without the users permission.
Adrian
Thursday, February 08, 2007
 
 
"Far too many programs run an update/preload/background process from the Run key without the users permission. "

And many of them do it even when you tell them not to! Let's all say it together.... "QUICKTIME SUCKS".
ANON
Thursday, February 08, 2007
 
 
So, if I put my program in Startup menu it will not be blocked?

Thursday, February 08, 2007
 
 
It could still be blocked. Just test it and see. What kind of program is it?
ANON
Thursday, February 08, 2007
 
 
It's a system ulitie program that will tweak registry. (LOCAL_MACHINE). It need the admin rights and UAC feature is enabled. I think this is the real reason. But Spyware Doctor will remove registry value too, how does it not get blocked?
Tim
Thursday, February 08, 2007
 
 
Basically, it looks like you're SOL:
http://blogs.msdn.com/uac/archive/2006/08/23/715265.aspx
Mark Pearce Send private email
Friday, February 09, 2007
 
 
From the comments on that article Mark linked it seems there is actually a workaround - you can create a service that makes the changes.

Obviously you'd need administrator rights to get the service installed, and you'd have to be careful not to introduce a security hole through the service...
Adam
Friday, February 09, 2007
 
 
Creating a service is really the way to go. This is how anti-virus programs get around this issue. Your actual GUI then talks to the service.
dood mcdoogle
Friday, February 09, 2007
 
 
Thus begans the new breed of "windows service" spyware.  At least it is more visible, I supose.
Cory R. King
Saturday, February 10, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz