2015-12-11 3 views
0

, на момент моего приложения обновляется до запуска приложения. Если появится новая версия, появится приглашение. Некоторые из моих клиентов не перезапускают программу, они просто выходят из системы и оставляют ее в фоновом режиме. Как настроить clickonce для обновления программы до запуска приложения и проверять обновления каждые 4 часа.ClickOnce, имеющий до и после обновлений

Я вижу, есть два варианта в Обновлениях приложений - после запуска приложения и перед запуском приложения. Но я ищу что-то, что является комбинацией того и другого.

ответ

3

Я реализовал это следующим образом:

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; 
} 
+0

Знаете ли вы, если программное обеспечение необходимо перезапустить? – Master

+0

@Master, да, он должен (http://stackoverflow.com/a/24794320/2964291) –

2

Невозможно сделать это одним щелчком мыши.

Я предлагаю вам создать фоновый поток в приложении, что проверить, есть ли новая версия приложения ...

Смежные вопросы