locked
讨论:有关MinLogon的中文支持问题 RRS feed

  • 问题

  • TD中用MinLogon组件,部署后启动应用程序,除了菜单里的中文能正常显示,按钮上的中文和界面中的中文都无法显示,如果用WinLogon组件此问题便不会出现。各位有何高见,能在使用MinLogon的同时正常显示中文?
    2008年9月16日 13:38

答案

  •  

    这个问题我也遇到了,其实是注册表内缺少了一些非unicode程序主册的信息。

     

    实验:

    1 在td中添加区域和语言选项

    2 在xpe中,设置“区域和语言选项”中的非unicode程序,设置为英语,重启

    3 重复步骤2,这次把它设置为中国

    4 如果跟我这里一样的话,会报错,无法设置为中国

    5 查看windows目录下的setupapi.log,可以看到错误的原因

    6 按照错误的原因,删除部分注册表信息,重新执行步骤3看看。

    2008年9月17日 5:54

全部回复

  •  

    这个问题我也遇到了,其实是注册表内缺少了一些非unicode程序主册的信息。

     

    实验:

    1 在td中添加区域和语言选项

    2 在xpe中,设置“区域和语言选项”中的非unicode程序,设置为英语,重启

    3 重复步骤2,这次把它设置为中国

    4 如果跟我这里一样的话,会报错,无法设置为中国

    5 查看windows目录下的setupapi.log,可以看到错误的原因

    6 按照错误的原因,删除部分注册表信息,重新执行步骤3看看。

    2008年9月17日 5:54
  • 我试了一下,我可以在“区域和语言选项”里随意设置为英语和中文,并没报错。我通过下面的方法实现了应用程序的中文显示:

    XPE的区域设置中的高级选项卡中的unicode程序语言设置为英文,然后下载一个Microsoft提供的AppLocale,安装,通过AppLocale调用我的应用程序。

    虽然是显示了,但总觉得这个方法治标不治本啊。不知道谁能解释下AppLocale到底是怎么工作的,是不是能有个治本的方法呢?

    还有,说到底,我要是用WinLogon替换MinLogon,就不会出现这个问题,所以,我认为搞清MinLogon和WinLogon真正的具体的区别也是解决这个问题的关键。

     

    2008年9月18日 13:05
  •  

    你的应用程序应该不是UNICODE,这样的话,你需要把system locale 设置成中文,并且系统需要有相应的code page 才能够正常显示中文。

     

    AppLocale 是微软提供的工具让你能够不需要改变system locale并且能够正常运行non-unicode程序。 在你的例子中,system locale 是 English, 但是你的程序要求中文的system locale. AppLocale 能够模拟中文的system locale,从而让你的应用程序能够正常运行和显示。

     

    你提到你用Winlogon 代替Minlogon 就没有问题。这可能是因为Winlogon 的组件依赖项加入了中文相关的code page。 Minlogon 和 Winlogon的主要区别是Minlogon 不需要用户帐号就能运行,所有程序都运行在system 帐号下。另外一个主要区别是Winlogon 有更多的组件依赖项。

    2008年9月21日 8:05
  • 谢谢Xin Huang (MSFT)的回答,但是我还是有个疑问:

    在MinLogon下,把system locale 设置成中文,不能正常显示中文。如果是因为MinLogon的配置里没有相应的code page,但我的WinLogon的配置里也具有相同的code page。我对比了MinLogon和WinLogon两个配置,除了MinLogon和WinLogon两个组件,其余的组件是完全完全一样的。

    2008年9月23日 1:42
  •  

    这就比较奇怪了。如果你愿意的话,你可以把你的组件配置发给我,我帮你看一看。
    2008年9月23日 6:01
  • Xin Huang (MSFT) ,你好,能否把你的邮箱给我,或者你往我的邮箱里发封email,我的邮箱是zxy507@gmail.com,谢谢!

    2008年9月24日 2:00
  •  

    我看了一下两个配置文件,没有找到明显的问题。
     
    据我所知,Minlogon 在某些情况下,不能够正常显示某些中文和日文字体。 我现在想确定你的情况到底是不是Minlogon 的问题。 你可以:
     
    1。用Winlogon 的配置创建一个系统,确定你的应用程序没有任何问题。
    2。在你的XPE Repostory ( C:\Windows Embedded Data\Repositories ) 中找到 minlogon.exe, 并把它拷贝到某个地方。
    3。然好,启动到另外一个系统中去. 确保你能够访问你创建的XPE 系统。
    4. 把你拷贝的 minlogon.exe 改名为 winlogon.exe, 然后替换XPE 中的 winlogon.exe。
    5。重新启动到XPE系统中去。
     
    如果经过以上步骤以后,你的应用程序有显示的问题的话,那就是 Minlogon 的问题。如果你愿意的话,你可以把你的应用程序发给我,我可以做一些调试,看能不能找出问题的根源。
    2008年10月2日 5:20
  • 按照上面的步骤我试验了一下,在第五步的时候启动XPE便蓝屏。报错信息如下:
    stop:c000021a{Fatal System Error}
    The Windows Logon Process system process terminated unexpectedly with
    a status of 0x00000000 (0x00000000 0x00000000).
    The system has been shut down.

    我的应用程序已发至你邮箱

     

    2008年10月15日 10:15
  • Xin Huang (MSFT)大哥,好久没有你的回复了,苦等啊~

    2008年10月31日 1:56