c# - 从安装项目运行应用程序不返回 UI 区域性

标签 c# wpf visual-studio windows-installer visual-studio-setup-proje

我创建了一个本地化的 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/

相关文章:

c++ - 使用 Visual Studio 调试器与不使用调试器运行可执行文件之间的差异

c# - WCF:回调不是异步的

c# - 在 Visual C# Express 2010 中编译时不包含代码更改

c# - WPF 和 WinForms WebBrowser 控件之间存在哪些功能差异?

c# - Wpf - TabItem 标题中的上下文菜单

asp.net - 可以关闭 App_Code 自动编译吗?

c# - 为什么 Application.Restart() 不可靠?

c# - "override"有没有办法用反射的方法?

c# - EF linq,删除所有相关的OwnerId到Id

c# - 如何使用 MVVM 根据 Canvas 大小居中形状