为什么通过 .cmd 文件启动 exe 可以使其正确运行,而正常双击启动却会出现错误?

为什么通过 .cmd 文件启动 exe 可以使其正确运行,而正常双击启动却会出现错误?

我会尝试解释一下。我有一个 exe,在 Windows 10 PC 上我们将其称为 foo.exe。

如果我双击此文件 - 无论是通过桌面上的快捷方式还是通过文件资源管理器双击 - 它都会引发错误(此时错误细节并不重要,但我相信它可能试图调用某些 dll 并失败)。

但是,如果我创建一个 .cmd 文件,内容是“启动 foo.exe”,它就可以正常运行——没有错误,程序完全正常运行。

我想知道启动模式之间的功能差异是什么,并且我倾向于它运行的安全令牌。

所以基本上,如果我只是简单地双击,就会得到火与硫磺。
但是,如果我:A. 从 .cmd 文件运行它或 B. 以管理员身份运行或 C. 启动疑难解答兼容性功能(右键单击)。这些错误不会发生。它似乎不是兼容性问题,因为:a. 它通过 .cmd 文件或以管理员身份运行运行良好 b. 如果我保存所选的兼容模式,下次双击时仍会出错。

我被这个搞死了——它是一个供应商的 .exe,所以我没有源代码,也不能提供它调用的 dll 等任何详细信息。我只是在寻找第二个高层人士来观察为什么通过不同的启动方法运行可以使一个简单的 exe 运行良好。

这个相同的 .exe 在 Windows 7 中没有这个问题——这种行为是 Windows 10 的新行为。我听说 Windows 10 中有一个默认功能,无论用户是超级管理员还是访客,它都会在最低权限令牌下运行任何东西,这是我倾向的,但我不确定,也不知道该如何解决它。谢谢!

相关内容