Bagikan melalui


File Konfigurasi Penerbit

File konfigurasi penerbit adalah file XML yang secara global mengalihkan aplikasi dan rakitan dari menggunakan satu versi rakitan berdampingan ke versi lain dari rakitan yang sama. Biasanya, penerbit rakitan mengeluarkan pembaruan yang kompatibel atau perbaikan keamanan berdasarkan per-rakitan dengan mengeluarkan file konfigurasi penerbit untuk diinstal bersama dengan pembaruan paket layanan. Ini disebut sebagai konfigurasi penerbit . Untuk informasi selengkapnya tentang jenis konfigurasi ini lihat Konfigurasi Penerbit.

File konfigurasi publisher memiliki elemen dan atribut berikut. Untuk daftar lengkap skema XML, lihat Skema File Konfigurasi Penerbit.

Elemen Atribut Diperlukan
rakitan Ya
manifestVersion Ya
assemblyIdentity Ya
jenis Ya
nama Ya
bahasa Tidak
prosesor Architecture Tidak
versi Ya
publicKeyToken Tidak
dependensi Tidak
dependentAssembly Tidak
pengalihan Ya
oldVersion Ya
newVersion Ya

Lokasi File

File konfigurasi publisher harus diinstal di folder WinSxS. File ini biasanya diinstal sebagai file terpisah tetapi file konfigurasi penerbit juga dapat disertakan sebagai sumber daya dalam DLL. File konfigurasi penerbit tidak dapat disertakan sebagai sumber daya dalam file EXE. File EXE dapat menyertakan manifes aplikasi sebagai sumber daya.

Sintaks Nama File

Nama file file konfigurasi penerbit memiliki formulir kebijakan.utama.kecil . assemblyname di mana utama dan minor mengacu pada bagian utama dan minor dari versi perakitan yang terpengaruh. assemblyname mengacu pada nama assembly.

Misalnya, file konfigurasi penerbit untuk Microsoft.Windows versi 6.0.Common-Controls assembly akan memiliki nama berikut:

policy.6.0.Microsoft.Windows.Common-Controls

Jangan gunakan file konfigurasi kebijakan untuk menaikkan versi utama atau minor dari rakitan. Misalnya, jangan mengalihkan versi 6.0.0.0 ke 7.0.0.0 atau 6.1.0.0. Saat aplikasi mereferensikan versi rakitan, seperti 6.0.0.0, pemeriksaan berdampingan untuk keberadaan file konfigurasi kebijakan apa pun dengan versi utama dan minor yang ditentukan, misalnya 6.0. Aplikasi kemudian dialihkan ke versi rakitan lain, misalnya 6.0.1.0. Jika file konfigurasi penerbit meningkatkan versi rakitan utama atau minor, pengalihan rakitan berikutnya mungkin memerlukan penerbitan beberapa file konfigurasi kebijakan.

Elemen

rakitan

Elemen kontainer. Subelemen pertamanya harus merupakan assemblyIdentity. Diperlukan.

Elemen assembly harus berada di namespace urn:schemas-microsoft-com:asm.v1. Elemen turunan dari assembly juga harus berada di namespace layanan ini, dengan warisan atau dengan penandaan.

Elemen rakitan memiliki atribut berikut.

Atribut Deskripsi
manifestVersion Atribut manifestVersion harus diatur ke 1.0.

assemblyIdentity

Menjelaskan dan secara unik mengidentifikasi rakitan berdampingan.

Sebagai subelemen pertama dari elemen perakitan, assemblyIdentity menjelaskan rakitan berdampingan yang memiliki satu atau beberapa dependensi perakitannya berubah. File konfigurasi penerbit mengalihkan dependensi rakitan yang diidentifikasi. Misalnya, assemblyIdentity berikut menunjukkan bahwa file konfigurasi penerbit memengaruhi dependensi rakitan x86 Microsoft.Windows.Pop 6.0.0.0.

<assemblyIdentity 
     type="win32-policy" 
     publicKeyToken="0000000000000000" 
     name="policy.6.0.Microsoft.Windows.Pop" 
     version="2.1.0.0" 
     processorArchitecture="x86"/>

Sebagai subelemen pertama dari elemen dependentAssembly, assemblyIdentity menjelaskan dependensi perakitan berdampingan. File konfigurasi penerbit mengonfigurasi ulang identitas rakitan berdampingan yang diperlukan ini. Perubahan ditentukan dalam bindingRedirect. Misalnya, assemblyIdentity berikut mengubah dependensi apa pun pada Microsoft.Windows.SampleAssembly versi 2.0.0.0 ke dependensi pada Microsoft.Windows.SampleAssembly versi 2.0.1.0.

