Отладочные логи для msi-пакетов можно получить стандартными средствами Windows Installer, запустив установку через командную строку с определенными параметрами.
- С зажатым Shift нажимаем на msi-пакет правой кнопкой мыши и выбираем из предложенного диалога Копировать как путь - это в команде будет в место "installer.msi";
- Открываем Командную строку (Заходим в Пуск набираем cmd и Ввод или Win+R вводим cmd и нажимаем OK );
- В Командной строке, вводим команду:
msiexec /l*v "log.log" /i "installer.msi"
или
msiexec /i "installer.msi" /l*v "log.log"
- Для удобства, создаем рядом с msi -пакетом txt файл и называем его log, так же копируем путь до файла (как в пункте 1 Копировать как путь) - путь до этого файла у нас будет, в место "log.log";
- Нажимаем в Командной строке, ввод, производим установку;
- После завершении установки, можно смотреть log.txt.
Предложенный выше способ, подходит если требуется взять диагностический лог для небольшого количества msi-пакетов, если диагностические логи будут требоваться часто, то нам надо включить ведения журнала работы установщика Windows для всех запущенных msi-пакетов:
Вручную создав ветку реестра:
- Открываем Редактор реестра (Заходим в Пуск набираем regedit и Ввод или Win+R вводим regedit и нажимаем OK );
- Открываем путь HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\ (путь будет одинаковый для x64 и x86);
- Нажимаем правой кнопки мыши по папке Windows, выше указанного пути и нажимаем Создать - Раздел и называем его Installer;
- Выделяем раздел Installer, внутри него нажимаем Создать - Строковый параметр и называем его Logging;
- Открываем параметр Logging и присваиваем ему значение iwearucmopv ;
- После этого выполняем установку msi-пакетов;
- Файлы логов будет расположены в каталоге TEMP (данную директорию можно открыть зайдя в Пуск набираем %TEMP% и Ввод или Win+R вводим %TEMP% и нажимаем OK)
- По завершению сбора логов, обязательно удалите параметр Logging, так как это окажет неблагоприятное воздействие на производительность системы и заполнит дисковое пространство;
Выполнив файл, для автоматической настройки:
- Скачиваем архив msi_log.zip;
- Открываем скаченный архив, внутри два файла:
- MSI_log_on.reg - при запуске этого файла, будет включено ведение логов;
- MSI_log_off.reg - при запуске этого файла, будет отключено ведение логов;
- После этого выполняем установку msi-пакетов;
- Файлы логов будет расположены в каталоге TEMP (данную директорию можно открыть зайдя в Пуск набираем %TEMP% и Ввод или Win+R вводим %TEMP% и нажимаем OK);
- По завершению сбора логов, обязательно выполнить MSI_log_off.reg, так как это окажет неблагоприятное воздействие на производительность системы и заполнит дисковое пространство;
Расшифровка параметров Logging:
Буквы в поле значения могут быть указаны в любом порядке. Каждая буква включает определенный режим записи в журнал. Для MSI версии 1.1 каждая буква имеет следующую текущую функцию:
v – полный вывод
o – сообщения о нехватке места на диске
i - Сообщения состояния
c - Исходные параметры пользовательского интерфейса
e - Все сообщения об ошибках
w – предупреждения об ошибках, не являющихся критичными
a – запуск действий
r - записи, относящиеся к конкретным действиям
m – информация о нехватке памяти или аварийном завершении
u - запросы пользователя
p - свойства терминала
+ - добавить в существующий файл
! - выравнивание строк в журнале
x — дополнительная отладочная информация. Отметка x отображается только в системе Windows Server 2003 или более поздней версии, а также в распространяемом компоненте MSI версии 3.0 или более поздней.
"*" - подстановочный знак: Запись в журнал всей информации, за исключением результатов работы функций v и x. Чтобы включить функции v и x, укажите "/l*vx".