2010-03-17 4 views
0

J'ai l'application 1 et l'application 2. App2 doit vérifier que l'application 1 est installée, et si c'est le cas, elle doit accéder à une propriété depuis les paramètres App1.Accès aux paramètres d'une autre application

Quelle serait la meilleure façon de procéder?

MISE À JOUR d'abord, mes excuses pour ne jamais accepter une réponse à cela, je sais qu'il est plus d'un an maintenant, mais je m'y suis déroutés immédiatement après avoir demandé et ce projet a été changé, bla bla bla. Mea culpa ...

Je suis de retour dessus maintenant et j'ai encore besoin de résoudre ce problème, mais maintenant les applications sont déployées via ClickOnce, donc je ne sais pas vraiment où elles se trouvent. Toute suggestion serait appréciée. Je promets que je vais sélectionner une réponse cette fois.

+0

Besoin d'informations. L'emplacement du fichier contenant les paramètres est-il déjà connu? – galford13x

+1

Paramètres de portée d'application ou d'utilisateur? –

Répondre

1

Les documents pour ConfigurationManager.OpenExeConfiguration ont un exemple de lecture du fichier .config d'un autre exe et d'accès aux AppSettings. Ici, il est:

// Get the application path. 
string exePath = System.IO.Path.Combine(
    Environment.CurrentDirectory, "ConfigurationManager.exe"); 

// Get the configuration file. 
System.Configuration.Configuration config = 
    ConfigurationManager.OpenExeConfiguration(exePath); 

// Get the AppSetins section. 
AppSettingsSection appSettingSection = config.AppSettings; 

En ce qui vérifier que App1 est installé, vous pouvez écrire une valeur dans le Registre lors de l'installation et vérifier dans App2 (et supprimer la valeur lors de la désinstallation).

0

C'est une douleur, je peux vous le dire. J'ai trouvé que la meilleure façon de procéder est de sérialiser la classe Settings et d'utiliser XML (code ci-dessous). Mais essayez cette première page: http://cf-bill.blogspot.com/2007/10/visual-studio-sharing-one-file-between.html

public class Settings 
{ 
    public static string ConfigFile{get{return "Config.XML";}} 
    public string Property1 { get; set; } 

    /// <summary> 
    /// Saves the settings to the Xml-file 
    /// </summary> 
    public void Save() 
    { 
     XmlSerializer serializer = new XmlSerializer(typeof(Settings)); 
     using (TextWriter reader = new StreamWriter(ConfigFile)) 
     { 
      serializer.Serialize(reader, this); 
     } 
    } 
    /// <summary> 
    /// Reloads the settings from the Xml-file 
    /// </summary> 
    /// <returns>Settings loaded from file</returns> 
    public static Settings Load() 
    { 
     XmlSerializer serializer = new XmlSerializer(typeof(Settings)); 
     using (TextReader reader = new StreamReader(ConfigFile)) 
     { 
      return serializer.Deserialize(reader) as Settings; 
     } 
    } 
} 
Questions connexes