Вопрос по – MSI обновить и сохранить ключи реестра?

1

У нас есть продукт, 1.0, в этой области. Я пытаюсь обновить установщик для этого продукта, чтобы он мог установить поверх старой версии, чтобы установить новую версию 2.0. Я использую проект установки Visual Studio 2010 для этого.

Я сохранил код UpgradeCode и установил для удаления более ранние версии значение true, и новый установщик успешно установит поверх старой, удалив старую.

Тем не менее, кажется, что удаление старого MSI происходитafter установка нового MSI. Оба MSI используют одни и те же ключи реестра (поскольку наш код, который их использует, не изменился) ... но это означает, что при удалении старого MSI он удаляет эти ключи реестра. И поскольку эта установка происходит после установки нового MSI ... эти ключи просто исчезли.

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

Редактировать: Итак, я выяснил, как переместить шаг RemoveExistingProduct ранее в этом процессе. И я дважды проверил - да, в VS2005 это было сделано первым, в 2010 году - почти последним. Я не уверен, как они ожидают, что это сработает, если старый деинсталлятор удаляет вещи, которые добавляет новый установщик ... в любом случае, это просто вопрос получения Orca и редактирования порядкового номера шага.

Ну, так много для этого. Патч -connect.microsoft.com/VisualStudio/Downloads/… кажется, ничего не помогает. Nate Finch
Похоже, что это может быть ошибкой в модернизированных проектах установки. Примечание, которое я не хотел включать, заключалось в том, что старый проект установки был создан в VS2005, а новый проект был создан в 2010 году. Вот ссылка на проблемы, подобные моей в этом сценарии:connect.microsoft.com/VisualStudio/feedback/details/559575/…    Я сейчас пробую патч и отвечу, когда узнаю, работает он или нет. Nate Finch

Ваш Ответ

1   ответ
3

Похоже, вам может понадобитьсяRemoveExistingProducts Действие в последовательности установки - возможно, до действия InstallValidate.

Боюсь, я не знаю, как это сделать с помощью Visual Studio - я использую Advanced Installer, потому что я обнаружил, что он предоставляет гораздо более простой интерфейс для создания и управления установочными пакетами.

В Advanced Installer вы можете просто выбрать порядок обновления в представлении Upgrades, остальное автоматически обрабатывается приложением.
@NateFinch Что, 747? :-)
Кстати, это сработало. \ Nate Finch
Да, интерфейс проекта установки Visual Studio ужасен. Как попытка построить 747 с камнем и заостренными палками. Nate Finch

Похожие вопросы