Запущенное приложение из проекта установки не возвращает культуру пользовательского интерфейса - PullRequest
0 голосов
/ 29 июня 2018

Я создал локализованное приложение wpf. Для установки приложения в системе я использовал msi installer , предоставляемый Visual Studio. После завершения установки я запускаю приложение с помощью команды commit custom action. В приложении я написал приведенный ниже код для получения текущего пользовательского интерфейса

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

Текущий язык моей системы - Испанский , но при установке приложения через установщик он возвращается к en-US культуре, но должен оставаться Испанский . Как только я закрываю приложение и снова запускаю его, используя значок на рабочем столе, оно возвращается к правильной культуре.

Может кто-нибудь помочь, почему он возвращает en-US при запуске приложения с использованием MSI.

1 Ответ

0 голосов
/ 29 июня 2018

С этим связано:

Установщик Windows, использующий NT AUTHORITY \ SYSTEM вместо имени пользователя для входа в систему

Пользовательские действия запускаются из проектов установки Visual Studio, выполняемых с локальной системной учетной записью, а не с учетными данными пользователя, выполняющего установку. Для этого нет хорошего решения (см. Соответствующую ссылку), потому что нет хорошего способа запустить программу из установки, как если бы она была запущена вошедшим в систему интерактивным пользователем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...