我创建了一个本地化的wpf应用程序。为了在系统中安装应用程序,我使用了Visual Studio提供的 msi installer 。安装完成后,我通过运行commit custom action
命令来运行应用程序。
在应用程序中,我编写了以下代码以获取当前的UI文化
CultureInfo ci = CultureInfo.CurrentUICulture;
string name = ci.Name;
我的系统当前使用的语言是西班牙语,但是通过安装程序安装应用程序后,它恢复为en-US
的文化,但应保持 Spanish 。一旦我关闭该应用程序并使用桌面图标再次运行它,它就会返回正确的区域性。
任何人都可以帮助为什么它在使用MSI运行应用程序时返回 zh-CN 。
答案 0 :(得分:1)
与此有关:
Windows installer using the NT AUTHORITY\SYSTEM instead of login user
从Visual Studio安装项目运行的自定义操作使用本地系统帐户运行,而不使用安装用户的凭据运行。对此没有一个好的解决方案(请参阅相关链接),因为没有从安装中启动程序的好方法,就像从登录的交互式用户启动程序一样。