locked
自定义驱动组件问题 RRS feed

  • 问题

  • 用优化大师把声卡驱动(Realtek High Definition Audio)备份了一下,生成了一大堆文件,其中有三个ks.inf,oem1.inf,wdmaudio.inf文件,第一次把oem1.inf导入到组件设计器中,报一个严重错误:An error occurred while getting the vendors list section name。并且oem1.sld树形列表中Components文件夹是空的!第二次试着把ks.inf导入到组件设计器中,同样也报错:[Manufacturer] is missing.第三次又试着把wdmaudio.inf导入到组件设计器中,这次还好,Components文件夹中增加了几个Component,但还是报一些警告:
    Warning:[DeviceRegistration]: contains RunOnce AddReg item.
    Warning:D:\Program Files\Wopti\Backup\Drivers\Realtek High Definition Audio\ks.inf: [DelFiles] needs to be processed by the user.

    我想按理说只要导入oem1.inf这一个文件就行,不知道为什么报这些错。
    2010年3月16日 6:53

答案

  • 今天上午又试了一下Realtek AC'97 Audio,把它做成自定义驱动组件,导入到组件设计器中,结果还算比较不错。只报一个错,说An error occurred when trying to add a registry resource HKEY_CLASSES_ROOT\CLSID\{E9F1F599-7B14-4213-BF46-F992758CAB81}\Programmable\。在组件节点下面的注册表数据节点下面发现存在这个KEY,然后我到注册表中去提取,发现

    【HKEY_CLASSES_ROOT\CLSID\{E9F1F599-7B14-4213-BF46-F992758CAB81}\Programmable】

    @=""

    接下来我也不知道怎么做了,呵呵。请大家帮忙解决一下

     

     


    把注册表需要修改的信息加进去,就可以了
    2010年3月22日 5:22

