我第一次遇到此错误是在尝试用 Java 编写一个程序来执行打包在 .JAR 中的 .EXE 时。起初我以为这个问题与我的程序或 Windows 7 有关,但在另外两台 Windows 7 机器上测试后,我可以得出结论,这个问题只存在于我的笔记本电脑中。
基本上,每当我尝试在“C:\Users\Andy\AppData\Local\Temp”中执行程序时,我都会收到一条拒绝访问的消息,即使我使用的是管理员帐户。我查看了文件夹的权限,只有 Andy 和管理员的条目,这两个条目都没有继承。并且表示从父目录继承权限的复选框被禁用,并且没有勾选。
知道可能出了什么问题吗?
更新:我刚刚登录到内置管理员帐户,并将文件夹的所有权授予我的帐户(我无法从我的帐户执行此操作),现在我可以执行程序了。但是,我很想知道为什么会发生这种情况,以及我还能如何解决这个问题。
答案1
有些防病毒应用程序会阻止从临时文件夹执行。这是因为病毒很可能被下载到该文件夹中。用户必须明确将可执行文件移出该文件夹才能运行。这是额外的安全层。
答案2
首先,感谢@Ramhound 的帮助性评论。
问题确实是由于所有权引起的。但是,这个问题迫使我使用内置管理员帐户,以便将“标准”帐户所有权授予 Temp 文件夹。之后,一切都正常了。
答案3
我刚刚在 Windows 8 电脑上看到了同样的情况。我怀疑如果使用的用户帐户不是机器上创建的第一个帐户,则可能会发生所有权问题。在我的情况下,使用的帐户是这台 Windows 8 电脑上创建的第二个帐户。