2009-08-26 7 views
0

Ich habe vor kurzem eine WCF-Service-Referenz zu meinem Programm hinzugefügt. Wenn ich eine saubere Installation dieses Programms durchführe, scheint alles wie erwartet zu funktionieren. Aber wenn ich das Programm auf einem Client installiere, auf dem bereits eine vorherige Version (ohne die neue Dienstreferenz) installiert ist, erhalte ich eine Ausnahme, die mir sagt, dass der Standardendpunkt für diesen bestimmten Dienst nicht gefunden wurde.WCF-Dienst funktioniert nicht nach der Programmaktualisierung

Es scheint, dass die appname.exe.config nicht mit den neuen Endpunkteinstellungen aktualisiert wird. Gibt es einen Grund dafür und wie kann ich das Installationsprogramm zwingen, die Konfigurationsdatei zu überschreiben? Ich verwende das Standardinstallationsprogramm von Visual Studio 2008 mit RemovePreviousVersions, das auf True festgelegt ist.

Update: Mein Programm verschlüsselt den Einstellungen Abschnitt nach dem ersten Lauf mit dem folgenden Code

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
     ConfigurationSection section = config.GetSection(sectionKey); 
     if (section != null) 
     { 
      if (!section.SectionInformation.IsProtected) 
      { 
       if (!section.ElementInformation.IsLocked) 
       { 
        section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider"); 
        section.SectionInformation.ForceSave = true; 
        config.Save(ConfigurationSaveMode.Full); 
       } 
      } 
     } 

Wenn ich die neue Version das Programm nicht ausgeführt werden, bevor die Installation der app.config aktualisiert wird.

Antwort

0

Sie haben Recht, dass es die Konfigurationsdatei ist, die nicht aktualisiert wird.

Es gibt mehrere Möglichkeiten:

  • Der Installateur hat die alte Version der Konfigurationsdatei
  • Das Installationsprogramm verfügt nicht über eine Konfigurationsdatei und das Programm wird mit dem alten an der Maschine

Versuchen Sie, das Projekt zuerst zu deinstallieren, installieren Sie dann und überprüfen Sie, dass die Konfigurationsdatei kopiert wurde.

+0

Ich habe das bereits versucht und die Konfigurationsdatei wird kopiert d. Die Anwendung funktioniert gut, wenn ich sie zuerst deinstalliere. Es funktioniert auch, wenn ich die aktuelle Konfigurationsdatei lösche und danach aktualisiere. –

+0

Überprüfen Sie, dass Sie nicht mehrere Kopien des Programms oder der Konfigurationsdatei auf dem Rechner haben –

+0

Ich habe gerade die alte Version auf einem sauberen PC installiert, das Programm ausgeführt, es geschlossen und die neue Version installiert. Derselbe Fehler ist aufgetreten. Danach habe ich das Programm deinstalliert und dieses Mal habe ich dasselbe gemacht, aber ohne das Programm ausgeführt zu haben und es hat funktioniert. Meine app.config-Datei enthält einen verschlüsselten Einstellungsabschnitt. Könnte das den Ärger verursachen? –

Verwandte Themen