我开发了一个 Python 代码,并将其转换为.exe
withpyinstaller
但问题是没有发布者,因此每次计算机运行我的程序时,Windows Defender 都会抛出一个警报,提示没有发布者,因此程序不确定.. .
有谁知道如何将发布者从无更改.exe
为某事或如何在 Publisher 中实施pyinstaller
?
我开发了一个 Python 代码,并将其转换为.exe
withpyinstaller
但问题是没有发布者,因此每次计算机运行我的程序时,Windows Defender 都会抛出一个警报,提示没有发布者,因此程序不确定.. .
有谁知道如何将发布者从无更改.exe
为某事或如何在 Publisher 中实施pyinstaller
?
简短的回答是这与 PyInstaller 无关。这是最新版本的 Windows 中任何 exe 的普遍问题。您现在需要对您的 exe 进行“代码签名”。这实际上是一个伪装成增强安全性的赚钱计划。
例如,您可以从digicert 购买证书。他们是 MS 将自动识别的大型授权代理之一。 https://www.digicert.com/code-signing
或谷歌“代码签名”其他选项。
您也可以免费自行签名。查看此 SO 帖子: 签署 Windows EXE 文件
自签名的问题是用户必须先安装您的自定义密钥才能识别您签名的 exe。但是......如果你想通过麻烦来节省几块钱,那么首先有一些技巧可以静默安装。
这是 Windows Defender 的已知误报。在 Windows 10 VM 上测试时,我的文件也会发生这种情况,其他人也会发生这种情况。此外,即使使用其他防病毒软件,Windows Defender 的“Smartscreen”也可能会阻止任何未签名的文件,但您应该能够单击更多信息,然后继续
您可以从 Windows Defender 中排除该文件,但最好的解决方案是使用其他防病毒软件,因为 Windows Defender 无论如何都不是很好。(这不仅基于我的经验,还基于 AV 测试)我不确定还有哪些其他防病毒软件具有相同的误报,但我知道有一些。
您还可以在 VM 上进行测试,您可以在其中禁用 Windows Defender 和 Smartscreen,同时在主机系统上保持启用状态。(VirtualBox 是一款出色的 Windows 版免费 VM 软件)