Как удалить файлы из установщика при незначительном обновлении - PullRequest
0 голосов
/ 03 августа 2011

Во время незначительного обновления в InstallShield 2011, как удалить / удалить некоторые файлы, которые были установлены из базовой программы установки, и для следующего обновления, если мы хотим получить обратно удаленные файлы, как мы можем вернуться?

1 Ответ

1 голос
/ 20 марта 2019

Общее предложение : Использовать один файл на компонент .Это позволяет избежать всевозможных проблем со ссылками на компоненты, и вы можете воскрешать файлы при крупных обновлениях, если вам нужно вернуть их после удаления.

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


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

Быстрые советы : я почти никогда не использую незначительные обновления (по причинам, понятным после прочтения вышеупомянутого связанного ответа), но вот некоторые выдержки из контрольного списка Стефана Крюгера (MSI и эксперт по развертыванию - MVP):

  • Вы можете изменять содержимое компонента (добавлять, удалять или изменять файлы, ключи реестра и ярлыки), но только если этот компонент не используется всеми функциями.
  • Если вы удаляете файл или раздел реестра из компонента, необходимо заполнить таблицу RemoveFile или RemoveRegistry, соответственно, чтобы удалить потерянный ресурс.

Несмотря на устаревание содержимого, я считаю, что вышеприведенное верно.

Major Upgrade : я настоятельно рекомендую вам перейти на серьезные обновления в будущем.Если вы очень строго соблюдаете правила для компонентов и не нарушаете никаких ссылочных правил, вы можете надежно установить крупные обновления с помощью Late REP - как мы его называем - это означает, что новая версия устанавливается как патч поверхсуществующих файлов, а затем удаляет только устаревшие файлы (в отличие от Early REP , который полностью удаляет старую версию, а затем устанавливает новую версию). Немного больше о ранних / поздних REP здесь .


Ссылки :

...