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 ?
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.
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.
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.
Is your application digitally signed? If not you should try signing your application (you need a public certificate, but that costs money)
来源:https://stackoverflow.com/questions/11593404/stop-detect-my-application-as-a-virus