Ведение журнала запросов на перезагрузку
Если действие 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.
Маркер [имя_файла] может содержать путь к файлу с расширением 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
Журнал будет содержать такое сообщение, как "Существующий файл является более ранней версией" или "Существующий файл поврежден (недопустимая контрольная сумма)".