【发布时间】:2016-06-29 06:26:50
【问题描述】:
我创建了一个 C# 应用程序,用于为客户端部署一组非常特定的应用程序。此应用程序包含根据客户的请求在单个可执行文件中完整部署我们的整个应用程序套件所需的所有资源 - 在嵌入之前进行压缩。
但是,此应用程序非常大 (150mb),每次启动时,都会触发来自 Windows Defender 或客户端 AV 的病毒扫描。这会导致加载时间过长,超过 5 分钟。
有没有办法对我的应用程序进行签名或以其他方式将其列入白名单,以便病毒扫描程序在加载时不会对其进行扫描?随着内容的变化,应用程序会在每次部署时更改其签名。我已经尝试将它所在的目录列入白名单,将文件路径列入白名单,但不管病毒扫描程序不断触发。
我已通过以下操作确认它是病毒扫描程序:
1) 应用程序启动时,病毒扫描进程会占用整个 CPU 内核
2) 将 Debugger.Launch() 调用作为应用程序中的第一个 LOC 调用几分钟后不会被调用
2) 禁用病毒扫描程序后,应用程序在 5 秒内加载完毕。
不幸的是,禁用病毒扫描程序不是客户端的选项。我在开发部署应用程序时在本地使用它,但是在客户端的机器上关闭它——或者甚至建议关闭它——不会很好,而且有充分的理由。
【问题讨论】: