У меня проблема с первым обновлением (я думаю, это правильный термин?) Для моего установщика Installshield MSI. Я изменил необходимые значения в установщике, как я уже делал много раз: установите «Версия продукта» с «2.0.12» на «2.0.13» и обновите версию файла компонента/сборки с «2016.12.19.1415» до «2017.1» .30.1037" . Однако, когда я запускаю обновление, компонент не обновляется с версии 2016 до версии 2017.Обновление Installshield MSI, не обновляющее файлы
Ниже как можно больше информации о компоненте, как я получил из журнала MSI:
MSI (ов) (4C: 10) [16: 01: 32: 848]: Компонент: EAS.Common.SignalR .Client.dll; Установлено: локально; Запрос: Null; Действие: Null
Редактировать: я вернул предыдущую версию установщика и добавил обновления. Обновление теперь работает правильно. Поэтому я думаю, что это связано с новыми компонентами, которые я добавил.
Проблема заключалась в том, что я удалил компонент, существовавший при предыдущих установках. Я установил для компонента условие «1 = 0» и переименовал его в «DONOTDELETE_ {name}» –
. Я был бы осторожен в переименовании Компонента. MSI действительно не любит изменение первичных ключей. FYI, обязательно прочитайте о «прокалывающих» компонентах, используя бит Transitive Component, если вы используете MSI < 4.5. For > = 4.5 читайте на MSIUNINSTALLSUPERSEDEDCOMPONENTS. http://stackoverflow.com/questions/23102970/remove-file-during-minor-upgrade –
Слово предупреждения о переименовании компонентов и других первичных ключей: https://blogs.msdn.microsoft.com/windows_installer_team/2007/03/07/произвольные метки-used-as-primary-keys-must-not-be-changed-between-versions/ –