C# ClickOnce-自动生成所需的所有版本?
是否有一个脚本可以让我发布的所有构建都是必需的,并且是明智的更新?无论发生什么情况,我都想强制所有客户进行更新,但是,即使在使用ClickOnce部署API之后,也会询问他们是否要更新。是的,您可以通过要求最低版本来强制所有客户进行升级。这样您就可以进行不兼容的服务器更改 发件人: 要将更新标记为所需,请单击“指定所需的最小值” “应用程序更新”对话框中此应用程序的版本, 然后指定发布版本(主要版本、次要版本、构建版本、修订版本), 它指定可以访问的应用程序的最低版本号 安装C# ClickOnce-自动生成所需的所有版本?,c#,wpf,clickonce,C#,Wpf,Clickonce,是否有一个脚本可以让我发布的所有构建都是必需的,并且是明智的更新?无论发生什么情况,我都想强制所有客户进行更新,但是,即使在使用ClickOnce部署API之后,也会询问他们是否要更新。是的,您可以通过要求最低版本来强制所有客户进行升级。这样您就可以进行不兼容的服务器更改 发件人: 要将更新标记为所需,请单击“指定所需的最小值” “应用程序更新”对话框中此应用程序的版本, 然后指定发布版本(主要版本、次要版本、构建版本、修订版本), 它指定可以访问的应用程序的最低版本号 安装 是的,您可以通过要
是的,您可以通过要求最低版本来强制所有客户升级。这样您就可以进行不兼容的服务器更改 发件人: 要将更新标记为所需,请单击“指定所需的最小值” “应用程序更新”对话框中此应用程序的版本, 然后指定发布版本(主要版本、次要版本、构建版本、修订版本), 它指定可以访问的应用程序的最低版本号 安装
我最终使用了ClickOnce部署API,在这个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
}
我最终使用了ClickOnce部署API,在这个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
}