在我的ClickOnce c#应用程序中,如何判断用户是否刚刚更新了应用程序?我想提供在用户下载更新后显示发行说明或更改日志。
我知道如何以编程方式(拼写?)检测更新是否可用,并手动执行更新。我可以显示更改日志或发行说明,但是如果可能的话,我希望在更新之后选择。我的Googlefu让我失望了。
答案 0 :(得分:3)
我不确定是否存在此框架机制。
但您可以自己手动处理此问题。如果您或发布向导正在为每个构建更新版本号,则可以存储应用程序上次在本地计算机上运行时的版本号(Registry / AppData / Whatever),然后将其与当前版本#进行比较。如果版本#不匹配,您可以设置本地“上次运行版本”,然后显示发行说明。
您可以使用以下内容获取应用版本:
private string version
{
get
{
System.Reflection.Assembly _assemblyInfo = System.Reflection.Assembly.GetExecutingAssembly();
string ourVersion = string.Empty;
if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed)
{
ourVersion = ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();
}
else
{
if (_assemblyInfo != null)
{
ourVersion = _assemblyInfo.GetName().Version.ToString();
}
}
return ourVersion;
}
}
答案 1 :(得分:0)
我知道它的旧版本,但您可以使用CheckForUpdate()
方法:
using System.Deployment.Application;
public bool IsUpdateAvailable()
{
if (!ApplicationDeployment.IsNetworkDeployed) return false;
return ApplicationDeployment.CurrentDeployment.CheckForUpdate();
}