Freigeben über


Konfiguration pro Anwendung

Die Konfiguration pro Anwendung leitet die Abhängigkeit einer bestimmten Anwendung von einer Version einer parallelen Assembly zu einer anderen Version der Assembly um. Eine Anwendungsspezifische Konfiguration kann erforderlich werden, wenn für den korrekten Betrieb einer bestimmten Anwendung eine Assemblyversion erforderlich ist, die sich von der Version unterscheidet, die normalerweise als Standardkonfiguration oder Herausgeberkonfiguration angegeben wird. Beispielsweise kann ein globales Update der Assemblyversion durch den Herausgeber die Assembly korrigieren, aber diese bestimmte Anwendung unterbrechen. In diesem Fall kann die Konfiguration pro Anwendung verwendet werden, damit die Anwendung weiterhin mit der vorherigen Assemblyversion ausgeführt werden kann.

Ab Windows Server 2003 überschreibt die Konfiguration pro Anwendung immer die Standardkonfiguration pro Anwendung. Die Konfiguration pro Anwendung überschreibt die Herausgeberkonfiguration nur dann pro Anwendung, wenn die Anwendungskonfigurationsdatei in publisherPolicy"apply="no" angibt und ein entsprechender Eintrag in der Anwendungskompatibilitätsdatenbank vorhanden ist.

Hinweis

Unter Windows XP überschreibt die Konfiguration pro Anwendung sowohl die Standardkonfiguration als auch die Herausgeberkonfiguration pro Anwendung. Weitere Informationen finden Sie unter Konfiguration pro Anwendung unter Windows XP.

 

Ab Windows Server 2003 überschreibt eine Konfiguration pro Anwendung eine Herausgeberkonfiguration , wenn die Anwendungskonfigurationsdateiapply="yes" in publisherPolicy angibt und das EnableAppConfig-Flag für die Anwendung in der Anwendungskompatibilitätsdatenbank festgelegt ist. Diese Funktion zum Überschreiben einer Herausgeberkonfiguration mithilfe einer anwendungsspezifischen Konfiguration ermöglicht die Ausführung der Anwendung in Safemode. Weitere Informationen zur Anwendungskompatibilitätsdatenbank und safemode finden Sie im Windows Application Compatibility Toolkit. Sie können das Windows Application Compatibility Toolkit unter https://www.microsoft.com/downloadsabrufen.

Hinweis

Wenn Sie Komponenten mit einer Anwendungskonfigurationsdatei (.config Datei) ausliefern, die apply="no" in publisherPolicy angibt, führt dies dazu, dass die Generierung des Aktivierungskontexts fehlschlägt. Die Konfiguration pro Anwendung wird ignoriert, wenn Sie Komponenten mit einer .config Datei mit dem Wert apply="yes" in publisherPolicy ausliefern.

 

Anwendungsadministratoren können eine Anwendungskonfiguration implementieren, indem sie Anwendungskonfigurationsdateien erstellen und installieren und die Anwendungskompatibilitätsdatenbank aktualisieren. Die Anwendungskonfigurationsdatei sollte dann bereitgestellt und im gleichen Ordner wie die ausführbare Datei der Anwendung installiert werden. Eine Liste des Dateischemas finden Sie unter Anwendungskonfigurationsdateischema. Die Anwendungskompatibilitätsdatenbank muss wie im Anwendungskompatibilitäts-Toolkit beschrieben verteilt werden.

Hinweis

Wenn Ihre Anwendung in Safemode ausgeführt wird, erhält sie keine wichtigen Sicherheitskorrekturen oder Fehlerkorrekturen, die der Herausgeber der Assembly als Herausgeberkonfigurationsdateien ausgeben kann. Eine Anwendung, die die Konfiguration pro Anwendung verwendet, kann daher unsicher bleiben oder weiterhin falsch funktionieren, auch wenn eine neue Assembly mit diesen Fixes auf das System angewendet wurde. Aus diesem Grund sollten Anwendungsentwickler niemals eine Anwendung mit einer anwendungsspezifischen Konfiguration ausliefern. Die Konfiguration pro Anwendung sollte von Unternehmensadministratoren nur als temporäre Korrektur verwendet werden, wenn die Anwendung durch eine Herausgeberkonfiguration unterbrochen wird. In diesem Fall besteht die dauerhafte Lösung darin, dass die Entwickler der Assembly und die Entwickler der Anwendung zusammenarbeiten müssen, um sicherzustellen, dass die Assemblys mit der Herausgeberkonfiguration vollständig abwärtskompatibel sind.

 

Im Folgenden finden Sie ein Beispiel für eine Anwendungskonfigurationsdatei. Weitere Informationen finden Sie unter Anwendungskonfigurationsdateien.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
 <windows>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
   <assemblyIdentity  processorArchitecture="X86" name="Microsoft.Windows.mysampleApp" type="win32" version="1.0.0.0"/>
   <publisherPolicy apply="no"/>                     
   <dependentAssembly>
    <assemblyIdentity type="win32" processorArchitecture="x86" name="Microsoft.Windows.SampleAssembly" publicKeyToken="0000000000000000"/>
    <bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/>
   </dependentAssembly>
  </assemblyBinding>
 </windows>
</configuration>

Der Anwendungsadministrator sollte der Anwendungskompatibilitätsdatenbank die erforderlichen Einträge hinzufügen. Laden Sie das Windows Application Compatibility Toolkit 2.6 von herunter, und installieren Sie es.https://www.microsoft.com/downloads Erstellen Sie eine neue benutzerdefinierte Datenbank, oder aktualisieren Sie Ihre vorhandene Datenbank mithilfe des Kompatibilitätsadministrators, wie im Toolkit beschrieben. Die Kompatibilitätskorrektur, die Sie für die Kompatibilitätsebene für Ihre Anwendung auswählen möchten, ist EnableAppConfig. Sie müssen Anwendungen immer testen, bevor Sie eine neue Kompatibilitätsdatenbank installieren.