PendingFileRenameOperations Versus MsiSystemRebootPending
MsiSystemRebootPending is a Windows Installer (MSI) Property. The installer sets the value of this property to 1 if there is an operation pending that requires access to a file that is locked and in use.
For more information, here is a link to the official Microsoft documentation for the MsiSystemRebootPending property:
PendingFileRenameOperations is a Windows Registry entry which contains information about files that Windows has marked for deletion / renaming / replacement after restarting the machine.
This entry is located at:
If you want to check if Windows Update needs a reboot, this can be achieved by setting a value for the PendingFileRenameOperations registry entry and setting MsiSystemRebootPending value to 1.
PendingFileRenameOperations sets MsiSystemRebootPending to 1.
To avoid the pending reboot, navigate to:
in the Windows Registry Editor, locate PendingFileRenameOperations, rename it, and then try to install the product. Or make sure that there is no value for PendingFileRenameOperations and that MsiSystemRebootPending has value of 0.
Note: The fact that executable images and DLLs are memory-mapped when they are used makes it impossible to update core system files after Windows has finished booting. The MoveFileEx Windows API has an option to specify that a file move be delayed until the next boot. Service Packs and Hotfixes that must update in-use memory mapped files install replacement files onto a system in temporary locations and use the MoveFileEx API to have them replace otherwise in-use files. When used with that option,
MoveFileEx simply records commands in the PendingFileRenameOperations and PendingFileRenameOperations2 values under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager. These registry values are of type MULTI_SZ, where each operation is specified in pairs of filenames: the first filename is the source location and the second is the target location. Delete operations use an empty string as their target path.
The PendingFileRenameOperations key stores the names of files to be renamed when the system restarts. It consists of pairs of filenames. The file specified in the first item of the pair is renamed to match the second item of the pair. The system adds this entry to the registry when a user or program tries to rename a file that is in use. The filenames are stored in the value of this entry until the system is restarted and they are renamed. This entry is not created by the operating system; the installer creates this entry.