<dependency>
      <dependentAssembly>
         <assemblyIdentity 
type="win32" 
name="Microsoft.Windows.SampleAssembly"  
processorArchitecture="x86"
publicKeyToken="0000000000000000"/>
         <bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/>
      </dependentAssembly>
</dependency>

Elemen assemblyIdentity memiliki atribut berikut. Ini tidak memiliki sub-elemen.

Atribut Deskripsi
jenis Menentukan jenis rakitan. Diperlukan. Dalam assemblyIdentity untuk assembly yang terpengaruh, nilai atribut jenis harus diatur ke win32-policy. Kebijakan win32 nilai harus dalam semua huruf kecil.
Dalam assemblyIdentity untuk dependensi assembly yang berubah, nilai atribut jenis harus diatur ke win32. Nilai win32 harus dalam semua huruf kecil.
nama Secara unik menamai assembly. Diperlukan. Dalam assemblyIdentity untuk assembly yang terpengaruh, nama memiliki formulir kebijakan.utama.kecil . assemblyname di mana utama dan minor mengacu pada bagian utama dan minor dari versi rakitan .
Dalam assemblyIdentity untuk dependensi assembly yang berubah, nama memiliki formulir Organization.Division.Name. Misalnya, Microsoft.Windows.MysampleApp.
bahasa Mengidentifikasi bahasa assembly. Fakultatif. Dalam assemblyIdentity untuk assembly yang terpengaruh, jika assembly khusus bahasa, tentukan kode bahasa DHTML. Jika assembly adalah untuk penggunaan di seluruh dunia (bahasa netral), hilangkan atribut ini.
Dalam assemblyIdentity untuk dependensi assembly yang berubah, jika assembly khusus bahasa, tentukan kode bahasa DHTML. Jika assembly adalah untuk penggunaan di seluruh dunia (bahasa netral) tetapkan nilai sebagai "*".
prosesor Architecture Menentukan prosesor yang menjalankan aplikasi.
versi Menentukan versi rakitan. Gunakan sintaks versi empat bagian: mmmm.nnnn.oooo.pppp Diperlukan hanya dalam konteks DEF assemblyIdentity. Jangan tentukan atribut versi dalam konteks REF assemblyIdentity.
publicKeyToken String heksadesimal 16 karakter yang mewakili 8 byte terakhir hash SHA-1 dari kunci publik tempat perakitan ditandatangani. Kunci publik yang digunakan untuk menandatangani katalog harus 2048 bit atau lebih besar. PublicKeyToken diperlukan untuk semua rakitan bersama berdampingan. PublicKeyToken yang digunakan untuk file konfigurasi penerbit harus menjadi kunci yang sama yang digunakan untuk rakitan yang ditandatangani. File konfigurasi penerbit dapat ditandatangani menggunakan alat yang sama seperti yang digunakan dengan rakitan, lihat Contoh Penandatanganan Rakitan dan Membuat File dan Katalog yang Ditandatangani.

dependensi

Elemen kontainer opsional untuk setidaknya satu dependentAssembly. Ini tidak memiliki atribut.

dependentAssembly

Setiap dependentAssembly harus berada di dalam tepat satu dependensi. dependentAssembly tidak memiliki atribut. Subelemen pertama dependentAssembly harus merupakan assemblyIdentity untuk rakitan berdampingan yang dikonfigurasi ulang oleh konfigurasi penerbit.

Pengalihan

Elemen bindingRedirect berisi informasi pengalihan untuk pengikatan rakitan.

Elemen ini memiliki atribut yang ditunjukkan dalam tabel berikut.

Atribut Deskripsi
oldVersion Menentukan versi rakitan yang ditimpa dan dialihkan. Gunakan sintaks versi empat bagian nnnnn.nnnnn.nnnnn.nnnnn. nnnnn. Tentukan rentang versi menurut tanda hubung tanpa spasi. Misalnya, 2.14.3.0 atau 2.14.3.0 2.16.0.0. Diperlukan.
newVersion Menentukan versi rakitan pengganti. Gunakan sintaks versi empat bagian nnnnn.nnnnn.nnnnn.nnnnn.

Komentar

File konfigurasi publisher tidak menentukan file. Perhatikan bahwa file kebijakan khusus bahasa terpisah dari file konfigurasi penerbit.

Contoh

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32-policy" publicKeyToken="0000000000000000" name="policy.6.0.Proseware.Research.SampleAssembly" version="1.0.1.0" language="en-us" processorArchitecture="x86"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" publicKeyToken="0000000000000000" name="Proseware.Research.SampleAssembly" language="en-us" processorArchitecture="x86"/>
<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.1.0"/>
</dependentAssembly>
</dependency>
</assembly>