单击一次更新前后

本文关键字:更新 一次 单击 | 更新日期: 2023-09-27 18:26:23

在应用程序启动之前,我的应用程序会完美更新。如果有新版本,则会出现提示。我的一些客户不会重新启动程序,他们只是注销并让它在后台运行。如何设置clickonce以便在应用程序运行之前更新程序,并每4小时检查一次更新。

我可以在应用程序更新中看到两个选项-在应用程序启动之后和启动之前。但我正在寻找两者结合的东西。

单击一次更新前后

我通过以下方式实现了这一点:

public void StartSearchForUpdates()
{
    if(!ApplicationDeployment.IsNetworkDeployed)
    {
        return;
    }
    bool updateAvailable = false;
    Task.Run(async () =>
    {
        while (!updateAvailable)
        {
            await Task.Delay(TimeSpan.FromHours(4));
            updateAvailable = ApplicationDeployment.CurrentDeployment.CheckForUpdate();
            if (UpdateAvailable)
            {
                ApplicationDeployment.CurrentDeployment.UpdateAsync();
                ApplicationDeployment.CurrentDeployment.UpdateCompleted += OnUpdatedCompleted;
            }
        }
    });
}
private void OnUpdatedCompleted(object sender, AsyncCompletedEventArgs e)
{
    AvailableVersion = ApplicationDeployment.CurrentDeployment.UpdatedVersion;
}

点击一次是无法做到的。

我建议你在你的应用程序中创建一个后台线程,检查是否有新版本的应用程序。。。