none
大家帮忙看下这是怎么错误哦? RRS feed

  • 问题

  • 我在build镜像的时候,提示两个错误,以下两个错误,是从.log文件复制出来的,请大家帮忙看下,谢谢。

    1、Error 1005 (0x3ED) in "PlatformLib::CopySrcFile2": File not found: "DMICall.sys"
    R: Error    1005: File not found: "DMICall.sys"

    2、 Error    1004: Invalid resource: "RegKeY(819):"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Preview"": (Error 5 (0x5) in "Microsoft VBScript 运行时错误": 无效的过程调用或参数)

    2008年1月23日 12:00

答案

  • 针对楼主的问题,解答如下:

     

    1. 该问题的产生是由于XPE 目标设计器在编译的时候在组件库路径(\\127.0.0.1\Repositories)下无法找到指定的文件—DMICall.sys所导致。从错误描述上来看,这个文件应该属于楼主自己开发并导入的组件文件。楼主可以按照以下方式检查及解决该问题:

    (1)在本机的Repositories目录下查找一下,看看你的开发机的Repositories目录下是否有这个文件。如果没有这个文件,可能是因为:

    • 你曾经删除过这个自定义的组件,或者手动删除过Repositories目录下的文件;
    • 在你开发这个自定义组件的时候,没有正确的指定组件的Repositories源目录,使组件倒入数据库的时候,相关的组件文件没有导入Repositories目录,这个问题可以在导入组件的时候仔细观察导入日志就可以发现;

    (2)是否曾见更改过开发机的主机名称?XPE的目标设计器在安装完成后,会按照原有的主机名查找组件文件,而不会随着你更改主机名称而改变主机名称,对于这个问题,你只需换回原来的主机名称就可以了;

    (3)检查你的开发机是否接入局域网,即ping 127.0.0.1是否正常。因为XPE是支持网络组件库共享开发的,所以开发机访问组件的方式是通过网络路径的方式访问的,即通过\\127.0.0.1\Repositories访问。如果不能Ping通本机的话,意味开发工具无法访问到正确的组件路径;

    (4)检查是否更改过Repositories目录的共享及共享权限,默认的设置应该是完全共享;

     

    2. 该问题的产生是由于组件的注册找不到其他关联组件的支持所导致的,该问题可以忽略不管,不会影响系统的使用。或者把出现错误的组件(Speech相关组件)从工程中删除即可。

    2008年1月24日 2:49
    版主

全部回复

  • 针对楼主的问题,解答如下:

     

    1. 该问题的产生是由于XPE 目标设计器在编译的时候在组件库路径(\\127.0.0.1\Repositories)下无法找到指定的文件—DMICall.sys所导致。从错误描述上来看,这个文件应该属于楼主自己开发并导入的组件文件。楼主可以按照以下方式检查及解决该问题:

    (1)在本机的Repositories目录下查找一下,看看你的开发机的Repositories目录下是否有这个文件。如果没有这个文件,可能是因为:

    • 你曾经删除过这个自定义的组件,或者手动删除过Repositories目录下的文件;
    • 在你开发这个自定义组件的时候,没有正确的指定组件的Repositories源目录,使组件倒入数据库的时候,相关的组件文件没有导入Repositories目录,这个问题可以在导入组件的时候仔细观察导入日志就可以发现;

    (2)是否曾见更改过开发机的主机名称?XPE的目标设计器在安装完成后,会按照原有的主机名查找组件文件,而不会随着你更改主机名称而改变主机名称,对于这个问题,你只需换回原来的主机名称就可以了;

    (3)检查你的开发机是否接入局域网,即ping 127.0.0.1是否正常。因为XPE是支持网络组件库共享开发的,所以开发机访问组件的方式是通过网络路径的方式访问的,即通过\\127.0.0.1\Repositories访问。如果不能Ping通本机的话,意味开发工具无法访问到正确的组件路径;

    (4)检查是否更改过Repositories目录的共享及共享权限,默认的设置应该是完全共享;

     

    2. 该问题的产生是由于组件的注册找不到其他关联组件的支持所导致的,该问题可以忽略不管,不会影响系统的使用。或者把出现错误的组件(Speech相关组件)从工程中删除即可。

    2008年1月24日 2:49
    版主
  • 第2个问题,在版主lzg_ad的博客中http://lzg-ad.blog.sohu.com/76898590.html找到了解释:

    该问题的产生是由于组件的注册的不到其他关联组件的支持,该问题是由于开发工具的错误识别导致的,可以忽略不管,不会影响系统的使用,或者把出现错误的组件从工程中删除!

    2008年1月24日 2:50
  •  

    lzg_ad,你好。我在Repositories目录下搜索DMICall.sys,确实搜索不到了。这个错误对生成的镜像文件,部署到目标机上面,有影响吗?

    现在没有这个DMICall.sys文件,是不是复制回一个就OK了?

     

    2008年1月24日 3:02
  • 理论上复制一个就可以了,但是你并不知道应该把文件复制到Repositories目录下的那个子目录下!通过查询组件数据库的方法倒是可以找到,但是过程比较复杂,而且需要你对组件数据库的结构具有相当的了解!

    我个人认为,这个文件应该属于你自己开发的某个组件中的文件,不属于XPE本身提供的组件文件,所以这个错误应该不会对你的XPE系统有太大影响!

    2008年1月24日 3:13
    版主
  • 参考网址:http://msdn.microsoft.com/en-us/library/aa460102(WinEmbedded.5).aspx

    里面有这么一句话:Some components reference Capi20.sys, Serial.vxd, and Dmicall.sys, which do not exist in Windows XP Professional or Windows XP Embedded. Resulting errors can be safely ignored.

    意思是说一些组件会参考在XPP和XPE中根本不存在的文件(Capi20.sys, Serial.vxd 和 Dmicall.sys),由此产生的错误可以被忽略。

    个人猜想这是bug。

    2010年7月21日 6:48