c++ - 更新 ProgramData 目录中的配置文件时访问被拒绝。我该如何解决?

标签 c++ windows winapi permissions installation

我似乎无法更新 c:\ProgramData\appname\config.ini 中的配置文件。我不断收到拒绝访问错误。似乎 ini 代码在尝试用新文件更新时无法删除现有的 .ini 文件。有趣的是,我编写的其他程序共享相同的代码,但没有这个问题。这令人不安。

将我的工作程序与这个非工作程序进行比较,我注意到当我单击 ini 文件的安全选项卡时,我看到我的用户名 [Scott] 没有像工作程序中那样列在“组或用户名”下程序的ini文件。此外,非工作的在删除和重命名旁边有一个盾牌(当右键单击文件名时),而工作的则没有。如何设置权限?这两个项目的安装文件是相同的,当我在 Isso Setup 中创建文件夹并复制程序文件时,没有设置任何权限(未设置只读标志,未设置隐藏,未设置系统)。

为什么我得到这个以及我的其他程序如何安装并正常工作?安装程序以管理员身份运行,并进行访问权限提示。我需要做什么?

最佳答案

这是因为您的程序不是以管理员身份运行的。您必须以管理员身份运行您的程序,或者将您的 .ini 文件和您希望在程序运行期间更新的任何其他文件移动到 C:\Users\\AppData\Local\等位置。请注意,对于后一种选择,您必须同样更新您的程序。
要以管理员身份运行您的程序,请右键单击您的程序(或快捷方式),然后单击以管理员身份运行

关于c++ - 更新 ProgramData 目录中的配置文件时访问被拒绝。我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3739662/

相关文章:

c++ - 使用 Qt 在后台线程中定期执行某些 lambda func 的正确方法是什么?

c++ - 如何在没有管理权限的情况下为我的应用程序实现自动更新

c# - 如何从 C# 或 VB.Net 使用 Win32 'DwmSetIconicThumbnail'?

c++ - HWND 删除上面绘制的内容;无法追踪

c++ - 在 C++ 代码库中使用 Ragel 解析字符串的原因是什么?

c++ - 如何使用boost::spirit解析UTF-8?

javascript - Windows 上的 Git Hook 无法识别 Node

winapi - 为什么我们在使用ExitWindowsEx之前需要添加SE_SHUTDOWN_NAME权限

c++ - 本地对象可以完全存在于 C++ 中的硬件寄存器中吗?

c++ - 如何在 PlaySound 中将字符串作为 WAV 的名称传递?