情境:WES2009使用component designer要import Intel Graphics Media Accelerator Driver(igxp32.inf ;VGA DRIVER for Intel Atom D400、D500、N400 series)。
問題:會出現以下錯誤訊息。
檢查:
打開component designer的log file,可以看到如下的錯誤訊息。
Info:Completed processing file [Import
succeeded] : C:\Documents and Settings\Administrator\Desktop\test\VGA
v6.14.10.5260\Graphics\igxp32.inf
Info:Processing file : C:\test\VGA
v6.14.10.5260\Graphics\igxp32.inf
Info:C:\test\VGA
v6.14.10.5260\Graphics\igxp32.inf: type PNP device INF
Info:Creating: Intel(R) Graphics Media
Accelerator 3150
Warning:C:\test\VGA
v6.14.10.5260\Graphics\igxp32.inf: [DelFiles] needs to be processed by the user.
+++ CRITICAL ERROR +++:An error occurred when trying to add a
registry resource HKEY_LOCAL_MACHINE\Software\INTEL\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource HKEY_LOCAL_MACHINE\Software\Intel\Display\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource HKEY_LOCAL_MACHINE\Software\Intel\Display\igfxcui\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Notify\igfxcui\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource HKEY_LOCAL_MACHINE\Software\Intel\Display\igfxcui\.
Info:Creating: Intel(R) Graphics Media
Accelerator 3150
Warning:C:\test\VGA
v6.14.10.5260\Graphics\igxp32.inf: [DelFiles] needs to be processed by the
user.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource HKEY_LOCAL_MACHINE\Software\INTEL\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\Software\Intel\Display\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource HKEY_LOCAL_MACHINE\Software\Intel\Display\igfxcui\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Notify\igfxcui\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\Software\Intel\Display\igfxcui\.
Info:Creating: Intel(R) Graphics Media
Accelerator 3150
Warning:C:\test\VGA
v6.14.10.5260\Graphics\igxp32.inf: [DelFiles] needs to be processed by the
user.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource HKEY_LOCAL_MACHINE\Software\INTEL\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\Software\Intel\Display\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\Software\Intel\Display\igfxcui\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\igfxcui\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\Software\Intel\Display\igfxcui\.
Info:Creating: Intel(R) Graphics Media
Accelerator 3150
Warning:C:\test\VGA
v6.14.10.5260\Graphics\igxp32.inf: [DelFiles] needs to be processed by the
user.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource HKEY_LOCAL_MACHINE\Software\INTEL\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\Software\Intel\Display\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\Software\Intel\Display\igfxcui\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Notify\igfxcui\.
+++ CRITICAL ERROR +++:An error occurred
when trying to add a registry resource
HKEY_LOCAL_MACHINE\Software\Intel\Display\igfxcui\.
Info:Completed processing file [Import
succeeded] : C:\test\VGA
v6.14.10.5260\Graphics\igxp32.inf
解法:
一、針對Warning: [DelFiles] needs to be
processed by the user.
原本的.inf檔
[CUI.DelFiles]
igfxrarb.lrc,,,1
igfxreng.lrc,,,1
igfxrfrc.lrc,,,1
igfxres.dll,,,1
修改成以下
[CUI.DelFiles]
參考以下資料
[DelFiles]
section needs to be processed by the user
Description
The .inf file specified that
the files listed in DelFiles should be deleted during installation. When you
create an .sld file, this error message can be interpreted in one of the
following two ways:
l
The files are not required for the component.
-
or -
l
The component conflicts with another component that
contains the DelFiles.
Resolution
Because the EConvert tool
cannot distinguish between these cases, you must examine the DelFiles section
manually and determine which of the two cases applies.
If the files are not required
for the component, do not include them in the component .sld file.
二、針對+++ CRITICAL ERROR +++:An error
occurred when trying to add a registry resource
主要是.inf有部分的格式沒有寫好,Component
Disgner沒有辦法正確的加入reg,所以才會無法正確地建立 driver
Component。
原本的.inf檔
[CUIModePruning.AddReg]
HKLM,%CUIDeviceIndependentKey%
HKLM,"%CUIDeviceIndependentKey%\igfxdev","DisableCUIModePruning",%REG_DWORD%,1
[CUI.AddReg]
;Add INTEL/CUI keys
HKLM,"Software\INTEL"
HKLM,%DisplayKey%
HKLM,%CUIDeviceIndependentKey%
………………….
……………..
HKLM,"SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Notify\igfxcui"
修改成以下就不會有error:
[CUIModePruning.AddReg]
HKLM,%CUIDeviceIndependentKey%,,,
HKLM,"%CUIDeviceIndependentKey%\igfxdev","DisableCUIModePruning",%REG_DWORD%,1
[CUI.AddReg]
;Add INTEL/CUI keys
HKLM,"Software\INTEL",,,
HKLM,%DisplayKey%,,,
HKLM,%CUIDeviceIndependentKey%,,,
………………….
……………..
HKLM,"SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon\Notify\igfxcui",,,
參考資料如下:
INF AddReg Directive
Each named add-registry section referenced
by an AddReg directive has the following format:
[add-registry-section]
reg-root, [subkey],[value-entry-name],[flags],[value][,[value]]
reg-root,
[subkey],[value-entry-name],[flags],[value][,[value]]
...
大部分設備驅動都提供以.inf的安裝方式,可以通過導入inf檔到元件設計器中創建設備驅動程式元件,元件保存為.sld文件。
在開始導入的過程中,遇到以下的問題:
(1)註冊表錯誤,如提示“An error
occurred when trying to add a registry resource
HKEY_LOCAL_MACHINE\Software\Intel\Display\.”
發現像是註冊表添加語句的語法錯誤,修改.inf檔,查找到添加註冊表項的行:
HKLM, “Software\Intel\Display”
這實際是添加了一個註冊表項,REG_SZ類型,值為空,修改上面語句為:
HKLM, “Software\Intel\Display”,,,
再次導入時,就不會有註冊表添加錯誤了。
沒有留言:
張貼留言