Подтвердить что ты не робот

Приложение ClickOnce пропускает запрос об обновлении (или завершение запуска при выборе пропуска)

Я обновил приложение ClickOnce, а затем, когда пользователь запустил их, им задали вопрос, хотите ли они установить новую версию.

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

Другая опция - пропустить запуск, если нажата кнопка пропуска (это тоже отлично работает).

Мне нужно каким-то образом остановить их от запуска старой версии приложения.

4b9b3361

Ответ 1

Эта статья отвечает на ваш вопрос. Я указываю вам статью, а не просто отправлю ответ, потому что все в статье стоит знать.

http://www.sayedhashimi.com/CategoryView,category,ClickOnce.aspx

Ниже приведена соответствующая выдержка из статьи:

Форсирование обновлений ClickOnce

Одна из больших точек продажи ClickOnce - это автоматическое обновление. Один из общие вопросы, которые я получаю с учетом к обновлениям: "Как я могу заставить обновить пользователя?"

Есть три вещи, которые нужно знать уважать принудительное обновление пользователей:

1) Если ваше приложение является онлайн приложения, ваши пользователи всегда будут запустить последнюю версию; онлайн приложения загружаются каждый раз доступ к приложению. Таким образом, с онлайн-приложениями, вы получаете принудительные обновления по умолчанию.

2) Если ваше приложение установлено приложения, вы можете принудительно обновлять используя MinimumRequiredVersion атрибут. Если вы публикуете свои приложения с помощью Visual Studio, вы может установить это свойство из обновлений Диалог.

3) Последнее, что нужно отметить, это то, что если ваше приложение установлено приложения (и вы не установили MinimumRequiredVersion) ClickOnce предложит пользователю Диалоговое окно "Обновление доступно" ТОЛЬКО, если пользователь запускает приложение из Нажмите "Пуск". То есть, если приложение установлено приложения, и пользователь запускает приложение из URL, ClickOnce принудительно обновляет.


Я также нашел еще одну хорошую статью:

ClickOnce: обеспечение простоты и надежности для развертывания Smart Client

Ответ 2

Это аккуратно сработало для меня. Добавьте в файл проекта следующее:

<UpdateRequired>true</UpdateRequired>
<MinimumRequiredVersion>$(ApplicationVersion)</MinimumRequiredVersion>

Обратите внимание, что ApplicationVersion не может иметь значение, подобное 1.0.0.* в файле проекта, и оно должно быть увеличено во время сборки для автоматического обновления.

Если вы используете TeamCity, чтобы увеличить номер версии, перейдите на страницу Конфигурация сборки для своего проекта и установите следующее Системное свойство:. p >

system.ApplicationVersion = %build.number%

Вы также можете получить MSBuild для увеличения версии по времени с помощью следующего:

<UpdateRequired>true</UpdateRequired>
<BuildNumber>$([System.DateTime]::Now.ToString(yyyyMMdd))</BuildNumber>
<RevisionNumber>$([System.DateTime]::Now.ToString(mmss))</RevisionNumber>
<ApplicationVersion>1.0.$(BuildNumber).$(RevisionNumber)</ApplicationVersion>
<MinimumRequiredVersion>$(ApplicationVersion)</MinimumRequiredVersion>

Ответ 3

Это сработало, сняв флажок. Приложение должно проверять наличие обновлений, и приложение начало обновляться без запроса пользователя после двух версий.

Enter image description here

Ответ 4

В дополнение к ответы Дэвида просто установите AutoUpdateProjectsMinimumRequiredClickOnceVersion nuget package в ваш проект. После того, как ваш проект настроен на проверку обновлений и использование минимальной требуемой версии, это будет означать, что минимальная требуемая версия всегда соответствует вашей текущей версии (т.е. пользователь всегда будет вынужден обновлять до последней версии).

Ответ 5

Чтобы принудительно обновить клиентов, вы должны установить минимальное поле версии, равное текущей версии, которую вы развертываете, это заставит обновить вариант "пропустить".