当前位置: 首页 > news >正文

解决Arm编译器在非英语Windows安装时的权限错误

1. 问题现象与背景解析

在非英语语言环境的Windows系统上安装Arm Compiler for Embedded 6.20时,许多开发者会遇到一个令人困惑的错误提示:"NT AUTHORITY\Authenticated Users is not a valid user or group"。这个错误通常发生在安装程序尝试设置目录权限时,具体表现为安装进程中断并显示以下信息:

An error occurred while applying security settings.
NT AUTHORITY\Authenticated Users is not a valid user or group.
This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or cancel to end the install.

这个问题的根源在于安装程序对系统用户组的识别机制存在缺陷。在非英语Windows系统中,系统内置的用户组名称会随系统语言变化(例如中文系统中的"Authenticated Users"对应"经过身份验证的用户"),但安装程序却硬编码了英语版的组名,导致权限设置失败。

2. 问题深层原因分析

2.1 Windows安全标识符(SID)机制

Windows实际上并不直接依赖用户/组名称来识别主体,而是使用安全标识符(SID)。"Authenticated Users"对应的固定SID是"S-1-5-11",这个值在所有语言版本的Windows中都相同。理论上,安装程序应该使用SID而非名称来设置权限,但Arm Compiler 6.20的安装程序错误地采用了名称比对的方式。

2.2 多语言系统兼容性问题

在以下语言环境中此问题尤为常见:

  • 中文简体/繁体
  • 日语
  • 韩语
  • 欧洲语言(法语、德语、西班牙语等)

安装程序没有正确处理本地化用户组名的映射关系,导致在检索系统用户组时失败。这不是网络或域控制器问题(尽管错误提示可能误导用户这样认为),纯粹是安装程序的本地化缺陷。

3. 官方解决方案与验证

Arm官方已确认这是一个已知问题,并在后续版本中修复。建议采取以下步骤:

  1. 访问Arm Product Download Hub
    登录Arm官方账号,导航至产品下载中心(需有效许可证)。

  2. 下载最新版本编译器
    当前最新稳定版本已修复此问题,直接获取最新安装包是最稳妥的解决方案。

  3. 版本兼容性检查
    虽然建议升级到最新版,但如果你必须使用6.20版本,可尝试以下替代方案。

4. 临时解决方案(适用于必须使用6.20的情况)

4.1 修改系统区域设置(需管理员权限)

  1. 打开控制面板 → 区域设置
  2. 切换到"管理"选项卡
  3. 点击"更改系统区域设置"
  4. 临时更改为"英语(美国)"
  5. 重启系统后尝试安装
  6. 安装完成后可恢复原区域设置

注意:此方法可能影响其他本地化应用程序,建议在虚拟机或测试环境中使用。

4.2 手动权限设置(高级用户)

  1. 使用管理员权限启动命令提示符
  2. 运行以下命令添加权限:
    icacls "C:\安装路径" /grant "NT AUTHORITY\Authenticated Users":(OI)(CI)F
  3. 然后尝试安装,安装程序会跳过权限设置步骤

4.3 使用英文版Windows用户账户

  1. 创建一个新的英文用户名(如"arm_install")
  2. 用该账户登录系统
  3. 执行安装程序

5. 安装后的验证步骤

无论采用哪种解决方案,安装完成后都应验证编译器功能:

  1. 打开Arm Development Studio或Keil MDK
  2. 创建简单的测试项目(如LED闪烁示例)
  3. 检查编译日志中显示的编译器版本
  4. 确认没有出现权限相关的警告信息

6. 深度技术探讨:Windows安装程序的最佳实践

从这次事件中可以总结出一些软件开发经验:

  1. 永远使用SID而非名称
    在编程处理Windows权限时,应优先使用ConvertStringSidToSidAPI转换已知SID,而不是硬编码用户组名称。

  2. 多语言测试矩阵
    软件发布前应在至少5种主流语言环境的Windows上进行安装测试:

    • 英语
    • 中文
    • 日语
    • 德语
    • 西班牙语
  3. 安装程序容错设计
    当权限设置失败时,应该:

    • 记录详细错误日志
    • 提供跳过选项
    • 在安装完成后提示用户手动验证

