Freigeben über


Konfiguration pro Anwendung unter Windows XP

Unter Windows XP überschreibt die Konfiguration pro Anwendung sowohl Standardkonfiguration als auch Herausgeberkonfiguration pro Anwendung. Dadurch wird die Abhängigkeit einer bestimmten Anwendung von einer Version einer parallelen Assembly zu einer anderen angegebenen Version der Assembly umgeleitet.

Anmerkung

Ab Windows Server 2003 überschreibt die Konfiguration pro Anwendung Herausgeberkonfiguration nur dann pro Anwendung, wenn die Anwendungskonfigurationsdateiapply="no" in publisherPolicy angibt und ein entsprechender Eintrag in der Anwendungskompatibilitätsdatenbank vorhanden ist. Die Konfiguration pro Anwendung setzt immer die Standardkonfigurationaußer Kraft. Weitere Informationen finden Sie unter konfiguration pro Anwendung.

 

Eine Konfiguration pro Anwendung kann erforderlich werden, wenn der richtige Vorgang einer bestimmten Anwendung eine Assemblyversion erfordert, die sich von der normalerweise als Standard- oder Herausgeberkonfiguration angegebenen Version unterscheidet. Beispielsweise kann ein globales Update der Assemblyversion durch den Herausgeber die Assembly reparieren, 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. Ein weiteres Beispiel: Eine Service Pack-Installation mit einem Assemblyupdate kann Publisher-Konfiguration verwenden, um die Abhängigkeiten aller Anwendungen und Assemblys des Systems von Version 1.0.0.0 auf 1.0.1.0 umzuleiten. Wenn eine Anwendung vorhanden ist, für die Version 1.0.0.0 ordnungsgemäß funktioniert, kann sie mithilfe der Anwendungskonfiguration auf Version 1.0.0.0 umgeleitet werden.

Anwendungsadministratoren können eine Anwendungskonfiguration implementieren, indem sie Anwendungskonfigurationsdateienerstellen und installieren. Diese leiten eine bestimmte Anwendung von abhängigkeit von einer Version einer parallelen Assembly auf abhängigkeit von einer anderen Version um. Anwendungskonfiguration Dateien können Publisher-Konfigurationsdateien und die Standardkonfiguration überschreiben, die durch Anwendungsmanifeste und Assemblymanifestenangegeben wird. Die Anwendungskonfigurationsdatei enthält Informationen, die vom Ladeprogramm verwendet werden, wenn CreateProcess- aufgerufen wird.

Um eine Anwendung so zu konfigurieren, dass sowohl das Anwendungsmanifest als auch die Herausgeberkonfiguration außer Kraft setzen, muss ein Entwickler eine Anwendungskonfigurationsdatei erstellen. Die Anwendungskonfigurationsdatei wird dann bereitgestellt und in demselben Ordner wie die ausführbare Datei der Anwendung installiert. Eine Auflistung des Dateischemas finden Sie unter Anwendungskonfigurationsdateischema.

Beachten Sie, dass, wenn Ihre Anwendung eine Anwendungskonfiguration verwendet, keine wichtigen Sicherheitsupdates oder Fehlerkorrekturen erhalten, die der Herausgeber der Assembly als Herausgeberkonfigurationsdateien ausgeben kann. Eine Anwendung, die die Konfiguration pro Anwendung verwendet, bleibt daher möglicherweise unsicher oder funktioniert auch nach Anwendung einer neuen Assembly mit diesen Fixes auf das System nicht ordnungsgemäß. Aus diesem Grund sollten Anwendungsentwickler niemals eine Anwendung mit einer Anwendungskonfiguration versenden. Die Konfiguration pro Anwendung sollte nur von Unternehmensadministratoren als temporärer Fix 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 der Entwickler der Anwendung zusammenarbeiten müssen, um sicherzustellen, dass die Assemblys mit der Herausgeberkonfiguration vollständig abwärtskompatibel sind.

Im Folgenden sehen 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 
          name="Microsoft.Windows.mysampleApp" 
          processorArchitecture="x86" 
          version="1.0.0.0" type="win32"/>
        <dependentAssembly>
          <assemblyIdentity type="win32" 
              name="Microsoft.Windows.SampleAssembly" 
              processorArchitecture="x86" 
              publicKeyToken="0000000000000000"/>
          <bindingRedirect 
              oldVersion="2.0.0.0" 
              newVersion="2.0.1.0"/>
        </dependentAssembly>
    </assemblyBinding>
   </windows>
</configuration>