"Msiexec REINSTALL=ALL REINSTALLMODE=vamus" не очищает старые записи

Я создал установщик "test.msi". Это версия-1. test.msi содержит 2 компонента "comp1", "comp2" comp1 содержит 2 файла "comp1_file1", "comp1_file2"

Во второй версии test.msi, -> добавлен новый компонент "comp3". Содержит 1 файл "comp3_file1" -> обновлен компонент "comp1". Файл "comp1_file2" удален и добавлен новый файл "comp1_file3" Теперь он содержит 2 файла (comp1_file1, comp1_file3)

если я обновляю test.msi с версии 1 до версии 2, используя "msiexec /i test.msi REINSTALL=ALL REINSTALLMODE=vamus", в папке установки все еще можно увидеть файл версии 1 "comp1_file2".

если я понижаю версию с версии 2 до версии 1 с помощью msiexec / i test.msi REINSTALL = ALL REINSTALLMODE = vamus, в папке установки версии 2 существуют связанные файлы (comp3_file1, comp1_file3).

Как удалить старые записи (компоненты / файлы) во время переустановки?

Я использую Installshield 2008 Premier Edition.

2 ответа

Решение

Переходные компоненты - путь. MS описывает их здесь: http://msdn.microsoft.com/en-us/library/aa372462%28v=vs.85%29.aspx

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

Как предположил Космин, вы не можете удалять компоненты во время ремонта, но вы можете удалить предыдущие версии перед началом процесса установки новой версии.

Один из способов установить InstallShiled 2008 - создать серьезное обновление, которое будет делать это. Видеоурок.

редактировать

Как сказал Кристофер: существуют способы удаления компонентов при незначительных обновлениях / ремонтах. Комментарий ниже.

Другие вопросы по тегам