Установка MSP не удается на сервере 2008, но успешно на сервере 2003
Приветствие пользователям WIX,
Недавно я столкнулся со странной проблемой с одним из наших патчей, и я действительно потерян. Пытался разобраться в проблеме в течение 3 дней, но все еще ничего, поэтому я отправляю ваш вопрос на ваш лад с надеждой, что кто-то что-то увидит. Это касается исправления 7 в сборке, в которой уже было исправлено 6 исправлений (.msp), поэтому ранее в ней были функциональные исправления.
Когда я устанавливаю сборку с последующим исправлением, скажем, на Windows Server 2003, кажется, что все устанавливается правильно. Однако под сервером 2008 установка завершается неудачно с сообщением об ошибке:
"Ошибка применения исправления к файлу C:\Config.Msi\PT1E0D.tmp. Возможно, оно обновлено другим способом и больше не может быть изменено этим исправлением".
После просмотра в журнале это, кажется, связано с dll Coveo.ces.web.search.dll, установленной в папке bin (а не с копией в GAC). Но я имею в виду, ничего не должно было измениться с момента первоначальной установки.
Я думаю, что это связано с используемой версией установщика Windows ( 3.0 на сервере 2003 и 4.0 на сервере 2008), но я не нашел ничего, что бы поддерживало это.
Я сталкивался с этой ошибкой однажды раньше, и это было связано с тем, что мы устанавливали 2 одинаковых файла в GAC, которые перезаписывали друг друга, но в этом случае это никогда не происходило на первом исправлении (всегда на втором), и это не зависит от системы.
Файлы PCP очень похожи на MSI, созданный для генерации msp. Я сравнил сбойный журнал исправлений 7 с успешной установкой исправления 6, и вот, на мой взгляд, основные отличия dll Coveo.ces.web.search в хронологическом порядке. Если вам нужен полный журнал, просто спросите и Я буду рад отправить его вам.
Спасибо за вашу помощь, NickL
1 ответ
Так что мой вопрос попал в недра неизвестных людей, которые не знают... Да! Таким образом, проблема возникла снова, что-то похожее, что сначала казалось не связанным, так как это противоположный сценарий. При установке в системе с сервером 2008 я не сталкиваюсь с проблемой, но при установке на сервере 2003 я сталкиваюсь с той же проблемой.
"Ошибка применения патча к файлу NAME. Возможно, он обновлен другим способом и больше не может быть изменен этим патчем".
Я провел некоторое исследование и нашел мой вопрос без ответа о переполнении стека. Облом.
Я не сдался (у меня нет большого выбора) и после нескольких дней, проводя дополнительные исследования, я обнаружил следующее:
С этой ошибкой может произойти сбой Delta Patch в устаревших операционных системах. Вероятно, он был обновлен другими способами и больше не может быть изменен этим патчем.
http://support.microsoft.com/kb/2545078
Он ответил на вопрос о сбое под сервером 2003 (мы действительно используем MSI 5.0). После ручной фиксации msp все заработало. Это боль, но это исправляет.
Тогда, обращая больше внимания, читая вот что говорит:
"Целевая Vista и более поздние операционные системы. Для устаревших операционных систем потребуется отдельный патч, созданный с использованием более ранних ресурсов для создания патчей. Патчи, созданные с использованием более ранних ресурсов, также будут иметь аналогичные проблемы в Vista и более поздних операционных системах и выходят за рамки данной статьи."
Лучшее решение для полного решения этой проблемы - использовать целые файлы вместо двоичных патчей.
Поэтому, если у вас возникнут проблемы с чем-то похожим, я надеюсь, что решение поможет вам. (И извините, если бы я не нашел свой собственный незваный вопрос, я бы, вероятно, никогда бы не потратил время на его обновление:).)
Nickl