C# 单击一次更新之前和之后
目前,我的应用程序在应用程序启动前完全更新。如果有新版本,将出现提示。我的一些客户端不会重新启动程序,他们只是注销并让它在后台运行。如何设置clickonce以在应用程序运行之前更新程序,并每4小时检查更新C# 单击一次更新之前和之后,c#,wpf,C#,Wpf,目前,我的应用程序在应用程序启动前完全更新。如果有新版本,将出现提示。我的一些客户端不会重新启动程序,他们只是注销并让它在后台运行。如何设置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;
}
我通过以下方式实现了这一点:
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;
}
您知道软件是否必须重新启动吗?您知道软件是否必须重新启动吗?