Я создал настольное приложение Windows Forms, используя VS 2015 в Win 10. Когда я выпускаю новую версию, я бы хотел, чтобы пользователи могли запускать установщик без предварительного удаления каких-либо более ранних версий. Для этого я создаю новый код продукта на вкладке «Общая информация» InstallShield LE, которая включена в VS 2015. Это единственный способ установки новых версий поверх старых. Представленные InstallShield подробные описания того, как создавать обновленные версии с использованием UpdateCode, похоже, не работают. После установки старые и новые версии появляются в списке, показанном в Панели управления-> Программы и компоненты.
Я создал новый самораспаковывающийся установщик .exe для новой версии, содержащий ссылку на Глобальную версию 2.1.68, но когда я запускаю его в среде Win 7 на другом компьютере с более ранней версией (2.1.62) ссылаясь на сборку Global Version 2.1.62 была установлена и открыта конкретная форма, я получаю сообщение об исключении
Не удалось загрузить файл или сборку 'Global, версия = 2.1.62.0, Culture = Neutral, PublicKeyToken = a95f9488c29' или одна из ее зависимостей.
Определение манифеста обнаруженной сборки не соответствует ссылке на сборку.
Текст исключения:
System.IO.File.LoadException: не удалось загрузить файл или сборку 'Global, версия = 2.1.62.0, Culture = Neutral, PublicKeyToken = a95f9488c29 в ...
Если я удаляю Версию 2.1.62 через Панель управления и устанавливаю Версию 2.1.68 приложения, ошибка не возникает.
Я проверил ссылки C # на Global dll, и все они указывают на обновленную dll.
Я бы хотел, чтобы пользователи могли устанавливать новые версии без предварительного удаления старых, но похоже, что что-то из установки V 2.1.62 переносится в более новую установку и пытается найти старую версию Global .dll