Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ClickOnce-自动生成所需的所有版本?_C#_Wpf_Clickonce - Fatal编程技术网

C# ClickOnce-自动生成所需的所有版本?

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

是否有一个脚本可以让我发布的所有构建都是必需的,并且是明智的更新?无论发生什么情况,我都想强制所有客户进行更新,但是,即使在使用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
    }