2013-03-25 2 views
6

È possibile creare una cultura personalizzata senza registrarla in Windows? Ogni soluzione e documentazione si riferisce alla classe CultureAndRegionInfoBuilder con chiamata Register dopo che è stata creata una nuova cultura. Ma la registrazione della cultura personalizzata altera le culture visibili nel SO e inoltre richiede i privilegi di amministratore.Creare cultura personalizzata senza registrarla

Se non è possibile che ci stanno due modi per evitare la registrazione di una nuova cultura:

  1. evitare l'uso di cultura personalizzato più a lungo possibile, vale a dire attenersi a culture standard. Può funzionare per ora, ma non so per quanto tempo.
  2. registra la cultura personalizzata durante l'installazione dell'applicazione. Questa non è l'opzione poiché non possiamo garantire i privilegi di amministratore poiché vorremmo aggiornare l'applicazione da remoto.

Ci sono dei modi?

+0

Hai provato [CreateFromLdml] (http://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.createfromldml.aspx) che carica un file [Salva] (http: // msdn .microsoft.com/it/us/library/system.globalization.cultureandregioninfobuilder.save.aspx) d prima e distribuisci con la tua app? – rene

+0

@rene come menzionato sull'MSDN "A questo punto è possibile chiamare il metodo Register e rendere disponibile la cultura personalizzata ricostituita ad altre applicazioni.". Quindi il cultute ricreato deve essere registrato comunque. Ma non è stato possibile chiamare un metodo Register senza privilegi di amministratore. –

risposta

1

È necessario registrare la cultura personalizzata per poterla utilizzare.

+0

Sì, ma non esiste un altro modo per utilizzare una cultura localmente, all'interno della mia app? –

+1

Non c'è, ma i posti in cui si può voler usare uno (formattazione del numero, formattazione della data), prendere un IFormatProvider o lo specifico NumberFormatInfo o DateTimeFormatInfo ed è possibile sovrascrivere tali valori. Hai un posto specifico in cui ti trovi ancora in questi limiti? Uno scenario specifico che vuoi abilitare? –

+0

ormai sono OK con culture standard. Ma è possibile che dovrò creare culture personalizzate in futuro, alcune formattazioni specifiche. Quindi adotterò sicuramente l'idea che hai dato nel tuo commento: sarà OK creare una realizzazione personalizzata di IFormatProvider per le "culture speciali" e passarla dove necessario. Grazie! –