Поделиться через


Ведение журнала запросов на перезагрузку

Если действие 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

Журнал будет содержать сообщение, например "Существующий файл является более низкой версией" или "Существующий файл поврежден (недопустимая контрольная сумма)"