How to detect which applications keep files in use at install time?

This article will guide you step by step on how to detect applications that keep files in use at install time.

During the installation, if the files from disk (to be updated/overwritten by the installation process) are kept in use by an application process, then the installation process either displays the 1610 error (The setup must update files or services that cannot be updated while the system is running) or the FilesInUse dialog.

The method to detect the list of applications that keep files in use is slightly different depending on the package type:

1. MSI setup or an EXE (without EXE External UI) setup

Run the setup package with a command line like this:

msiexec /i setup.msi /L*VX setup.log

or like this:

setup.exe /L*VX setup.log

Then open the "setup.log" file in a text editor and search for error 1610, e.g. such portion of log:

MSI (s) (60:88) [12:10:38:841]: RESTART MANAGER: Detected that application with id <PID>, friendly name '<app name>', of type RmCritical and status 1 holds file[s] in use.  
MSI (s) (60:88) [12:10:38:841]: RESTART MANAGER: Did detect that a critical application holds file[s] in use, so a reboot will be necessary.  
MSI (s) (60:88) [12:10:38:841]: Note: 1: 1610 

NotePlease make sure you use the /L*VX log command, i.e. to include the X switch (extra debugging info)

2. EXE setup with the option EXE External UI set on install or to always (install, uninstall and maintenance)

Run the setup package with a command line like this:

setup.exe /L*V setup.log

Then open the "setup.log" file in a text editor and search for the "FileInUseProcess" property. This property should include the names of the applications keeping your install files in use.