Проблема дифференциального исправления в установщике Windows XP / 2003 - PullRequest
1 голос
/ 31 августа 2010

Я столкнулся с проблемой, связанной с программой установщика Windows. Я использую одну из популярных программ мастера установки, которая использует механизм установки MSI. Он предоставляет возможности дифференциального исправления, которые, конечно, поддерживаются установщиком Windows.

Однако я столкнулся с проблемой при попытке применить исправление в WinXP (SP3) и 2003 (SP2).

Я получаю ошибку установщика Windows 1328:

"Ошибка применения исправления к файлу [dll_name] Возможно, оно было обновлено другими способами и больше не может быть изменено этим исправлением. Для получения дополнительной информации обратитесь к поставщику исправления. [Abort / Retry / Ignore]"

dll_name - это мой файл dll, и эта ошибка возникает только с этим конкретным файлом.

Он имеет размер чуть более 20 МБ, а плагин Total Commander для сравнения файлов по содержимому показывает разницу в 2800 байт.

В глубине Интернета я обнаружил, что в старых версиях MSI были проблемы с большими файлами со многими изменениями в них, однако я не смог найти какие-либо обновления или исправления для XP, чтобы решить эту проблему и сделать мой патч работает.

Единственное исправление, которое я обнаружил, было: WindowsServer2003-KB983280-x86-ENU.exe для Windows 2003 Server, но это исправление не помогло.

У меня больше нет идей о том, как решить эту проблему, и я был бы рад получить любую помощь, которая может привести к правильному выполнению этого патча для файла.

1 Ответ

1 голос
/ 02 сентября 2010

Я столкнулся с этим перед использованием инструментов InstallShield.

В нашем случае это было связано с созданием патча на уровне байтов, который по существу содержит только байты, которые отличаются от исходного выпуска итекущая сборка.Преимущество этого подхода в том, что патч настолько мал, насколько это возможно.

Недостатком этого подхода является то, что, если уже был применен другой более ранний патч, затрагивающий один или несколько файлов в вашем последнем патче, он больше не можетСоберите обновленный двоичный файл, и вы получите сообщение об ошибке, которое вы упомянули.

Мы смогли преодолеть проблему в нашем продукте, выбрав опцию «Включить целые файлы» в IDE патча, а затем мыперестроил патч.Это сделало патч включающим целые двоичные файлы.

Подробнее об ошибке:

http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q107088&sliceId=

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...