2010-03-20 3 views
3

MSI 설치 프로그램을 사용하여 WPF 응용 프로그램을 설치하는 동안 MyApp.exe.config 파일에서 userSettings 섹션 (Properties.MyApp.Default)을 수정하려고합니다. MSI 설치 중에 userSettings를 변경하십시오.

는 기본적으로 내가이 뛰어난 문서처럼 구현 : http://raquila.com/software/configure-app-config-application-settings-during-msi-install/

차이가 나는 appSettings는하지만 userSettings 섹션을 편집하고 있지 않다 때문이다.

문제는 코드가 제대로 실행되지만 설정이 저장되지 않는다는 것입니다. 설치 후 config 파일에는 개발 환경에서 사용하는 이전 설정이 들어 있습니다. 또한 Install (System.Collections.IDictionary stateSaver) 대신 OnAfterInstall (System.Collections.IDictionary stateSaver)을 재정의하려고 시도했지만 차이가 없습니다. 어떻게 이러한 변화를 지속하는

protected override void OnAfterInstall(IDictionary savedState) 
{ 
    base.OnAfterInstall(savedState); 

    string targetDirectory = Context.Parameters["targetdir"]; 
    string tvdbAccountID = Context.Parameters["TVDBACCID"]; 
    // read other config elements... 

    Properties.Settings.Default.Tvdb_AccountIdentifier = tvdbAccountID; 
    // set other config elements 

    Properties.Settings.Default.Save(); 
} 

어떤 생각 : 여기

는 설정 값을 변경해야하는 코드입니다? 나는 이미 Wix에 관해 읽었지 만 그것은 나에게 잔인한 것처럼 보입니다. 사전에

감사합니다!

답변

0

사용자 설정은 현재 사용자의 로컬 폴더에 저장되며 대개 C : \ Users \ Username \ AppData \ Local \ Manufacturer \ ApplicationName \ Application.exe_StrongName \ VersionNumber \ user.settings와 같습니다. 응용 프로그램 버전에 따라 위치가 변경됩니다.

exe.config의 UserSettings 섹션에 새 사용자의 기본값이 들어 있습니다.

자세한 내용은 this question을 확인하십시오.

+0

MSI 설치 중에 사용자 설정을 저장하면 C : \ Users \ Username \ AppData \ Local \ Microsoft_Corporation \ SomeHash \ Version (MSI 버전?) \ user.config에 저장됩니다. –