问题
I make an application that, when you run it, will put the .exe in Startup. I have this code for that:
RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rkApp.SetValue("smartAppointment", Application.ExecutablePath.ToString());
Will creat a registery for the application to start with the Windows, but there is a problem, some antivirus will detect my application as a virus.
How I can stop the antivirus to detect my application as a virus ?
回答1:
I think any way of having an application automatically attempt to run at startup will be flagged as virus like behavior by any anti-virus system. Just tell your users to approve the change when your solution is installing.
Unless (of course) you are trying to write a virus.
In that case stop.
回答2:
If you need to run at startup, the generally preferred way is to run it as a windows service.
If you need a gui as well, then you should have a gui that talks to the windows service that hosts your application.
回答3:
Typically your installer (MSI) would set the "launch application at startup" registry setting however I think that if your application is digitally signed with an authenticode signature then this problem will disappear.
回答4:
Is your application digitally signed? If not you should try signing your application (you need a public certificate, but that costs money)
Application signing/verification
来源:https://stackoverflow.com/questions/11593404/stop-detect-my-application-as-a-virus