Как сделать обновления ClickOnce обязательными?

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

Ответ 1

Автоматические обновления

Выбор стратегии обновления ClickOnce (Необходимые обновления)

Один из вариантов - настроить автоматические обновления программного обеспечения и пометить их, как требуется, установив минимальную требуемую версию в манифест развертывания. Вы можете установить это в диалоговом окне свойств в Visual Studio или через конфигурацию со следующим тегом: <deployment install="true" minimumRequiredVersion="1.0.0.0">. Минимальная требуемая версия проверяет версию вашей сборки, и если она не является тем, что вы здесь указываете, она заставит обновление.

Программные обновления

Как добавить программное обновление по запросу

Другой вариант, который позволит вам больше контролировать, когда и как часто происходит обновление, - это делать программные обновления. Вы можете использовать API ClickOnce для проверки любых обновлений на сервере развертывания и установки их после запуска вашего приложения. У вас может быть гораздо больше контроля над тем, какие обновления должны быть установлены, как они установлены и как вы уведомляете пользователя об обновлениях. Если ваше приложение, как правило, является длинным экземпляром, вы также можете настроить таймеры для работы в фоновом режиме так часто, чтобы делать обновления.

Вот пример реализации, который опросает интервал: Пример.

Вы также можете объединить два вышеперечисленных метода обновления.

Ответ 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-Выберите "Укажите минимально требуемую версию для этого приложения"
и
Наконец, сделайте номер версии таким же, как "Опубликовать версию".