我真的不明白窗户UAC .../谅解UAC在Windows Vista上7
我需要我的程序能够更新和文件添加到属于程序中的特定目录。此目录可能是Program Files中应用程序的子目录,例如c:\ Program Files \ MyApp \ Data,或者可能安装在其他位置。
我相信,如果它在Program Files下,那么我的程序将被阻止写入那里,除非它以管理员身份运行并且提高了它的访问权限。那是对的吗?
我需要能够更新该目录中的文件,而不会调用提升的特权,并且主应用程序仍然“保护”,只允许访问该目录。我不能移动Data文件夹,因为它是我需要连接的第三方应用程序。
如何确定程序文件中的文件夹需要UAC?程序文件在某些方面是特殊的还是只是权限?如果我要调整该Data子目录上的权限,以便运行该程序的用户帐户具有写权限,那么允许我的应用程序更新该目录中的文件而无需特殊权限?
还是有更好的方法来实现这一点,我没有想到?我的更新程序需要在Java中,所以获得特权是一个痛苦。我想我需要编写一个C++包装来运行java虚拟机,这样我才能给这个包装一个适当的清单。不是不可能的,但我不想这样做。
我不觉得在这种情况下,它特别是一个肮脏的黑客。该应用程序应该被设计成将Data目录放在用户的文档区域中,而不是在它自己的程序文件下,所以通过授予对它的写入访问权限,我没有授予* good *设计不会给予的任何许可 - 这不是一件好事......至少这是我的理解。 我有2个可执行文件的问题是,这个程序需要在java中,所以这不是一件简单的事情。 尽管如此,+1点还是不错的,只是不太确定我可以轻松做到这一点 – jcoder 2009-12-01 12:12:09
接受此,因为它是正确的答案,我想即使它不是我想要的答案:) – jcoder 2009-12-04 08:18:38