【发布时间】:2010-12-21 04:31:08
【问题描述】:
我不太懂windows UAC...
我需要我的程序能够更新文件并将其添加到属于程序的特定目录。此目录可能是 Program Files 中某个应用程序的子目录,例如 c:\Program Files\MyApp\Data 或者它可能安装在其他位置。
我相信如果它在 Program Files 下,那么我的程序将被阻止在那里写入,除非它以管理员身份运行并提升了它的访问权限。对吗?
我需要能够在不调用提升权限的情况下更新该目录中的文件,并且主应用程序仍然“受保护”,只允许访问该目录。我无法将 Data 文件夹移到其他地方,因为它是我需要与之交互的第 3 方应用程序。
如何确定 Program Files 中的文件夹需要 UAC? Program Files 在某些方面是特殊的还是只是权限?如果我要调整该 Data 子目录的权限,以便运行该程序的用户帐户具有写入权限,这是否允许我的应用程序在没有特殊权限的情况下更新该目录中的文件?
或者有没有更好的方法来实现这一点,我没有想到?我的更新程序需要在 java 中,所以获得提升的权限是一件痛苦的事情。我想我需要编写一个 C++ 包装器来运行 java VM,以便我可以为该包装器提供适当的清单。并非不可能,但我真的不想这样做。
【问题讨论】:
标签: uac