2009-12-30 33 views
1

我正在通過代碼進行ClickOnce更新(即使用ApplicationDeployment對象),並且遇到了意外問題:ClickOnce更新(編碼)每24小時只能看到新的更新?

說我安裝了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); 
} 
+0

我的想法:你做的是錯的事,或者忘記了某件事。我能夠每天多次更新我的ClickOnce應用程序。 – 2009-12-30 11:03:12

+0

感謝您的想法。我已經發布了上面的代碼。任何想法將不勝感激。 :-) – MrGreggles 2009-12-30 20:51:19

回答

0

檢查您的Web服務器上的緩存設置。我想不出新的ClickOnce文件不可用的另一個原因。

+0

我通過更新我網站上的頁面,與應用程序文件所在的位置相同的網站以及頁面隨每次更改而更新的方式進行了檢查。所以看起來緩存不是問題。但thx的想法! – MrGreggles 2009-12-30 20:35:47