Ведение журнала запросов на перезагрузку
Если действие InstallValidate обнаруживает установку файла, который используется в данный момент, оно отображает диалоговое окно FilesInUse и записывает в журнал следующую информацию.
Info 1603. The file E:\testdb\Test\CustAct1.dll is being held in use
by the following process: Name: test, Id: 137, Window Title: 'Test'.
Если установщик обнаруживает, что он будет перезаписывать используемый файл, он записывает следующие сведения.
Info 1603. The file E:\testdb\Test\CustAct2.dll is being held in use.
Info 1903.Scheduling reboot operation: Deleting file [filename]. Must
reboot to complete operation.
Токен [filename] может фактически содержать путь к файлу с расширением RBF. В этом случае RBF-файл фактически является исходным файлом, записанным сообщением 1603, которое было переименовано в RBF-файл. Используемый файл сначала переименовывается с расширением RBF, а затем удаляется.
Чтобы получить дополнительные сведения о том, почему установщик пытается перезаписать этот конкретный файл, можно использовать подробный параметр ведения журнала. Используйте значение INSTALLLOGMODE_VERBOSE в вызове MsiEnableLog, или используйте опцию подробного вывода опций командной строки . В журнал записывается следующая информация.
MSI (s) (D0:F0): File: E:\testdb\Test\CustAct2.dll; Overwrite;
REINSTALLMODE specifies all files to be overwritten
Журнал будет содержать сообщение, например "Существующий файл является более низкой версией" или "Существующий файл поврежден (недопустимая контрольная сумма)"