ClickOnce更新(编码)每24小时只看到新的更新?

时间:2009-12-30 10:34:30

标签: .net clickonce

我正在通过代码进行ClickOnce更新(即使用ApplicationDeployment对象),我遇到了一个意想不到的问题:

说我安装了1.0版。如果我坚持使用新版本(比如1.1)并运行应用程序,它将会更新到1.1。

但是,如果我在不久之后(比如1.2)推出新版本并运行已安装的应用程序(1.1),它将不会选择更新新版本。直到第二天我跑1.1。似乎大约24小时后。然后它会根据需要更新到1.2。

任何想法可能会发生什么?

P.S。在检查应用程序的网络部署后,这是我正在使用的代码。这是一个小型更新测试应用程序的一部分,所以在那里有一些额外的反馈......

//
//  CHECK WHETHER THERE'S AN UPDATE AVAILABLE
//  No? Return.
//
UpdateCheckInfo updateInfo = null;
ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;

try  //  to see if there's an update
{
    //  attempt to retrieve any updates
    Console.WriteLine("Checking for a detailed update now.");
    updateInfo = deployment.CheckForDetailedUpdate(persistUpdateCheckResult: false);
    Console.WriteLine("Check complete, appears successful.");
}
catch (Exception ex)
{
    throw new Exception("Problem checking for updates: " + ex.Message + Environment.NewLine);
}

bool noUpdateAvailable = !updateInfo.UpdateAvailable;
if (noUpdateAvailable)
{
    Console.WriteLine("No update. This version is: " + deployment.CurrentVersion.ToString());
    return;
}
else
{
    Console.WriteLine("There's an update available!");
}

//
//  TRY TO UPDATE THE APP
//
Console.WriteLine("Attempting to perform update.");
try
{
    deployment.Update();
    Console.WriteLine("Update appears to have been successful. Restart the app!");
}
catch (Exception ex)
{
    Console.WriteLine("Update failed: " + ex.Message);
}

1 个答案:

答案 0 :(得分:0)

检查Web服务器上的缓存设置。我想不出为什么新的ClickOnce文件不可用的另一个原因。