Jun 24, 2009

Web setup projects troubles

При использовании инсталляционных пакетов возникла следующая проблема: 1. Запускается msi файл, который обнаруживает, что .net Framework нужной версии не установлен, и предлогает установить его. 2. Устанавливается .net и предлогает перезагрузку. А далее при запуске установочного файла происходит следующее - инсталляция прерывается и выдает сообщение: "The installer was interrupted before [Application] could be installed. You need to restart the installer to try again. Click "Close" to exit. "
Одним из способов понять что происходит есть запуск msi инсталляции с подробным логированием происходящего. Сделать это можно из командной строки следующим образом:
msiexec /i [Full path to the msi file] /lv [full path to the log file]
Выполнив эту команду был получен довольно таки большой лог. В самом конце которого было следующее сообщение:
DEBUG: Error 2826: Control Line1 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2826. The arguments are: FatalErrorForm, Line1, to the right
Долго искав что это, и ничего не найдя я начал просматривать остальную часть лога. И наткнулся на следующее:
ERROR : [06/24/2009 10:15:46:546] [RegisterAspNet]: The error indicates that this version of ASP.NET must first be registered on the machine.
ERROR : [06/24/2009 10:15:46:546] [RegisterAspNet]: FAILED: -2147024893 ERROR : [06/24/2009 10:15:46:562] [RegisterAspNet]: Custom Action failed with code: '0'
После этого я руками запустил aspnet_regiis /i и инсталлер заработал. Не ясно почему web.setup проект своим запуском не смог зарегистрировать .net. Хотя в логах написано что вызывался aspnet_regiis с правильными параметрами.
Мораль сего такова, логи это хорошо :)