c# – 从安装项目运行应用程序而不返回UI文化

我创建了一个本地化的wpf apllication.要在系统中安装应用程序,我使用了visual studio提供的msi安装程序.完成安装后,我通过运行commit custom action命令运行应用程序.

在应用程序中,我编写了以下代码来获取当前的UI文化

CultureInfo ci = CultureInfo.CurrentUICulture;
string name = ci.Name;

我的系统当前语言是西班牙语,但是在通过安装程序安装应用程序时,它将返回到美国文化,但应保留为西班牙语.关闭应用程序并使用桌面图标再次运行它后,它将返回正确的文化.

任何人都可以帮助为什么它在使用MSI运行应用程序时返回en-US.

最佳答案 它与此有关:

Windows installer using the NT AUTHORITY\SYSTEM instead of login user

从Visual Studio安装程序项目运行的自定义操作使用本地系统帐户运行,而不是使用安装用户的凭据运行.这没有一个很好的解决方案(参见相关链接),因为没有好的方法从安装启动程序,就好像它是从登录的交互式用户启动的.

点赞