2013-03-25 9 views
6

Czy można utworzyć niestandardową kulturę bez rejestracji w systemie Windows? Każde rozwiązanie i dokumentacja odnosi się do klasy CultureAndRegionInfoBuilder z wywołaniem Register po utworzeniu nowej kultury. Jednak rejestracja kultury niestandardowej zmienia kultury widoczne w systemie operacyjnym, a poza tym wymaga uprawnień administratora.Twórz niestandardową kulturę bez jej rejestrowania.

Jeśli nie jest to możliwe, są tam dwa sposoby, aby uniknąć rejestracji nowej kultury:

  1. uniknąć używania niestandardowych kultury tak długo, jak to możliwe, to znaczy trzymać się standardowych kultur. To może działać na razie, ale nie wiem, jak długo.
  2. zarejestruj niestandardową kulturę podczas instalowania aplikacji. Nie jest to opcja, ponieważ nie możemy zagwarantować uprawnień administratora, ponieważ chcemy zdalnie aktualizować aplikację.

Czy są jakieś sposoby?

+0

Czy próbowałeś [CreateFromLdml] (http://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.createfromldml.aspx), który ładuje plik [Zapisz] (http: // msdn .microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.save.aspx) d wcześniej i wdrożyć z aplikacją? – rene

+0

@rene jak wspomniano w witrynie MSDN "W tym momencie można wywołać metodę Register i udostępnić odtworzoną niestandardową kulturę innym aplikacjom.". Tak więc odtworzony kult musi zostać zarejestrowany. Ale nie mogliśmy wywołać metody Register bez uprawnień administratora. –

Odpowiedz

1

Musisz zarejestrować niestandardową kulturę, aby z niej skorzystać.

+0

Tak, ale czy w mojej aplikacji nie ma innej możliwości używania kultury lokalnie? –

+1

Nie ma, ale miejsc, gdzie możesz chcieć użyć jednego (formatowanie liczb, formatowanie daty), weź IFormatProvider lub specyficzne NumberFormatInfo lub DateTimeFormatInfo i możesz przesłonić te wartości. Czy masz konkretne miejsce, w którym wciąż masz dostęp do tych ograniczeń? Konkretny scenariusz, który chcesz włączyć? –

+0

już jestem w porządku ze standardowymi kulturami. Ale możliwe, że będę musiał stworzyć niestandardowe kultury w przyszłości, pewne specyficzne formatowanie. Wtedy na pewno przyjmuję ideę, którą podałeś w swoim komentarzu - będzie można stworzyć niestandardową realizację IFormatProvider dla "specjalnych kultur" i przekazać ją tam, gdzie jest to konieczne. Dzięki! –

Powiązane problemy