Как я могу убедиться, что у меня установлена MSI версия более ранней библиотеки?
У меня есть MSI, который устанавливает мое приложение. Он имеет один компонент и устанавливается только в%PROGRAMFILES% (без общих двоичных файлов). Упрощенно это выглядит так
Msi file, Monday build:
Program.exe (v1.0.0)
ThirdPartyLibrary.dll (v2.0.1)
Теперь, если я обнаружил ошибку в программе, вызванную моим обновлением DLL ThirdPartyLibrary с v2.0.0 до v2.0.1, и, таким образом, вернул ссылку на v2.0.0, кажется, что мой MSI не заменяет файл автоматически в каталог установки?
Msi file, Tuesday build:
Program.exe (v1.0.0)
ThirdPartyLibrary.dll (v2.0) <- downgraded
Какова наилучшая практика, чтобы папка программы всегда содержала именно двоичные файлы в моей настройке? Должен ли я а) стереть все с установочного каталога перед копированием новых файлов? Есть ли опция (в Wix), которую я могу использовать, которая заставляет msi перезаписывать все файлы независимо от версии?
Что если я удалю файл из установки (файл, который может вызвать ошибки, если он будет присутствовать во время выполнения), то единственный способ получить работающую программу после установки - это сначала удалить все файлы?
1 ответ
Вы можете использовать MSI-трюк. В таблице "Файл" в базе данных msi отредактируйте столбец "Версия" и введите более новую версию, например 3.0. Таким образом, вы воспользуетесь правилами управления версиями файлов.