windows-7 - 围绕 Windows UAC 限制进行设计的正确方法?

标签 windows-7 windows-vista installation uac

我发现如果 UAC 在任何级别启用,我编写的应用程序在 Windows Vista/7 下无法正常工作,因为它将文件写入程序的安装目录,默认为“C:\Program Files\MyProgram”。如果 UAC 被禁用(或在任何其他版本的 Windows 上),它会正常工作 - 我读到 UAC 默认拒绝应用程序对 Program Files 目录的写访问。

我的问题是,我应该如何编写我的应用程序,以便它可以在根本不需要任何“权限”的情况下使用。我不希望用户必须以提升的权限或以管理员身份运行它。我只是想让它工作。是否有任何应用程序在 UAC 下具有写入权限的某些目录,在那里写入我的文件可能更好?它们主要是动态创建/销毁/更新的配置文件。

谢谢你的帮助!

最佳答案

每个用户的应用程序特定数据应写入 AppData 文件夹中。

您应该使用 SHGetKnownFolderPath使用 FOLDERID_LocalAppData。

在托管代码中,您应该使用 System.Environment.GetFolderPath与 System.Environment.SpecialFolder.LocalApplicationData。

关于windows-7 - 围绕 Windows UAC 限制进行设计的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1358422/

相关文章:

python - 使用 python 让 gstreamer 在 Windows 7 上工作

visual-studio - Visual Studio 2013 Ultimate 无法安装 Windows 7 SP1

c++ - Microsoft Visual Studio 2008 C++ 错误 LNK2001,Windows Vista 64 位

installation - 哪里可以下载最低限度的 JRE?

windows - NSIS 安装程序 - 定义安装程序和系统 x32/x64

windows - 如何让我的程序在 Windows 7 启动时以不同的权限运行?

c# - 无法获得在 VS2010 中使用 IISOle 对象的引用

.Net 3.5 Windows 窗体应用程序 : x86 vs x64 load times on 64 bit Vista

macos - 如何配置 Vista Ultimate(64 位)帐户,以便它可以访问 OSX 上的 SMB 共享?

c++ - 为 qt 安装小部件