2010-03-20 3 views
3

Je tente de modifier la section userSettings (Properties.MyApp.Default) du fichier MyApp.exe.config lors de l'installation de mon application WPF à l'aide d'un programme d'installation MSI.Modification des paramètres utilisateur lors de l'installation MSI

I essentiellement mis en œuvre comme dans cet excellent article: http://raquila.com/software/configure-app-config-application-settings-during-msi-install/

La différence est que je ne suis pas l'édition des appsettings mais la section UserSettings.

Le problème est que bien que le code fonctionne bien, les paramètres ne sont pas enregistrés. Après l'installation, le fichier de configuration contient les anciens paramètres que j'utilise dans mon environnement de développement. J'ai également essayé de remplacer OnAfterInstall (System.Collections.IDictionary stateSaver) au lieu de Install (System.Collections.IDictionary stateSaver) mais cela ne fait pas de différence.

Voici le code qui devrait changer les valeurs de configuration:

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(); 
} 

Toute idée comment persister ces changements? J'ai déjà lu à propos de Wix, mais cela me semble être une exagération.

Merci d'avance!

Répondre

0

Les paramètres utilisateur sont enregistrés dans le dossier local de l'utilisateur actuel, généralement sous la forme C: \ Utilisateurs \ Nom d'utilisateur \ AppData \ Local \ Fabricant \ ApplicationName \ Application.exe_StrongName \ VersionNumber \ user.settings Notez que l'emplacement change avec les versions d'application.

La section UserSettings de vous exe.config contient des valeurs par défaut pour les nouveaux utilisateurs.

Vérifiez this question pour plus d'informations.

+0

Lorsque les paramètres utilisateur sont enregistrés lors d'une installation MSI, ils sont enregistrés dans C: \ Utilisateurs \ Nom d'utilisateur \ AppData \ Local \ Microsoft_Corporation \ SomeHash \ Version (version MSI?) \ User.config. –

Questions connexes