全部回复

  • 你不用管那些Warning。没有Error就可以。

    肖正波 我WIndows Embedded的中文技术BLOG: http://m--y.spaces.live.com/blog/ QQ:1320232327(另外两个已满) MSN:questor_87@hotmail.com
    • 已建议为答案 happymy 2010年3月16日 10:32
    2010年3月16日 10:31
  • 那上面三个INF文件,我该把哪一个INF文件导入到组件设计器中去?还是说我随便导入一个就行?对于上面的错误和警告信息,还请帮我解释一下。
    2010年3月17日 1:12
  • 关于备份驱动建议你用驱动精灵2005B4(这类驱动一般不需要提取,他的驱动安装包自带有INF)

    导入wdmaudio.inf即可(你仔细阅读日志,会发现另外的两个INF也会被导入(关联))。

    你可以测试一下声卡是否正常工作。正常工作=集成驱动成功。
    肖正波 我WIndows Embedded的中文技术BLOG: http://m--y.spaces.live.com/blog/ QQ:1320232327(另外两个已满) MSN:questor_87@hotmail.com
    • 已建议为答案 happymy 2010年3月17日 15:45
    2010年3月17日 15:45
    • 一开始我是用驱动精灵来备份的,备份出来发现了少了ks.inf,wdmaudio.inf这二个文件,只有一个oem1.inf文件(我把这个文件导入到组件设计器,结果报少文件错误), 所以后面我才改用优化大师来备份。
    • 您说“这类驱动一般不需要提取,他的驱动安装包自带有INF”,我从Realte官方页 High Definition Audio Codecs (Software) 下载一个ZIP格式的驱动安装包,解压缩发现此文件的主目录没有INF文件,但WDM子目录中有36个INF文件。那我怎么把这个驱动做成自定义驱动组件?



    2010年3月18日 2:45
  • 驱动精灵必须使用老板的(2008)。新版的会有这个bug。

    N个INF文件是因为每个INF包含几个硬件的ID。不同种类的硬件的配置不同。

    一般导入文件名最短的INF或者是没有任何数字的。(个人经验,仅供参考
    导入时要往往要指定节的名称。
    肖正波我WIndows Embedded的中文技术BLOG: http://m--y.spaces.live.com/blog/ QQ:1320232327(另外两个已满) MSN:questor_87@hotmail.com
    • 已建议为答案 happymy 2010年3月18日 4:13
    2010年3月18日 4:13
  • 今天上午做了一个显卡的自定义组件,导入到组件设计器中,日志报错:

    An error occurred when trying to add a registry resource HKEY_LOCAL_MACHINE\Software\INTEL\.
    An error occurred when trying to add a registry resource HKEY_LOCAL_MACHINE\Software\Intel\Display\。。。。。。。。。。。。。。。。。。

    一看是需要给component的register data下增加注册表信息,然后我就到注册表编辑器把相应的注册表信息导出来。导出来后

    [HKEY_LOCAL_MACHINE\SOFTWARE\INTEL]
    @=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\INTEL\Display]
    @=""。。。。。。。。。。。。。。。。。。。。。

    我不明白@=""是什么意思。我在register data节点下增加的时候KEY是知道的,VALUE是怎么写,还有值的类型该选择哪一种?

     

     

    2010年3月19日 2:05
  • 打开OME1.INF

    找到

    [Manufacturer]
    %MfgName% = AzaliaManufacturerID, NTX86.6.0

    [AzaliaManufacturerID.NTX86.6.0]
    ;can not install on vista

    这几行 改成

    [Manufacturer]
    %MfgName% = AzaliaManufacturerID

    在导入就好了。缺失的KS.INF等等拷贝到当前目录即可

    • 已编辑 老__虎 2010年3月19日 8:12 写错了
    2010年3月19日 8:11
  • 只有OME1.INF才是真正的驱动,ks.inf和wmaudio.inf不是驱动
    2010年3月19日 8:17
  • 945的显卡?如果是保存成.reg文件,然后导入就可以了。

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\IntelVolatile]
    "DisableCoinstaller"="Yes"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reinstall\0011]
    "DeviceDesc"="Intel(R) 82945G Express Chipset Family"
    "DeviceInstanceIds"=hex(7):50,00,43,00,49,00,5C,00,56,00,45,00,4E,00,5F,00,38,\
      00,30,00,38,00,36,00,26,00,44,00,45,00,56,00,5F,00,32,00,37,00,37,00,32,00,\
      26,00,53,00,55,00,42,00,53,00,59,00,53,00,5F,00,32,00,37,00,37,00,32,00,38,\
      00,30,00,38,00,36,00,26,00,52,00,45,00,56,00,5F,00,30,00,32,00,5C,00,33,00,\
      26,00,31,00,31,00,35,00,38,00,33,00,36,00,35,00,39,00,26,00,30,00,26,00,31,\
      00,30,00,00,00,00,00
    "DisplayName"="Intel(R) 82945G Express Chipset Family"
    "Mfg"="Intel Corporation"
    "ProviderName"="Intel Corporation"
    "ReinstallString"="C:\\WINDOWS\\system32\\ReinstallBackups\\0011\\DriverFiles\\igxp32.inf"
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ialm\Device0]
    "Display1_EnableRotation"=-
    "NativeResolution"=dword:00000001


    肖正波 我WIndows Embedded的中文技术BLOG: http://m--y.spaces.live.com/blog/ QQ:1320232327(另外两个已满) MSN:questor_87@hotmail.com
    2010年3月19日 13:48
  • 不是945,是Intel(R) Q45 Q43 Express Chipset.
    2010年3月21日 2:50
  • 打开OME1.INF

    找到

    [Manufacturer]
    %MfgName% = AzaliaManufacturerID, NTX86.6.0

    [AzaliaManufacturerID.NTX86.6.0]
    ;can not install on vista

    这几行 改成

    [Manufacturer]
    %MfgName% = AzaliaManufacturerID

    在导入就好了。缺失的KS.INF等等拷贝到当前目录即可


    我的OME1.INF文件Manufacturer节点下面的信息和你的显示不一样
    2010年3月22日 3:13
  • 今天上午又试了一下Realtek AC'97 Audio,把它做成自定义驱动组件,导入到组件设计器中,结果还算比较不错。只报一个错,说An error occurred when trying to add a registry resource HKEY_CLASSES_ROOT\CLSID\{E9F1F599-7B14-4213-BF46-F992758CAB81}\Programmable\。在组件节点下面的注册表数据节点下面发现存在这个KEY,然后我到注册表中去提取,发现

    【HKEY_CLASSES_ROOT\CLSID\{E9F1F599-7B14-4213-BF46-F992758CAB81}\Programmable】

    @=""

    接下来我也不知道怎么做了,呵呵。请大家帮忙解决一下

     

     

    2010年3月22日 3:18
  • 今天上午又试了一下Realtek AC'97 Audio,把它做成自定义驱动组件,导入到组件设计器中,结果还算比较不错。只报一个错,说An error occurred when trying to add a registry resource HKEY_CLASSES_ROOT\CLSID\{E9F1F599-7B14-4213-BF46-F992758CAB81}\Programmable\。在组件节点下面的注册表数据节点下面发现存在这个KEY,然后我到注册表中去提取,发现

    【HKEY_CLASSES_ROOT\CLSID\{E9F1F599-7B14-4213-BF46-F992758CAB81}\Programmable】

    @=""

    接下来我也不知道怎么做了,呵呵。请大家帮忙解决一下

     

     


    把注册表需要修改的信息加进去,就可以了
    2010年3月22日 5:22
  • 今天上午又试了一下Realtek AC'97 Audio,把它做成自定义驱动组件,导入到组件设计器中,结果还算比较不错。只报一个错,说An error occurred when trying to add a registry resource HKEY_CLASSES_ROOT\CLSID\{E9F1F599-7B14-4213-BF46-F992758CAB81}\Programmable\。在组件节点下面的注册表数据节点下面发现存在这个KEY,然后我到注册表中去提取,发现

    【HKEY_CLASSES_ROOT\CLSID\{E9F1F599-7B14-4213-BF46-F992758CAB81}\Programmable】

    @=""

    接下来我也不知道怎么做了,呵呵。请大家帮忙解决一下

     

     


    把注册表需要修改的信息加进去,就可以了

    @="" 意思是:

              名称  |      类型    |  数据

              默认  |  REG_SZ  |  (数值未设置)

     

    我查看了组件设计器中组件的register data节点下HKEY_CLASSES_ROOT\CLSID\{E9F1F599-7B14-4213-BF46-F992758CAB81}\Programmable,我发现是正确的啊。没有需要修改的信息。哎,搞不明白

     

     

    2010年3月22日 6:54