2009-12-30 7 views
1

코드를 통해 (예 : ApplicationDeployment 개체를 사용하여) ClickOnce를 업데이트하고 있는데 예상치 못한 문제가 발생했습니다.ClickOnce 24 시간마다 새로운 업데이트 만보고 (코드 된) 업데이트합니까?

버전 1.0이 설치되어 있다고 가정 해 봅시다. 새 버전 (1.1)을 실행하고 앱을 실행하면 1.1로 잘 ​​업데이트됩니다.

그러나 (예를 들어 1.2) 곧 새 버전을 고치고 설치된 응용 프로그램 (1.1)을 실행하면 새 버전을 선택하지 않습니다. 그것은 다음날 1.1을 실행할 때까지입니다. 약 24 시간 후인 것 같습니다. 그런 다음 원하는대로 1.2로 업데이트됩니다.

어떤 아이디어가 진행되고 있을까요?

P. 다음은 앱의 네트워크가 배포되었는지 확인한 후 사용중인 코드입니다. 이것은 작은 업데이트 테스트 응용 프로그램의 일부로 거기에 약간의 추가 피드백이 있습니다 ...

// 
// 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 응용 프로그램을 업데이트 할 수있었습니다. –

+0

아이디어를 제공해 주셔서 감사합니다. 위의 코드를 게시했습니다. 어떤 생각이라도 감사 할 것입니다. :-) – MrGreggles

답변

0

웹 서버에서 캐시 설정을 확인하십시오. 새로운 ClickOnce 파일을 사용할 수없는 또 다른 이유를 생각할 수 없습니다.

+0

내 웹 사이트의 페이지, 앱 파일의 위치와 동일한 사이트 및 모든 변경 사항이있는 페이지를 업데이트하여이를 확인했습니다. 캐싱이 문제가 아닌 것처럼 보입니다. 그러나 생각을위한 thx! – MrGreggles

관련 문제