我有一台 Windows 10 Pro 机器(版本 10.0.18362)和一个test.exe
我自己创建的可执行文件。
可执行文件cmd
在其他 Windows 机器(包括其他 Windows 10 Pro 机器)的终端上运行良好,但在这台机器上却不行。没有错误,没有输出,什么都没有。一个新的提示只是出现在终端下方cmd
,中间什么都没有。这是令人费解的部分。
为什么 Windows 拒绝运行可执行文件,或者显示任何错误?我该如何“解除阻止”并使其运行?
我尝试用 Google 搜索这个问题,并找到了如下建议(例如这里或者这里):
- 禁用 Defender 和防火墙(没有帮助)
- 编辑组策略设置并
cmd
以管理员身份运行(没有帮助),或者 - 编辑注册表(没有帮助)
还有其他想法吗?
test.exe
是通过运行pyinstaller --onefile test.py
以下(简单的)Python 3.7 程序创建的:
print("Success")
同样,相同的可执行文件在其他 Windows 机器上运行良好。
没有运行防火墙、防病毒软件、防御程序或防护罩。我正在正确的目录中运行正确的可执行文件。
编辑:刚刚发现另一条线索:如果从 U 盘运行,相同的可执行文件可以工作。如果从 C: 盘运行,则无法工作。
哪些设置或过程可能导致这种情况?
答案1
也许尝试添加--win-private-assemblies
,以便它不会尝试使用该特定系统上可能存在的较新的库:
捆绑到应用程序中的任何共享程序集都将更改为私有程序集。这意味着这些程序集的确切版本将始终被使用,并且系统级别上安装在用户计算机上的任何较新版本都将被忽略。
另外,请确保您实际上并没有从根目录C:\
或其他受保护区域运行。