即使授予用户组完全权限后也无法在 C:\ProgramData\ 中创建文件

2024-07-04

我们有一个应用程序尝试写入 C:\ProgramData\ 文件夹中的 Access 数据库 (.mdb)。在启用 UAC 的计算机上,我们发现访问数据库失败,因为它似乎无法创建锁定文件。默认情况下(可能是由于 UAC)用户(包括管理员)似乎没有写入应用程序文件夹的权限。

我们认为授予“用户”组对此文件夹的完全权限可以解决问题,但这没有什么区别。即使授予“每个人”完全控制权仍然无济于事。解决问题的唯一方法似乎是将数据库移动到另一个文件夹(例如 C:\applicationname),这不是最佳实践,或者通过更改快捷方式以管理员权限运行应用程序。

我们如何才能让普通用户可以在 C:\ProgramData\ 文件夹中写入(并创建文件)?或者我们滥用了这个文件夹?我的印象是,这是放置共享程序数据(对于所有用户)的正确位置,并且许多其他应用程序似乎已将其数据放置在我的计算机上。

Update:

我发现数据库的克隆副本已放入以下文件夹中: C:\Users\\AppData\Local\VirtualStore\ProgramData\

如果我删除该文件夹,应用程序就会正常运行。为什么要创建这个文件夹?我可以以某种方式阻止这种情况吗?是否是因为安装程序没有向 C:\ProgramData\ 中的文件夹的 Users 组授予足够的权限?


是否是因为安装程序没有向 C:\ProgramData\ 中的文件夹的 Users 组授予足够的权限?

事实上,更有可能是安装者没有have有足够的权限直接扰乱“C:\ProgramData\”。 (我thought这个场景听起来很熟悉……)

当微软推出UAC http://en.wikipedia.org/wiki/User_Account_Control他们需要一种方法让旧的应用程序能够继续工作,至少在一段时间内。他们提出了“文件和注册表虚拟化”,其中尝试访问(现在)的遗留应用程序verboten系统文件夹或注册表项将被重定向到它们自己的用户特定的这些资源的“虚拟化”副本。正如维基百科上的文章UAC http://en.wikipedia.org/wiki/User_Account_Control描述它:

假设用户将以管理员权限运行而编写的应用程序在早期版本的 Windows 中从有限的用户帐户运行时会遇到问题,通常是因为它们试图写入计算机范围或系统目录(例如程序文件) 或注册表项(特别是 HKLM)。[4] UAC 尝试使用以下方法来缓解这种情况文件和注册表虚拟化,它将写入(和后续读取)重定向到用户配置文件中的每个用户位置。例如,如果应用程序尝试写入用户没有写入权限的目录,例如“C:\Program Files\appname\settings.ini”,则写入将被重定向到“C:\Users\username” \AppData\Local\VirtualStore\Program Files\appname\settings.ini”。重定向功能仅适用于非提升的 32 位应用程序,并且仅当它们不包含请求特定权限的清单时才提供。[13]

如果您的安装程序请求“以管理员身份运行”权限,那么您应该能够避免此问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

即使授予用户组完全权限后也无法在 C:\ProgramData\ 中创建文件 的相关文章

