How to replace currently locked files with Inuse.exe

This article was previously published under Q228930
This article applies to Windows 2000. Support for Windows 2000 ends on July 13, 2010. The Windows 2000 End-of-Support Solution Center is a starting point for planning your migration strategy from Windows 2000. For more information see the Microsoft Support Lifecycle Policy.
This article has been archived. It is offered "as is" and will no longer be updated.
Inuse.exe provides individuals and administrators with "on-the-fly" capability to replace files that are currently in use by the operating system. Although this behavior is generally accomplished by running a program's setup program or a service pack's upgrade program, the setup and upgrade process tends to replace multiple files. However, for troubleshooting purposes, you may need to replace an individual file on your computer versus an entire set of files. The Inuse program provides this level of administrative flexibility.

You can obtain InUse from the following Microsoft Web site:


Please understand that this is an unsupported utility and typical safeguards should be taken when using the utility, such as ensuring that you have a copy of the DLL from the original installation source. This is "use at your own risk" and support for the utility is not available from Microsoft at this time.
InUse is a Win32-based command-line utility that can be used by and within automated tasks, scripts, or other programs.


c:\inuse.exe /?InUse - version 1.3---------------------------------------------------------------------------Copyright (c) 1994-1999 Microsoft Corporation. All rights reservedReplaces files that are currently locked by the OSINUSE  source  destination  [/y] source         Specifies the updated file destination    Specifies the existing file to be replaced /y             Suppresses confirmation prompt to replace file /?             Displays syntax help Source and destination must include the complete physical or UNC pathname				
In Windows 2000 the version of the Inuse.exe program is 1.4. The tool works the same way but the Help window has changed slightly. Instead of source they use the term replacement.


The destination is the currently locked file that you want to replace on the local drive. Please note that after you commit INUSE to replace a file, you cannot run it again to reverse the transaction. This may be considered in a newer version.


Basic operation of INUSE is quite simple; just tell it the file you want to replace and where it's updated replacement is located. It also has an additional parameter that allows the suppression of the actual copy confirmation. This may be useful if you intend to use INUSE as part of some automated processes.The following examples shows simulated INUSE output as well as its operation in both a local and also a network-based file replacement scenario.

Example 1: Promptless Install

c:\tools\inuse.exe \\server\updates\prodmod.dll c:\program files\prodsys\prodmod.dll /yInUse - version 1.3----------------------------------------------------------InUse is about to replace the following fileExisting:    c:\program files\prodsys\prodmod.dllVersion:     1.31Replacement: \\server\updates\prodmod.dllVersion:     1.34\\server\updates\prodmod.dll is replacing --> c:\program files\prodsys\prodmod.dllChanges do not take affect until you reboot<BR/>				

Example 2: Prompted Install

c:\tools\inuse.exe \\server\updates\prodmod.dll c:\program files\prodsys\prodmod.dllInUse - version 1.3----------------------------------------------------------InUse is about to replace the following fileExisting:    c:\program files\prodsys\prodmod.dllVersion:     1.31Replacement: \\server\updates\prodmod.dllVersion:     1.34Do you want to continue?(y/n)\\server\updates\prodmod.dll is replacing --> c:\program files\prodsys\prodmod.dllChanges will not take affect until you reboot				

You will notice the only difference with the examples is the fact the user will be prompted to confirm or cancel the operation on the latter.

Example 3: Batch Operation

The following example represents how an administrator can nest multiple updates in a single script:
@echo off
inuse test.dll c:\winnt\system32\test.dll /y
inuse test2.dll c:\winnt\system32\test2.dll /y
inuse test3.dll c:\winnt\system32\test3.dll /y
Note that this executable actually does an edit to the registry to perform a "PendingFileRenameOperations" on the next reboot.
For more information about the InUse utility, see the following Microsoft TechNet article:
ntsetup update install setup service pack

Article ID: 228930 - Last Review: 12/05/2015 14:10:52 - Revision: 3.6

Microsoft Windows 2000 Professional Edition, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 4.0 Enterprise Edition

  • kbnosurvey kbarchive kbfaq kbinfo KB228930