2013-03-25 104 views
6

是否可以在不注册Windows的情况下创建自定义文化?每个解决方案和文档都涉及CultureAndRegionInfoBuilder类,在创建新文化后调用Register。但是,自定义文化的注册会改变操作系统中可见的文化,并且需要管理员权限。在没有注册的情况下创建自定义文化

如果这里有两种方法来避免注册一个新的文化是不可能的:使用

  1. 免俗文化,只要有可能,即坚持标准的文化。它现在可以工作,但我不知道多久。
  2. 注册应用程序安装过程中的自定义文化。这不是选项,因为我们想远程更新应用程序,所以我们无法保证管理员权限。

有什么办法吗?

+0

你试过[CreateFromLdml](http://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.createfromldml.aspx)加载文件[Save](http:// msdn .microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.save.aspx)d,然后与您的应用一起部署? – rene 2013-10-12 10:46:01

+0

@rene在MSDN中提到“此时,您可以调用Register方法,并使重构的自定义文化可用于其他应用程序。”所以重新创建的文化无论如何都必须注册。但是我们无法在没有管理员权限的情况下调用Register方法。 – 2013-10-15 05:45:49

回答

1

您必须注册自定义文化才能使用它。

+0

是的,但是在我的应用程序中没有任何其他方式在本地使用文化吗? – 2013-10-15 05:46:36

+1

没有,但是您可能想要使用其中一个(数字格式设置,日期格式设置)的位置需要IFormatProvider或特定的NumberFormatInfo或DateTimeFormatInfo,并且您可以覆盖这些值。你是否有一个特定的地方,你正在遇到这些限制吗?您想启用的特定场景?现在我可以用标准文化去做 – 2013-10-15 21:12:48

+0

。但有可能我将来必须创建自定义文化,一些特定的格式。然后我肯定会采纳你在评论中给出的想法 - 可以为“特殊文化”创建IFormatProvider的自定义实现并将其传递到需要的地方。谢谢! – 2013-11-27 07:21:47

相关问题