Skip to contentGo to the directory tree
  1. C:
  2. Windows
  3. INF
  4. setupapi.app.log
LogRisk: Caution

setupapi.app.log C:\Windows\INF\setupapi.app.log

setupapi.app.log: SetupAPI text log for INF-driven application installs. For drivers, see setupapi.dev.log.

Updated on By AltF4 Formation

What it’s for

Since Windows Vista, SetupAPI has kept several text logs. setupapi.app.log traces application installs that go through SetupAPI, such as INF-based setup packages, along with their errors. setupapi.dev.log follows device and driver installation, and setupapi.setup.log follows Windows setup itself, so open the one that matches what you are chasing.

What it contains

  • Time-stamped sections, one per install operation, with the INF file processed, the sections run and the result.
  • Errors from INF-driven application installs, with their code.
  • Nothing about Windows Installer (MSI) installs, which have their own logs.
  • The level of detail depends on the LogLevel value under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup.

Risks and best practices

  • Deleting the file has no effect on Windows: SetupAPI recreates it on the next operation. You only lose the history.
  • It can quote paths of installed software, so review it before sending it to a third party.

Useful commands

Fenêtre de terminal
# Last lines
Get-Content "$env:windir\INF\setupapi.app.log" -Tail 60
# Errors and exit statuses
Select-String -Path "$env:windir\INF\setupapi.app.log" -Pattern 'error|fail|exit status' | Select-Object -Last 30

Format

Text organized in sections. Each section starts with a time-stamped >>> line carrying the operation name, and ends with <<< showing the exit status and duration. The lines in between give the time and the message.

Rotation and archiving

SetupAPI appends new sections to the existing file. A session start section marks the beginning of a new writing cycle.

How to read it

Find the section for the install in question with Select-String on the INF or application name, then read down to Exit status. Any status other than SUCCESS means failure, with the matching error code.

Report a mistake