共用方式為


設定 SetupAPI 記錄層級

您可以控制所有裝置安裝應用程式或個別裝置安裝應用程式寫入 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 記錄層級,如下所示:

  1. 開始安裝您要測試的全新組建。

  2. 在文本模式設定之後的第一次開機期間停止安裝程式(也就是 GUI 模式設定之前)。

  3. 在開機功能表中選擇工作版本,以系統管理員身分登入。

  4. D:\Winnt\System32\config 中尋找登錄區(檔案)。在此情況下,您必須在 Software.sav 中修改登錄區。

  5. 在 Windows 2000 上,執行 Regedt32,選取 [本機計算機上的HKEY_LOCAL_MACHINE] 視窗,然後選取HKEY_LOCAL_MACHINE鍵。 然後點擊 [登錄] 功能表並選取 [載入 Hive]

    在 Windows XP 和更新版本上,執行 RegEdit。 醒目提示HKEY_LOCAL_MACHINE,按兩下 [ 檔案 ] 功能表,然後選取 [ 載入 Hive]。

  6. 瀏覽檔案,然後選取 D:\Winnt\System32\config\software.sav。 出現金鑰名稱提示時,請輸入 “_sw.sav”

  7. 在 [HKEY_LOCAL_MACHINE] 底下開啟 _sw.sav 鍵,然後選中以下鍵:

    HKEY_LOCAL_MACHINE_sw.sav\Microsoft\Windows\CurrentVersion\Setup
    

    在 Windows 2000 上,單擊 [ 安全性] 功能表,選取 [ 許可權],並將完整控制權授與系統管理員。

    在 Windows XP 和更新版本上,單擊 [ 編輯 ] 功能表,選取 [ 許可權],並將完全控制權授與系統管理員。

  8. 在 Windows 2000 上,於此機碼下新增必要的登錄值,然後按一下 [ 編輯] 並選擇 [ 新增值]。

    在 Windows XP 和更新版本上,按兩下 [編輯 ],然後選取 [新增 DWORD 值]。

    輸入值。 例如,新增「0xFFFF」以啟用完整詳細日誌記錄。

  9. 選取 [HKEY_LOCAL_MACHINE\_sw.sav],然後卸載 Hive(在 Windows 2000 上使用 [登錄] 功能表,或在 Windows XP 及更新版本上使用 [檔案] 功能表),The_sw.sav 機碼應該會消失。

  10. D:\Winnt\System32\config\software.sav 複製到 D:\Winnt\System32\config\software

  11. 重新啟動並繼續進入安裝程式。

  12. 若要確認這項變更,請在 GUI 模式安裝程式中按 SHIFT+F10,然後執行 regedit.exe 並檢查記錄層級。