在测试过程中,我们时常会遇到软件在法语、德语的Windows平台部署失败的情况,典型错误信息如下:
2016-05-22T16:02:07.768Z (1332,’LookupAccountName’, ‘Le mappage entre les noms de compte et les ID de xxx.’)
在国际化测试过程中,安装或升级失败的场景最容易出现在法语、德语的Windows环境下。究其原因,则是因为微软对其管理员账 Administrator进行了预先的本地化,所以法语环境中管理员不再是Administrator而是Administrateur。开发人员一旦疏忽该细节,继续调用管理员用户Administrator,则必然导致程序异常。
这里以C#代码为例,提供了一种在不用语言的Windows环境下,获取管理员账 名的方法。
另外我们应该注意到,该问题并非法语环境特有,在不少本地化过的Windows环境中都存在,可以通过以下连接得到全部详细信息。
http://social.technet.microsoft.com/wiki/contents/articles/13813.localized-names-for-administrator-account-in-windows.aspx
另一个普遍存在又与此相关的国际化问题是管理员权限组名,在英文环境中称作Administrators’ group而德语Windows中则命名为Administratoren。为此,微软提供了叫做SID (Security Identifier)的解决方案,其中包含了一系列常用的SID,详细信息可参见http://support.microsoft.com/kb/243330
管理员账户名就在其中,其对应的SID为S-1-5-21domain-500,而管理员组的SID则为SID S-1-5-32-544。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!