Konfigurasi per aplikasi

Konfigurasi per aplikasi mengalihkan ketergantungan aplikasi tertentu dari satu versi perakitan berdampingan ke versi assembly lain. Konfigurasi per aplikasi mungkin menjadi diperlukan jika operasi aplikasi tertentu yang benar memerlukan versi rakitan yang berbeda dari versi yang biasanya ditentukan sebagai konfigurasi default atau konfigurasi penerbit. Misalnya, pembaruan global versi rakitan oleh penerbit mungkin memperbaiki perakitan tetapi merusak aplikasi khusus ini. Dalam hal ini, konfigurasi per aplikasi dapat digunakan untuk memungkinkan aplikasi terus berjalan dengan versi rakitan sebelumnya.

Dimulai dengan Windows Server 2003, konfigurasi per aplikasi selalu mengambil alih konfigurasi default berdasarkan per aplikasi. Konfigurasi per aplikasi mengambil alih konfigurasi penerbit berdasarkan per aplikasi hanya jika file konfigurasi aplikasi menentukan apply="no" di publisherPolicy dan ada entri terkait yang ada dalam database Kompatibilitas Aplikasi.

Catatan

Pada Windows XP, konfigurasi per aplikasi mengambil alih konfigurasi default dan konfigurasi penerbit berdasarkan per aplikasi. Untuk informasi, lihat Konfigurasi Per aplikasi di Windows XP.

 

Dimulai dengan Windows Server 2003, konfigurasi per aplikasi akan menimpa konfigurasi penerbit jika file konfigurasi aplikasi menentukan apply="yes" di publisherPolicy dan bendera EnableAppConfig diatur untuk aplikasi dalam database Kompatibilitas Aplikasi. Kemampuan ini untuk mengambil alih konfigurasi penerbit menggunakan konfigurasi per aplikasi memungkinkan aplikasi dijalankan di Safemode. Untuk informasi selengkapnya tentang database Kompatibilitas Aplikasi dan Safemode, lihat Toolkit Kompatibilitas Aplikasi Windows. Anda dapat memperoleh Toolkit Kompatibilitas Aplikasi Windows dari https://www.microsoft.com/downloads.

Catatan

Jika Anda mengirim komponen dengan file konfigurasi aplikasi (file .config) yang menentukan apply="no" di publisherPolicy, ini akan menyebabkan pembuatan konteks aktivasi gagal. Konfigurasi per aplikasi akan diabaikan jika Anda mengirim komponen dengan file .config yang menentukan apply="yes" di publisherPolicy.

 

Administrator aplikasi dapat menerapkan konfigurasi per aplikasi dengan menulis dan menginstal file konfigurasi aplikasi dan memperbarui database kompatibilitas aplikasi. File konfigurasi aplikasi kemudian harus disebarkan dan diinstal ke folder yang sama dengan file yang dapat dieksekusi aplikasi. Untuk daftar skema file, lihat Skema File Konfigurasi Aplikasi. Database kompatibilitas aplikasi harus didistribusikan seperti yang dijelaskan dalam Toolkit Kompatibilitas Aplikasi.

Catatan

Jika aplikasi Anda berjalan di Safemode, aplikasi tidak akan menerima perbaikan keamanan penting atau perbaikan bug yang mungkin dikeluarkan penerbit rakitan sebagai file konfigurasi penerbit. Oleh karena itu, aplikasi yang menggunakan konfigurasi per aplikasi mungkin tetap tidak aman atau terus bekerja dengan tidak benar bahkan setelah perakitan baru dengan perbaikan ini diterapkan ke sistem. Untuk alasan ini, pengembang aplikasi tidak boleh mengirim aplikasi dengan konfigurasi per aplikasi. Konfigurasi per aplikasi hanya boleh digunakan oleh administrator perusahaan sebagai perbaikan sementara ketika aplikasi rusak oleh konfigurasi penerbit. Dalam hal ini, solusi permanen adalah bahwa pengembang perakitan dan pengembang aplikasi perlu bekerja sama untuk memastikan bahwa rakitan dengan konfigurasi penerbit sepenuhnya kompatibel dengan versi sebelumnya.

 

Berikut ini adalah contoh file konfigurasi aplikasi. Untuk informasi selengkapnya, lihat File Konfigurasi Aplikasi.

<?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>

Administrator aplikasi harus menambahkan entri yang diperlukan ke database Kompatibilitas Aplikasi. Unduh dan instal Toolkit Kompatibilitas Aplikasi Windows 2.6 dari https://www.microsoft.com/downloads. Buat kustom baru atau perbarui database Anda yang sudah ada menggunakan Administrator Kompatibilitas seperti yang diuraikan dalam toolkit. Perbaikan Kompatibilitas yang ingin Anda pilih untuk lapisan kompatibilitas untuk aplikasi Anda adalah EnableAppConfig. Anda harus selalu menguji aplikasi sebelum menginstal database kompatibilitas baru.