随机推荐

  • Google 登录使用新的 GoogleSignInOptions 获取访问令牌

    我的 Android 应用程序当前使用 GoogleAuthUtil 来登录用户并获取access token它被传递到后端 下面的代码片段显示创建 GoogleApiClient 并使用 GoogleAuthUtil 获取令牌 mGoog
  • 优化xstream的加载速度

    当我尝试从 XML 文件执行加载时 我感觉 xstream 加载速度达不到我的要求 为了 一个有 10k 条目的 数据库 需要几分钟 以下是我用来序列化的整个数据结构 列表的大小 符号和代码 将为 大约 10k 条目 有什么方法我可以尝试
  • 使用 QProcessEnvironment 更改 cmd.exe 的 PATH 环境变量

    我想从设置了特定路径的 Qt 应用程序启动 cmd exe 我在 QProcessEnvironment 中插入 Path 并将该环境设置为 QProcess 然后我开始分离 cmd 在命令提示符上 路径与调用应用程序的路径相同 而不是我刚
  • CRM2011工作流程:如果工作流程条件中使用的字段在工作流程启动后更新,会发生什么情况?

    示例 假设我有一个工作流程 会在保修结束日期前 2 天发送电子邮件 此工作流在实体 创建 时触发 step 1 wait condition process timeout lt warrantyendate 2 after wait se
  • 使用 Microsoft Excel 绘制 CDF 图表

    我不太确定是否可以在这里或上问这个问题超级用户 https superuser com 我想知道如何绘制CDF http en wikipedia org wiki Cumulative distribution function从我的Ex
  • SQlite - Android - 外键语法

    我一直在尝试让外键在我的 Android SQLite 数据库中工作 我尝试过以下语法 但它给了我强制关闭 private static final String TASK TABLE CREATE create table TASK TA
  • 清单合并 - Android studio 0.8.1 升级构建错误:属性“manifestFile”不存在

    我刚刚升级到 Android Studio 0 8 1 并升级了构建工具等 来自 Android Studio 0 6 但后来我得到了这个构建错误 发现任务配置有问题 processDevelopmentDebugResources 文件
  • 张量流批量稀疏乘法

    我想将稀疏张量乘以密集张量 但在批次内进行 例如 我有一个稀疏张量 其相应的密集形状为 20 65536 65536 其中 20 是批量大小 我想将批次中的每个 65536 65536 与具有密集表示的张量形状 20 65536 中的相应
  • 收据在打印文档中有重叠文本

    我正在 POS 项目中创建打印收据并附上输出的图片 我的问题是描述 数量 价格 金额的重叠 如何在这段代码的下一行显示数量 价格和金额 e Graphics DrawString Description new Font trebuchet
  • Java 类卡枚举示例。修改

    任何帮助深表感谢 我正在使用 java 网站上的类卡示例来尝试构建游戏 http java sun com j2se 1 5 0 docs guide language enums html http java sun com j2se 1
  • OpenCV 图像处理——C++、C、Python

    我正在考虑在一个项目中尝试 OpenCV 并注意到它有 C C 和 Python 我正在尝试确定是否应该使用 C C 还是 Python 并且希望使用具有最佳 OpenCV 支持的任何语言 仅从查看各种文档的索引页来看 C 绑定可能比其他绑
  • 读取 NFC 标签时出现奇怪的字符

    我正在尝试使用 Android 读取 NFC 标签 我是一名养蜂人 这是为了在我接近蜂巢时识别它们 我已经在这里搜索过 但阅读标签时仍然遇到问题 我想阅读文本 但是当它阅读时 在所需文本之前有一个类似正方形的字符和显示为 十 的字符 这是我
  • 让 Android 源中的应用程序编译到 system/app 而不是 data/app 中?

    我正在从源代码编译 Android ROM 并且我有几个可以编译的应用程序 但会编译到手机上的数据 应用程序中 它们可以通过手机设置卸载 我希望它们不可能从手机中卸载 并编译到系统 应用程序而不是数据 应用程序中 有什么建议吗 编辑 错别字
  • 为什么我无法初始化 Map? [复制]

    这个问题在这里已经有答案了 我想存储一组int String值 但是ints 不一定是增量的 这意味着数据可以是 lt 1 first gt lt 3 second gt lt 9 third gt 所以我正在尝试创建与Dictionary
  • Gulp Sass - 如何正确命名输出 css?

    我正在阅读有关 sass 的教程here https scotch io tutorials getting started with sass然后我尝试了其他方法 但在本教程中无法得到答案 这就是问题所在 我的 gulpfile js 中
  • 如何仅针对一项特定修改器更改应用动画?

    如何只申请 animation to offset同时保持其他修改器更改不受其影响 添加 animation偏移后也会使字体大小发生变化 Main view var body some View GeometryReader geo in
  • Androidx 模块,android:attr/ttcIndex 和 android:attr/fontVariationSettings 未找到

    我正在将所有支持 appcompat 库迁移到 androidx 所有更新后 由于此错误 我无法构建我的项目 app processDebugManifest UP TO DATE AGPBI kind error text error r
  • 处理 jQuery 中的所有事件类型

    在使用 jQuery 的应用程序中 我希望每次触发任何类型的事件 包括自定义事件 时都记录到控制台 无论如何 是否可以在不修改 jQuery 源代码并且不绑定到每个可能的事件类型的长列表的情况下执行此操作 var oldTrigger jQ
  • pyqt 中的代码编辑器示例

    我尝试学习一些Qt PyQt 为此 我使用了代码编辑器示例 http doc qt io qt 4 8 qt widgets codeeditor example html的文档 当前行的突出显示效果很好 但行号不显示 实际上LineNum
  • 即使授予用户组完全权限后也无法在 C:\ProgramData\ 中创建文件

    我们有一个应用程序尝试写入 C ProgramData 文件夹中的 Access 数据库 mdb 在启用 UAC 的计算机上 我们发现访问数据库失败 因为它似乎无法创建锁定文件 默认情况下 可能是由于 UAC 用户 包括管理员 似乎没有写入