MSI Ошибка 2920: исходный каталог не указан для файла [2] при исправлении через WiX / MSP - PullRequest
1 голос
/ 24 января 2012

В настоящее время у нас есть сценарий, в котором есть выпуск CD (A), средний патч (B) и патч, который вот-вот выйдет (C).

Установка (A) и установка исправлений непосредственно на (C) работает нормально, но когда пользователь устанавливает исправления до (B), а затем до (C), он получает ошибку 2920 во время действия «Копирование новых файлов» (первый файл в последовательности).

Что интересно, эта проблема не возникает в Windows 7, но возникает в Windows 2000 и XP, что говорит о том, что разные версии установщика Windows по-разному обрабатывают этот сценарий.

Текущая реализация исправления создает установки администратора, подготавливает исходные файлы WiX для MSP, создает файл PCP, затем создает / подписывает файл MSP.

Я посмотрел, что не было определенной причины / решения.

Спасибо за ваше время.

Ответы [ 2 ]

2 голосов
/ 24 января 2012

Я никогда не создавал патч с использованием Wix, но я делал это с другими инструментами разработки, и из того, что я знаю, установщику Windows требуется набор базовых правил, которые должны соблюдаться для правильного создания пути.Один из них говорит: « Не меняйте порядок файлов в шкафу. ».Вы проверили это в своих пакетах?

Более подробную информацию о правилах, необходимых для патча, можно найти здесь: http://msdn.microsoft.com/en-us/library/aa367850.aspx

0 голосов
/ 02 февраля 2012

После разговора по телефону с технологией Microsoft выясняется, что проблема возникает независимо от того, идет ли речь о базовом или среднем патче. Сама проблема проявилась в виде несовместимости версии установщика Windows.

В основном, когда мы выпускали релиз CD, мы использовали VS2008. С тех пор мы перешли на VS2010, и последний патч был сделан с файлами, созданными в VS2010. VS2010 (из того, что сказал мне технический специалист) зависит от установщика Windows 4.5.

Более ранние версии ОС (например, 2K3 и XP) поставляются с более ранними версиями установщика Windows и поэтому выдают ошибку.

В итоге я просто загрузил пакеты Windows Installer 4.5 и настроил сценарии lua, чтобы персонализировать пользовательский интерфейс.

...