Clickonce 更新问题

Jiale Xue - MSFT 35,556 信誉分 Microsoft 供应商
2024-04-05T06:35:49.1033333+00:00

我不擅长点击一次,所以我需要帮助来解决我的问题。

我制作了一个应用程序,并尝试通过clickonce部署我的应用程序。

但是,我不想通过单击一次自动更新。(此 ClickOnce from .NET Framework 文件夹)

因此,我从应用程序的.csproj中取消选中所有更新选项,并从msdn文档中获取编程更新源。

这是我的更新源。它使用 clickonce api。

public void UpdateStart()  
{  
	if (this.deployInfo == null)  
	{  
		return;  
	}  
  
	this.deployInfo = ApplicationDeployment.CurrentDeployment;  
	UpdateCheckInfo info = null;  
	bool updateAvailable = false;  
	try  
	{  
		info = this.deployInfo.CheckForDetailedUpdate();  
		updateAvailable = info.UpdateAvailable;  
	}  
	catch (Exception ex)  
	{  
		return;  
	}  
  
	if (!updateAvailable)  
		return;  
  
	this.deployInfo.UpdateProgressChanged += (s, e) =>  
	{  
		UpdateProgressState(e.State);  
		this.UpdatePercent = e.ProgressPercentage;  
	};  
	  
	this.deployInfo.UpdateCompleted += (s, e) =>  
	{  
		logger.I("Update process finish.");  
  
		string restartPath = GetClickonceRestartPath();  
		if (e.Cancelled)  
		{  
			restartPath = null;  
		}  
  
		if (e.Error != null)  
		{  
			restartPath = null;  
		}  
		RaiseCallback(restartPath);  
	};  
	this.deployInfo.UpdateAsync();  
}  

此代码运行良好。它从不调用 Clickonce 自己的更新 ui。 但是,如果我从 ApplicationDeployment 类调用 UpdateCancelAsync(),就会出现问题。

调用 UpdateCancelAsync() 并使用 .appref-ms 文件重新启动我的应用程序后, 会弹出 ClickOnce 的更新 ui,即使我从不检查任何更新选项。

49924-update-ui.png

我应该怎么做才能隐藏 ClickOnce 的 ui? 我错过了什么吗?

请让我知道如何隐藏它。

Note:此问题总结整理于: Clickonce update problem

Windows Presentation Foundation
Windows Presentation Foundation
.NET Framework 的一部分,它提供统一的编程模型,用于在 Windows 上构建业务线桌面应用程序。
65 个问题
C#
C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
129 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 41,146 信誉分 Microsoft 供应商
    2024-04-05T08:05:41.3566667+00:00

    使用 CheckForDetailedUpdate(false) 时,将应用更新,并且 。 请更改您的 to 以隐藏更新 UI。silentlyno dialog box will be displayedinfo = this.deployInfo.CheckForDetailedUpdate();info = this.deployInfo.CheckForDetailedUpdate(false);

    顺便说一句,如果我误解了您的问题,请指出并给我有关您取消选中 .csproj 的所有更新选项以进行应用程序的更多详细信息?


    如果回复有帮助,请点击“接受答案”并点赞。

    注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

    1 个人认为此答案很有帮助。
    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助