uac - 了解 Windows Vista/7 上的 UAC

标签 uac

我不太了解Windows UAC...

我需要我的程序能够更新文件并将文件添加到属于程序的特定目录。此目录可能是 Program Files 中应用程序的子目录,例如 c:\Program Files\MyApp\Data,也可能安装在其他位置。

我相信,如果它位于程序文件下,那么我的程序将被阻止在那里写入,除非它以管理员身份运行并且已提升其访问权限。这是正确的吗?

我需要能够更好地更新该目录中的文件,而无需调用提升的权限,并且主应用程序仍然“ protected ”,只允许访问该目录。我无法将数据文件夹移动到其他地方,因为它是我需要与之交互的第 3 方应用程序。

如何确定 Program Files 中的文件夹需要 UAC?程序文件在某种程度上是特殊的还是只是权限?如果我要调整该数据子目录的权限,以便运行该程序的用户帐户具有写访问权限,那么我的应用程序是否可以在没有特殊权限的情况下更新该目录中的文件?

或者有没有我没有想到的更好的方法来实现这一目标?我的更新程序需要使用java,因此获得提升的权限是一件痛苦的事情。我想我需要编写一个 C++ 包装器来运行 java VM,以便我可以为该包装器提供适当的 list 。并非不可能,但我真的不想这样做。

最佳答案

尝试在安装时更改应用程序的目录安全设置,以允许“经过身份验证的用户”写入权限。

关于uac - 了解 Windows Vista/7 上的 UAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1812051/

相关文章:

VB.NET - 背景像 UAC 消息一样淡化?

windows - 批处理脚本、Powershell 和不触发 Windows 中的 UAC

windows-7 - Windows 7 将保存到 Program Files 的文件放在哪里

linux - 像UAC一样自动调用gksudo

c++ - 如何从提升的程序启动提升的控制台 (cmd.exe),就像手动完成一样?

c# - 以中等 UAC 完整性级别运行 CLR 应用程序?

.net - 在域网络中激活UAC的情况下,从用户启动的过程以域管理员身份启动过程

.NET - 启用 UAC (Windows7/Vista) 时,应用程序如何能够 self 更新?

c# - 需要在 Program File 文件夹中写入的 self 更新 .NET 客户端应用程序

测试需要管理权限的程序的安装过程