当前位置: 首页 > 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.jsqmd.com/news/874472/

相关文章:

  • 云原生监控体系建设:打造全方位的可观测性平台
  • 【码上爬】 题十九:法外狂徒 相应数据加密还原,堆栈分析,扣代码
  • 阿里校招工程岗0427真题【连连看】
  • 大模型也吃“人类话术”这一套?PNAS 新论文给测试人提了个醒
  • 朋友圈广告怎么测素材?程序员也能看懂的A/B法
  • 基于Intel Myriad X VPU的星载AI视觉系统:从算法优化到航天工程实践
  • 技术人的持续学习:保持竞争力的完整指南
  • 2026工业离心风机优质供应商推荐:高温尾气风机、高温引风机、高温循环风机、高温烟气风机、高温热风循环风机、110KW隧道风机选择指南 - 优质品牌商家
  • “这个需求能按时上线吗?”——Claude实时项目健康度仪表盘上线倒计时:仅剩最后87家企业内测资格
  • 2026四川灌胶机优质厂家推荐榜高性价比之选:全国点胶机厂家/全自动点胶机/双液灌胶机/双液点胶机/灌胶自动生产线/选择指南 - 优质品牌商家
  • Claude能写出可上线的代码吗?——20年DevOps老兵用CI/CD流水线+SonarQube+人工Code Review三重验证结果
  • 抖音视频批量下载神器:5分钟学会去水印批量下载
  • AI Agent重构旅游服务链:从咨询到售后,5个正在被颠覆的传统环节
  • 2026年近期重庆地区成人高考培训机构综合评估与选择指南 - 2026年企业推荐榜
  • 2026医药级麦芽糖靠谱供应商推荐榜:麦芽糖批发多少钱/98%以上麦芽糖/医药级麦芽糖/高纯度麦芽糖/麦芽糖公司批发/选择指南 - 优质品牌商家
  • SleeperX:革命性macOS智能睡眠管理工具,重新定义你的电源控制体验
  • 云原生数据库管理:在Kubernetes上运行数据库的完整指南
  • kubernetes的存储机制Local卷管理
  • Codex五大重磅更新:Appshots、/goal、标注模式等新功能一文看懂
  • Kubernetes多租户管理:实现资源隔离与安全的完整指南
  • 从银色子弹,到《人月神话》,再到AICoding与个人开发的思考
  • Pixel 3 刷入AOSP改良版 FartExt 脱壳机实录
  • AI新人防迷茫指南:一篇文章带你掌握机器学习入门路线
  • 2026成都塑料模板工厂怎么选:成都挡墙钢模板、成都桥梁钢模板、成都盖梁钢模板、成都箱梁钢模板、成都钢模板多少钱选择指南 - 优质品牌商家
  • BSW-DCM
  • 2026合肥工商年报代申报权威机构技术能力实测解析:合肥小规模纳税人代账、合肥工商代账、合肥工商注册代理、合肥注册公司名称核准选择指南 - 优质品牌商家
  • 2026高低温一体机控温性能深度评测报告:高低温恒温一体机、高低温恒温循环装置、高精度TCU温控系统、TCU冷热控温系统选择指南 - 优质品牌商家
  • Cursor Free VIP终极指南:三步实现AI编程助手永久免费使用
  • TinyML视觉滤波器相似性分析与量化压缩实战指南
  • 2026化工园区电缆桥架优质厂家推荐榜:不锈钢电缆桥架/喷塑桥架/大跨距电缆桥架/梯式热浸锌桥架/梯式热镀锌桥架/选择指南 - 优质品牌商家