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