7. 延伸阅读:Arm编译器版本管理建议

为避免类似问题,建议建立以下版本管理策略:

  1. 版本选择原则

    LTS版本 → 最新稳定版 → 历史版本
  2. 环境准备清单

    项目推荐配置最低要求
    操作系统Windows 10 21H2英文版Windows 7 SP1
    磁盘空间10GB可用5GB可用
    权限本地管理员可提权账户
  3. 常见问题速查表

    错误现象可能原因解决方案
    权限设置失败非英语系统使用最新版或临时切区域
    许可证无效时钟不同步同步NTP服务器
    编译错误路径含中文使用全英文路径
http://www.gsyq.cn/news/1362401.html

相关文章:

  • 去偏机器学习在交通行为因果推断中的应用:从关联分析到因果效应评估
  • 告别黑屏!保姆级教程:在Ubuntu 22.04上完美配置XRDP远程桌面(含防火墙与性能优化)
  • 别再硬算Lasso了!用Python手撸OMP算法,5分钟搞定图像去噪实战
  • 医考app哪个比较好?2026年四款主流医考App深度横评(医路赢家/医考帮/蓝基因/丁香医考)
  • Windows 11下如何干净卸载MATLAB R2020b?手把手教你为MATLAB 2023a腾出空间
  • SRC 漏洞挖掘实战|反射型 XSS 漏洞详解、复现全流程与 SRC 报告模板
  • UE5 Paper2D源码精读:PaperTileMapComponent渲染与数据设计解析
  • 抖音视频批量下载神器:5分钟学会去水印批量下载
  • SOMNUS模型:基于深度学习的睡眠分期技术解析
  • 2026成都塑料模板工厂怎么选:成都挡墙钢模板、成都桥梁钢模板、成都盖梁钢模板、成都箱梁钢模板、成都钢模板多少钱选择指南 - 优质品牌商家
  • Linux内核性能调优实战:用ftrace揪出导致系统卡顿的369微秒元凶
  • 两个世界的同一种崩溃:从窗口黑屏到宇宙热寂的同构联想
  • AI驱动的高能物理探测器协同优化设计与实践
  • 阿里校招工程岗0427真题【波峰波谷】
  • 【独家】26电工杯a题b题完整版解答来啦!含论文与可执行代码
  • 2026年当前,江苏地区静电地板批发厂家深度解析与亚克基推荐 - 2026年企业推荐榜
  • React 从入门到生产(八):测试与部署
  • 【成为AI产品经理】12周搞定AI Agent与RAG:从入门到工程实战的完整学习路线
  • SEAM方法:用对抗性遗忘与选择性恢复高效移除模型后门
  • Unity游戏多语言热更新实战:AutoTranslator核心机制与避坑指南
  • 从零到亿级调用量:电商客服Agent重构实录(含对话状态机+意图跳转图+人工接管SLA协议)
  • Flutter+React Native如何真正实现Lovable?跨端情感一致性开发规范(仅限内部团队流通版)
  • 别再手动跑Jupyter了!Lindy标准化流程强制接管你的分析工作流(仅剩最后23个企业未迁移)
  • 抖音无水印视频下载实战:突破平台限制的高效内容获取方案
  • Pixel 3 刷入AOSP改良版 FartExt 脱壳机实录
  • ViVeTool-GUI终极指南:Windows隐藏功能控制的完整解决方案
  • BSW-DCM
  • 2026年电磁加热回转窑应用白皮书烘干行业剖析:电蒸汽发生器厂家/电蒸汽炉厂家/电蒸汽锅炉厂家/电锅炉厂家/电加热回转窑厂家/选择指南 - 优质品牌商家
  • 公差±0.005mm加工厂家有哪些?精密CNC稳定控差的工艺逻辑
  • 免费开源AMD Ryzen调试工具:释放硬件潜能的全方位指南