Installshield незначительное обновление компонента
Мы производим незначительное обновление нашего продукта и хотели бы подтвердить следующее, что касается обработки компонентов при незначительном обновлении:
Я не хочу, чтобы некоторые компоненты были установлены в системе после незначительного обновления. Итак, я удалил эти компоненты из представления "Настройка дизайна". Тем не менее, я все еще вижу компоненты в представлении "Компоненты" с красным восклицательным знаком, показывающим, что они больше не являются частью какой-либо функции. Installshield рекомендует не удалять компоненты из продукта при незначительном обновлении.
- Это нормально? Или это добавит некоторый риск для обновления или удаления?
- Компоненты по-прежнему отображаются красным восклицательным знаком в представлении "Компоненты". Означает ли это, что в моем Продукте все еще есть Компоненты, и я могу безопасно удалить эти компоненты из представления Setup Design?
1 ответ
Здесь есть несколько слоев. По сути, удаление компонентов при незначительном обновлении не допускается установщиком Windows (см. MSIENFORCEMINORUPGRADERULES или " Крупное обновление по сравнению с" Незначительное обновление "против" Небольшое обновление ")". Результатом обычно является то, что данные в этом компоненте теряются на компьютере; незначительное обновление не удаляет данные, но удаляет запись данных установщика Windows.
Некоторые люди рекомендуют получить желаемый эффект удаления компонента при незначительном обновлении с помощью настройки компонента. Reevaluate Condition
, по умолчанию - Нет, но если вы установите это значение Да и предоставите ложное Condition
такие как 0
, незначительное обновление может удалить данные компонента. (Вы можете также связать это с пустым файлом, заменяющим содержимое любых файлов, которые были в компоненте, чтобы уменьшить размер вашей установки. Измените только содержимое файлов, иначе установщик Windows не сможет удалить устаревшие файлы.)
Наконец, удаление компонента из компонента не удаляет его из вашего проекта, хотя, когда компонент больше не является частью каких-либо функций, сборка исключает его из полученного MSI-файла. Поэтому, когда вы будете готовы перейти на серьезное обновление, вы должны полностью удалить компонент из своего проекта; до тех пор вы должны сохранить компонент.