В настоящее время я создаю приложение, которое проверяет наличие обновлений, и дает пользователю возможность установить или не устанавливать обновления. Я хочу, чтобы он просто автоматически устанавливал обновления независимо от того, что. Как это сделать?
Как сделать обновления ClickOnce обязательными?
Ответ 1
Автоматические обновления
Выбор стратегии обновления ClickOnce (Необходимые обновления)
Один из вариантов - настроить автоматические обновления программного обеспечения и пометить их, как требуется, установив минимальную требуемую версию в манифест развертывания. Вы можете установить это в диалоговом окне свойств в Visual Studio или через конфигурацию со следующим тегом: <deployment install="true" minimumRequiredVersion="1.0.0.0">
. Минимальная требуемая версия проверяет версию вашей сборки, и если она не является тем, что вы здесь указываете, она заставит обновление.
Программные обновления
Как добавить программное обновление по запросу
Другой вариант, который позволит вам больше контролировать, когда и как часто происходит обновление, - это делать программные обновления. Вы можете использовать API ClickOnce для проверки любых обновлений на сервере развертывания и установки их после запуска вашего приложения. У вас может быть гораздо больше контроля над тем, какие обновления должны быть установлены, как они установлены и как вы уведомляете пользователя об обновлениях. Если ваше приложение, как правило, является длинным экземпляром, вы также можете настроить таймеры для работы в фоновом режиме так часто, чтобы делать обновления.
Вот пример реализации, который опросает интервал: Пример.
Вы также можете объединить два вышеперечисленных метода обновления.
Ответ 2
В проекте "Автоматическое обновление Project Minimum Required ClickOnce Version" есть пакет nuget, который обновляет настройки ClickOnce.
https://aupmrcov.codeplex.com/ [архивировано]
GitHub:
https://github.com/deadlydog/AutoUpdateProjectsMinimumRequiredClickOnceVersion
NuGet:
https://www.nuget.org/packages/AutoUpdateProjectsMinimumRequiredClickOnceVersion
Ответ 3
Просто этого можно добиться, добавив тег <target>
ниже в файл проекта .csproj
.
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
// Other Tags ...
<Target Name="AutoSetMinimumRequiredVersion" BeforeTargets="GenerateDeploymentManifest">
<FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
<Output PropertyName="MinimumRequiredVersion" TaskParameter="OutputVersion" />
</FormatVersion>
<FormatVersion Version="$(ApplicationVersion)" Revision="$(ApplicationRevision)">
<Output PropertyName="_DeploymentBuiltMinimumRequiredVersion" TaskParameter="OutputVersion" />
</FormatVersion>
</Target>
// Other Tags ...
</Project>
Это автоматически сделает вашу публикацию/обновление обязательной без каких-либо дополнительных действий.
Ответ 4
Если вы укажете минимальную требуемую версию, такую же, как и текущая версия публикации, ваше приложение будет обновляться сразу после его открытия.
1 - Просто щелкните правой кнопкой мыши имя проекта
2-Выберите свойства
Публикация 3-Click публикации (примечание публикации)
4 - Нажмите кнопку "Обновить"
5-Выберите "Укажите минимально требуемую версию для этого приложения"
и
Наконец, сделайте номер версии таким же, как "Опубликовать версию".