是否有一个脚本可以始终使所有已发布的版本都需要更新?我想强制更新所有客户,无论如何,即使在使用ClickOnce部署API后,也会询问他们是否要更新。
答案 0 :(得分:1)
是的,您可以通过要求最小版本强制升级所有客户。这样您就可以进行不兼容的服务器更改。
来自MSDN:
要根据需要标记更新,请单击“指定所需的最低要求” “应用程序更新”对话框中此应用程序的版本, 然后指定发布版本(Major,Minor,Build,Revision), 它指定了可以的应用程序的最低版本号 安装。
答案 1 :(得分:0)
我最终使用了ClickOnce部署API,在那里我可以更好地控制流程。诀窍是将应用程序设置为100%脱机运行的CD-ROM应用程序。然后,使用简单的ClickOnce代码,可以执行静默更新。
private void Update()
{
try
{
ApplicationDeployment.CurrentDeployment.CheckForUpdateCompleted += new CheckForUpdateCompletedEventHandler(CurrentDeployment_CheckForUpdateCompleted);
ApplicationDeployment.CurrentDeployment.UpdateCompleted += new System.ComponentModel.AsyncCompletedEventHandler(CurrentDeployment_UpdateCompleted);
ApplicationDeployment.CurrentDeployment.CheckForUpdateAsync();
}
catch (Exception)
{
}
}
void CurrentDeployment_CheckForUpdateCompleted(object sender, CheckForUpdateCompletedEventArgs e)
{
try
{
if (e.UpdateAvailable)
{
ApplicationDeployment.CurrentDeployment.UpdateAsync();
}
}
catch (InvalidOperationException)
{
}
}
void CurrentDeployment_UpdateCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
//TODO: update completion code here
}