Установщик Windows «Ошибка 1308. Исходный файл не найден» при удалении исправления в сценарии последовательности

Мне требуется ряд неустановимых исправлений, созданных с помощью Patch Design с Installshield 2012. Первые два исправления работают нормально при удалении. Однако третий патч, если и только если он удален, когда патч 1 и / или патч 2 уже были применены, выдает ошибки:

MSI (c) (48:C4) [19:02:54:135]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
Error 1308.Source file not found: {pathToFile}.  Verify that the file exists and that you can access it.

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

Примечание. Если у меня есть только исправление 3, удаление НЕ приводит к этой ошибке.

Я создал все три патча с одинаковыми параметрами в Patch Design. Единственное заметное отличие, которое я понимаю, состоит в том, что патч 3 содержит гораздо больше изменений (обновлений файлов), чем первые два. Позвольте мне повторить: еще много изменений.

Мои вопросы:

Почему это происходит только в том случае, если установлена серия патчей, а не только третий патч?

Что я должен сделать, чтобы предотвратить удаление пакета исправления, чтобы попытаться извлечь файлы из местоположения, которое должно быть только для времени разработки при создании исправления? Или, может быть, это выборка, но кэш слишком перегружен или запутан?

ОБНОВЛЕНИЕ - ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ (запрошено Glytzhkof): Патч содержит 96 файловых изменений, что примерно вдвое меньше базового пакета MSI. Это на самом деле не в ветке Dev. Добавлено несколько новых файлов. Некоторые были первоначально удалены (пришлось вернуть их обратно, когда я обнаружил, что мы действительно делали патч ...). Если бы я описал ситуацию больше, это может обидеть вас как профессионала в этой области.

Я пытался продать Major Upgrade, и установщику потребовалось бы всего несколько настроек, чтобы сделать его ненужным для исправлений. Для удаления нашего продукта требуется параметр, чтобы он не был интерактивным (нам нужен этот параметр, чтобы он работал в сценарии крупного обновления, в настоящее время он является только частью последовательности удаления). Это единственная реальная проблема - но ее исправление обойдется вам в пики. Однако было решено не решать эту проблему. Я пытаюсь «поднять» эту проблему на каждой итерации. Нет кости. Мне сказали, что нам нужны патчи для крупных релизов - поэтому я пытаюсь заставить хвост вилять собакой.

И да, патчи могут быть быстрее (позвольте мне сыграть адвоката дьявола здесь). Но на самом деле, разница между 30 и 90 секундами, когда все это автоматически разворачивается? И да, я также подумал о том, чтобы найти способы оптимизировать установщик с помощью настройки стоимости файла, чтобы узнать, будет ли он быстрее, но даже тогда я уверен, что будет еще одна причина, по которой будет запрашиваться патч.

ДРУГОЕ ОБНОВЛЕНИЕ: файлы, упомянутые в ошибках 1308, не на целевой системе%windir%Installer\$PatchCache$\Managed\{PackedProductCodeOfMyBaseMSI??}

папка. Это может привести к 1308, потому что, если я удаляю больше файлов из этого кэша, я получаю ту же ошибку, соответствующую отсутствующему файлу. Может возникнуть вопрос, почему ВСЕ файл не находится в этомPatchCache папка?