wix - установщик или патч-установщик

у меня уже есть установщик для нашего приложения. но это exe-файл. он был создан много лет назад .. приложение конечно обновилось. мы использовали bat-файл для регистрации новых dll-файлов и установки нашего сервиса (windows). но мы хотим сделать все это установщиком, а не bat-файлом. мы выбрали технологию wix. Я читал об узле <Patch>, но для его использования мне нужен msi из предыдущей версии .. Я думаю сделать простой установщик, который остановит службу, скопирует и зарегистрирует dll в каталоге установленного приложения, установит службу. но я не знаю, перезапишет ли он файлы без проблем?


person Nerielle    schedule 29.03.2011    source источник
comment
Вы можете попробовать создать полный MSI-файл для новой версии, который удаляет старый EXE-пакет перед установкой. Таким образом, вы сможете начать исправлять MSI в будущем.   -  person cosmin    schedule 29.03.2011


Ответы (2)


Файлы с установленными версиями, такие как исполняемые файлы, будут автоматически перезаписаны, если номер версии файла меньше.

См. Также Копировать, если его нет в WiX.

person wimh    schedule 29.03.2011

Вы можете создать только MSP (патч) для MSI (установщика). Кроме того, вы столкнетесь с проблемами подсчета ссылок на компоненты, если установите компоненты в тот же каталог, что и исходная установка. Проблема в том, что MSI увидит, что файл уже существует, сделает его общим ресурсом и увеличит счетчики использования. Затем при удалении он уменьшится, убедитесь, что он не равен 0, и удалите, чтобы удалить файлы.

Я предлагаю выполнить установку в новый каталог, а затем использовать таблицу RemoveFile, чтобы избавиться от старых файлов. Также я бы посоветовал следовать хорошей практике CM / Versioning, чтобы вам не приходилось беспокоиться о взломах, таких как Version Lying.

Если все ваше приложение просто должно скопировать файлы, настроить каталог и, возможно, даже ShortCut, это должно быть кусок пирога.

person Christopher Painter    schedule 29.03.2011