Проект развертывания, не обновляющий .exe

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

Отправляя с задержкой, вы только замаскировали эту проблему.

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

Но я все еще не думаю, что это хороший пользовательский опыт.

11
задан Community 23 May 2017 в 12:30
поделиться

5 ответов

Трудно сказать, что может быть причиной этого. Как вы устанавливаете MSI, который не удаляет предыдущую версию? Я бы порекомендовал запустить установку, которая не работает с подробным ведением журнала. Я бы запустил его из командной строки следующим образом:

msiexec /i "project.msi" /l*v "c:\install.log"

/ l говорит msiexec (который является службой установщика) создать журнал, * говорит, чтобы он регистрировал все, а v говорит ему использовать подробный режим.

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

ДОПОЛНИТЕЛЬНЫЕ ВОПРОСЫ: Файл журнала заставляет его выглядеть так, будто установщик считает, что делать нечего. Когда вы заявляете, что обновляете версию файла, что вы обновляете? Как у вас есть файлы для развертывания? Есть ли у них как " или вы включаете сборки напрямую? Есть ли у вас определение зависимостей и их автоматическое включение, или вы включили выходные данные проекта?

ОБНОВЛЕНИЕ См. Этот пост с описанием того, что необходимо изменить для автоматического обновления MSI. Вопрос 511789

9
ответ дан 3 December 2019 в 03:53
поделиться

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

1
ответ дан 3 December 2019 в 03:53
поделиться

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

1
ответ дан 3 December 2019 в 03:53
поделиться

Возможно, исполняемый файл вашего приложения не обновляется, поскольку вы не увеличили информационный ресурс VERSION в своем проекте MFC.

Недостаточно просто увеличить версию проекта установки. См. Ниже:

http://msdn.microsoft.com/en-us/library/6fkzft86.aspx

«Информация о версии также используется API установки»

5
ответ дан 3 December 2019 в 03:53
поделиться

Finally figured this out after banging my head against the wall for hours.

My problem was identical to this one and ended up being very simple to solve. Two answers above led me in the right direction and helped me figure out my problem but here it is in a nutshell.

If you have RemovePreviousVersion set to true then the problem is most likely in the application settings under the assembly information button.

I ran the log as mohlsen showed in the answer above, msiexec /i "project.msi" /l*v "c:\install.log" and ended up with the same response, Won't Overwrite; Won't patch; Existing file is of an equal version

Inverse pointed me in the right direction but also threw me off a bit with the MFC reference. I am writing a windows app and finally put two and two together and went to the properties of the app I am writing under the Application tab. There is a button called Assembly Information that leads to the assembly version and file version. I incremented these and now my .exe file updates.

So you do have to do two things, increment the actual assembly version in the app you are writing as well as the version of the install package.

5
ответ дан 3 December 2019 в 03:53
поделиться
Другие вопросы по тегам:

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