首页 > 解决方案 > Windows Defender 检测到自定义 exe

问题描述

我制作了一个定制的 Java GUI 应用程序来帮助我的一些学生执行矩阵微积分(名称:BCS)。为了有一个自定义图标并尽量减少他们对 jar 文件缺乏经验的问题,我创建了一个 exe,它只运行一个打开我的应用程序的 bat 文件(java -jar BCS.jar)。此外,为了尽量减少外部库及其路径的问题,我使用 Inno Setup 创建了一个自定义安装程序。所有这些在我的 PC 上运行良好,但是当我在实验室的计算机上尝试时,Windows Defender 检测到病毒(?)并删除了创建的目录中的 exe 及其桌面快捷方式。

我尝试在运行 powershell 脚本的 Inno Setup 上添加一条指令,为 BCS 目录添加 Windows Defender 排除项。

内部 INNO 设置

[Run]
Filename: "powershell.exe"; \
      Parameters: "-ExecutionPolicy Bypass -File ""{app}\setup.ps1"""; \
      WorkingDir: {app}; Flags: runhidden

设置.PS1

$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
Add-MpPreference -ExclusionPath $scriptPath
Add-MpPreference -ExclusionProcess "BCS.exe"

这样做,成功添加了排除项。但是在我实验室的电脑上安装后,windows defender 仍然在桌面快捷方式上检测到病毒。BCS 目录中的 exe 没有被修改,但它的快捷方式再次被删除。如何在不禁用应用程序的情况下消除 Windows Defender 警告?我想如果我在桌面快捷方式中添加另一个排除项,就可以了。但是如果用户想把快捷方式放在别的地方呢?任何帮助将不胜感激。对不起,如果我的英语不好,那不是我的第一语言。

标签: powershellinno-setupwindows-defender

解决方案


推荐阅读