Freigeben über


Konfiguration pro Anwendung

Die Konfiguration pro Anwendung leitet die Abhängigkeit einer bestimmten Anwendung von einer Version einer Parallelassembly zu einer anderen Version der Assembly um. Eine Konfiguration pro Anwendung kann erforderlich werden, wenn der richtige Vorgang einer bestimmten Anwendung eine Assemblyversion erfordert, die sich von der normalerweise als Standardkonfiguration oder Publisher-Konfigurationangegebenen 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.

Ab Windows Server 2003 überschreibt die Konfiguration pro Anwendung immer die Standardkonfiguration pro Anwendung. Die Konfiguration pro Anwendung setzt Herausgeberkonfiguration nur dann pro Anwendung außer Kraft, wenn die Anwendungskonfigurationsdateiapply="no" in publisherPolicy- angibt und ein entsprechender Eintrag in der Anwendungskompatibilitätsdatenbank vorhanden ist.

Anmerkung

Unter Windows XP überschreibt die Konfiguration pro Anwendung sowohl Standardkonfiguration als auch 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. Mit dieser Funktion können Sie eine Herausgeberkonfiguration mit einer Anwendungskonfiguration außer Kraft setzen, damit die Anwendung im Abgesicherten Modus ausgeführt werden kann. Weitere Informationen zur Anwendungskompatibilitätsdatenbank und zum Safemode finden Sie im Windows Application Compatibility Toolkit. Sie können das Windows Application Compatibility Toolkit von https://www.microsoft.com/downloadsabrufen.

Anmerkung

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

 

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

Anmerkung

Wenn Ihre Anwendung im Abgesicherten Modus ausgeführt wird, erhalten sie keine wichtigen Sicherheitsupdates oder Fehlerbehebungen, die der Herausgeber der Assembly möglicherweise 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  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 https://www.microsoft.com/downloadsherunter, und installieren Sie es. 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ätsschicht für Ihre Anwendung auswählen möchten, ist EnableAppConfig. Sie müssen immer Anwendungen testen, bevor Sie eine neue Kompatibilitätsdatenbank installieren.