патч секвенс ломает полную ошибку установки 1309 - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть установка, разработанная в installshield (1.5.0)

Мы выпустили несколько патчей (1.5.1, 1.5.2, 1.5.3, 1.5.4 и т. Д.). Все они являются накопительными патчами и включают в себя все изменения. Они выпускаются в виде MSP-файлов

Мы только что выпустили полную версию MSI 1.5.14.

Если я установлю и другие в нашем офисе запустим 1.5.0-> 1.5.4-> 1.5.14, ошибки не будет.

Клиент запустил ту же последовательность и получил ошибку 1309. Он говорит, что файл распакован, когда его нужно сжать.

Выполнение операции: FileCopy (SourceName = xx.EXE | xx.exe, SourceCabKey = xx.exe, DestName = xx.exe, Attributes = 8192, FileSize = 163840, PerTick = 65536,, VerifyMedia = 1 ,,,,, CheckCRC = 0, Version = 1.0.0.0, язык = 0, InstallMode = 130023424 ,,,,,,,) Файл: D: \ уу \ ZZ \ xx.exe; Переписать; Не исправит; REINSTALLMODE указывает все файлы, которые будут перезаписаны Исходный файл "xx.exe" - без сжатия , в 'D: \ 1.5.14 \ DISK1 \ уу \ ZZ \'. Повторное применение защиты из существующего файла. Проверка доступности файла: xx.exe Примечание: 1: 1309 2: 3 3:

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

Если я удаляю патчи для последовательности в реестре, ошибка не происходит. Эта установка уже выпущена, и мне нужно, чтобы она работала. Я не хочу просить клиентов удалить записи реестра.

Реестр Удалено HKEY_CLASSES_ROOT \ Установщик \ Код продукта \ Патчи Данные исправления: ": Prev1ToAutoLatest;: # Prev1ToAutoLatest"

Журнал показывает:

Требуется преобразование патча: Prev1ToAutoLatest

Что означает Prev1ToAutoLatest? Похоже, что это связано.

Есть ли опция командной строки, которую я могу использовать, чтобы указать msi пропустить шаг последовательности исправлений?

Отредактировано: Я думаю, что ошибка 1309 происходит, потому что патч был собран из несжатой установки (которая никогда не выпускалась как полная установка), а msi - это сжатая установка. Если я пропущу патч, это не проблема.

...