2012-04-12 2 views
6

이것은 일부 사용자에게만 발생하는 문제입니다. 마켓 플레이스에서 내 앱의 새 버전을 출시 할 때마다 앱의 모든 설정이 손실되었다고 이메일로 알립니다.앱 업데이트 설치시 앱이 모든 설정을 잃습니다.

본인을 직접 재현 할 수 없으며 IsolatedStorage를 지울 수있는 코드가 없습니다.

아무도 거기에 원인이 무엇인지에 대한 단서가 있다면 좋을 것입니다.

+0

나는 또한 당신의 문제에 관심이 있습니다. 내 앱을 테스트 할 때 비슷한 것을 발견했다. Visual Studio에서 실행하고 (에뮬레이터가 아닌) 전화를 대상으로 할 때 데이터베이스를 삭제하지 않고 코드를 업데이트하는 경우가 있습니다. – Dante

답변

3

업데이트 : 다음 내용이 WP7 응용 프로그램에 적용되는지 확실하지 않습니다. 나는 단지 일반 애플 리케이션을 위해 이것을 시도했다.

이전 설정 파일을 "업그레이드"해야합니다.

필요할 때 (즉, 새 버전이 설치된 경우에만) 알아야합니다.

설정을 업그레이드해야 할 때를 알기 위해서는 설정에 NeedSettingsUpgrade라는 부울을 추가하고 기본값을 true로 설정하십시오.

는 다음 주()의 시작 근처 어딘가에 다음 함수를 호출

/// <summary>Upgrades the application settings, if required.</summary> 
private static void upgradeApplicationSettingsIfNecessary() 
{ 
    // Application settings are stored in a subfolder named after the full #.#.#.# version number of the program. This means that when a new version of the program is installed, the old settings will not be available. 
    // Fortunately, there's a method called Upgrade() that you can call to upgrade the settings from the old to the new folder. 
    // We control when to do this by having a boolean setting called 'NeedSettingsUpgrade' which is defaulted to true. Therefore, the first time a new version of this program is run, it will have its default value of true. 
    // This will cause the code below to call "Upgrade()" which copies the old settings to the new. 
    // It then sets "NeedSettingsUpgrade" to false so the upgrade won't be done the next time. 

    if (Settings.Default.NeedSettingsUpgrade) 
    { 
     Settings.Default.Upgrade(); 
     Settings.Default.NeedSettingsUpgrade = false; 
    } 
} 

참고 : 당신은 물론, 그렇지 않으면 설정이 지속되지 않습니다 변경, 프로그램 종료 전에 Settings.Default.Save()를 호출해야합니다.

+0

이 코드는 비 WP7- 앱용입니까? – John

2

내 접근 방식은 어셈블리 버전 번호를 업그레이드 트리거로 사용하는 것입니다. 처음 실행하면 v1.0 및 어셈블리 버전 번호 1.0.0.0에 필요한 형식으로 설정이 저장됩니다. 업그레이드가 수행되면 저장된 설정 번호 (1.0.0.0)와 업그레이드 된 어셈블리 번호 1.1.0.0을 비교하여 업그레이드가 필요하다고 결정합니다.

나는 Visual Studio의 재배포가 업그레이드를 수행하지 않았으며 때로는 제거를 수행하여 재설치가 좋지 않음을 발견했습니다. 그래서 Windows Phone Powertools을 사용하여 "업그레이드"경로를 테스트하여 업그레이드가 안정적으로 수행되는 것으로 보입니다.

+0

고마워, 내가 보게. 하지만 여전히 문제가 있습니다. 원인을 파악하는 데 어떤 아이디어가 있습니까? – John

관련 문제