C# CultureInfo.CurrentUI安装过程中的文化差异

C# CultureInfo.CurrentUI安装过程中的文化差异,c#,.net,localization,wix,installation,C#,.net,Localization,Wix,Installation,我正在使用WiX安装程序部署我的.Net应用程序。我有一个自定义操作来运行带有特殊参数的应用程序可执行文件,以便将一些本地化文件复制到公共文档文件夹 <CustomAction Id='Foo' ExeCommand='-special-parameter' FileKey='application' Impersonate='no' Execute='deferred'/> 在我的测试机上,我安装了Windows 7 Ultimate(从英文CD安装了x86),并安装了几种其

我正在使用WiX安装程序部署我的.Net应用程序。我有一个自定义操作来运行带有特殊参数的应用程序可执行文件,以便将一些本地化文件复制到公共文档文件夹

<CustomAction Id='Foo' ExeCommand='-special-parameter' FileKey='application' Impersonate='no' Execute='deferred'/>

在我的测试机上,我安装了Windows 7 Ultimate(从英文CD安装了x86),并安装了几种其他语言,我以具有管理员权限的用户身份运行。我已将控制面板中的显示语言设置为法语并重新启动,因为我是按照此指令进行操作的

在我的应用程序中,在上述自定义操作期间,
CultureInfo.CurrentUICulture
返回英语。但是,当我在安装之后运行应用程序时,
CultureInfo.CurrentUICulture
会按预期返回法语


为什么Windows在安装过程中返回错误的区域性?是因为安装程序不是以登录用户身份运行的吗?或者这与Windows是使用英文CD安装的有关?

根据概述的步骤,您尚未更改系统保留帐户使用的语言(可能是从英文CD安装后的英语)。单击“管理”选项卡(在图片中可见),然后单击“复制设置”按钮。从那里您可以对系统帐户进行更改。请尝试,然后再次运行安装程序

跟进:我注意到您的自定义操作设置为“不模拟”。如果是这样的话,您可能也会看到正确的语言。不利的一面是,它可能无法完成它的本意


来源:

模拟设置为True,但我需要管理员权限。@nock:这只是我的观察。我相信我的第一段与你的问题有关。你是对的,复制设置是缺失的部分。