您可以控制所有裝置安裝應用程式或個別裝置安裝應用程式寫入 SetupAPI 記錄檔的資訊量。
若要變更寫入所有裝置安裝應用程式之 SetupAPI 記錄檔的資訊層級,請建立 (或修改) 下列登錄值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\LogLevel
藉由設定此值(使用下表所列的值),您可以選擇記錄的錯誤層級、修改記錄的詳細資訊,或關閉記錄。 您也可以將資訊記錄到調試程式,以及記錄檔。
若要指定個別裝置安裝應用程式的記錄層級,請在下列機碼下建立登錄項:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\AppLogLevels
在此機碼下,建立代表應用程式可執行檔名稱的值名稱,並將所需的記錄層級指派給該名稱(使用下表所列的值),例如 service.exe=LoggingLevel。
記錄層級是 DWORD 值。 如果未指定此值或為零,則 SetupAPI 會使用預設行為,如下表所示。
DWORD 值是由三個部分所組成,格式為 0xSSSSDDGG。 由遮罩0x000000FF表示的低八位元設定一般設備安裝操作的記錄等級。 下一個較高的八位元,透過遮罩0x0000FF00表示,設定用於裝置安裝操作的記錄層級。 最高位元是特殊旗標。
下表包含 Windows 2000 和更新版本的一般記錄層級、裝置安裝記錄層級和特殊記錄旗標。
| 一般記錄層級 | 意義 |
|---|---|
| 0x00000000 | 使用預設設定(目前0x20)。 |
| 0x00000001 | 關閉 (沒有裝置安裝記錄)。 |
| 0x00000010 | 將錯誤記錄到日誌中。 |
| 0x00000020 | 記錄錯誤和警告。 |
| 0x00000030 | 記錄錯誤、警告和其他資訊。 |
| 0x00000040 | 以詳細資訊模式記錄錯誤、警告和其他資訊。 |
| 0x00000050 | 在詳細模式下記錄錯誤、警告和其他資訊,以及附有時間戳記的條目。 |
| 0x00000060 | 使用詳細模式記錄錯誤、警告和其他資訊,以及包含時間記錄。 此外,所有項目都會加上時間戳。 |
| 0x00000070 | 使用詳細模式記錄錯誤、警告和其他資訊,並加入時間訊息。 所有項目都會加上時間戳。 包含其他可能會讓系統變慢的訊息,例如快取叫用。 |
| 0x000000FF | 指定可用的最詳細信息記錄。 |
| 裝置記錄層級 | 意義 |
|---|---|
| 0x00000000 | 使用預設設定(目前0x3000)。 |
| 0x00000100 | 關閉 (沒有裝置安裝記錄)。 |
| 0x00001000 | 記錄錯誤。 |
| 0x00002000 | 記錄錯誤和警告。 |
| 0x00003000 | 記錄錯誤、警告和其他資訊。 |
| 0x00004000 | 以詳細資訊模式記錄錯誤、警告和其他資訊。 |
| 0x00005000 | 在詳細模式中記錄錯誤、警告和其他資訊,並附加時間戳記的項目。 |
| 0x00006000 | 以詳細模式記錄錯誤、警告和其他資訊,以及時間記錄。 此外,所有項目都會加上時間戳。 |
| 0x00007000 | 以詳細資訊模式記錄錯誤、警告和其他資訊,以及時間訊息。 所有項目都會加上時間戳。 包含其他可能會讓系統變慢的訊息,例如快取叫用。 |
| 0x0000FF00 | 指定最詳細的日志記錄。 |
| 特殊旗標 | 意義 |
|---|---|
| 0x08000000 | (Windows XP 及之後版本)將時間戳添加至所有日誌項。 |
| 0x20000000 | (Windows XP 和更新版本)寫入每個項目之後,請勿將記錄資訊排清到磁碟。 (記錄速度較快,但如果系統當機,資訊可能會遺失。 |
| 0x40000000 | 以時間順序撰寫記錄專案,而不是將專案分組。 |
| 0x80000000 | 將輸出傳送至調試程式,以及傳送至記錄檔。 |
例如,SetupAPI 會解譯一些 範例 LoggingFlags 值,如下所示:
0x00000000表示預設記錄。
0x0000FFFF表示詳細信息記錄。
0x8000FF00表示將詳細的裝置安裝資訊記錄到記錄檔和調試器。
若要在全新安裝期間修改預設的 SetupAPI 記錄層級,請在文字模式設定與 GUI 模式設定之間的期間編輯登錄。 下列步驟說明程式。 這些步驟假設您正在安裝至 D:\Winnt ,並在另一個分割區上建置相同版本的 Windows。 變更 SetupAPI 記錄層級,如下所示:
開始安裝您要測試的全新組建。
在文本模式設定之後的第一次開機期間停止安裝程式(也就是 GUI 模式設定之前)。
在開機功能表中選擇工作版本,以系統管理員身分登入。
在 D:\Winnt\System32\config 中尋找登錄區(檔案)。在此情況下,您必須在 Software.sav 中修改登錄區。
在 Windows 2000 上,執行 Regedt32,選取 [本機計算機上的HKEY_LOCAL_MACHINE] 視窗,然後選取HKEY_LOCAL_MACHINE鍵。 然後點擊 [登錄] 功能表並選取 [載入 Hive]。
在 Windows XP 和更新版本上,執行 RegEdit。 醒目提示HKEY_LOCAL_MACHINE,按兩下 [ 檔案 ] 功能表,然後選取 [ 載入 Hive]。
瀏覽檔案,然後選取 D:\Winnt\System32\config\software.sav。 出現金鑰名稱提示時,請輸入 “_sw.sav”
在 [HKEY_LOCAL_MACHINE] 底下開啟 _sw.sav 鍵,然後選中以下鍵:
HKEY_LOCAL_MACHINE_sw.sav\Microsoft\Windows\CurrentVersion\Setup在 Windows 2000 上,單擊 [ 安全性] 功能表,選取 [ 許可權],並將完整控制權授與系統管理員。
在 Windows XP 和更新版本上,單擊 [ 編輯 ] 功能表,選取 [ 許可權],並將完全控制權授與系統管理員。
在 Windows 2000 上,於此機碼下新增必要的登錄值,然後按一下 [ 編輯] 並選擇 [ 新增值]。
在 Windows XP 和更新版本上,按兩下 [編輯 ],然後選取 [新增 DWORD 值]。
輸入值。 例如,新增「0xFFFF」以啟用完整詳細日誌記錄。
選取 [HKEY_LOCAL_MACHINE\_sw.sav],然後卸載 Hive(在 Windows 2000 上使用 [登錄] 功能表,或在 Windows XP 及更新版本上使用 [檔案] 功能表),The_sw.sav 機碼應該會消失。
將 D:\Winnt\System32\config\software.sav 複製到 D:\Winnt\System32\config\software。
重新啟動並繼續進入安裝程式。
若要確認這項變更,請在 GUI 模式安裝程式中按 SHIFT+F10,然後執行 regedit.exe 並檢查記錄層級。