Bagikan melalui


Elemen <dependecy> (penyebaran ClickOnce)

Mengidentifikasi versi aplikasi yang akan diinstal dan lokasi manifes aplikasi.

Sintaks


      <dependency>
   <dependentAssembly
      preRequisite
      visible
      dependencyType
      codeBase
      size
   >
      <assemblyIdentity
         name
         version
         publicKeyToken
         processorArchitecture
         language
         type
      />
      <hash>
         <dsig:Transforms>
            <dsig:Transform
                Algorithm
            />
         </dsig:Transforms>
         <dsig:DigestMethod />
         <dsig:DigestValue>
         </dsig:DigestValue>
      </hash>

   </dependentAssembly>
</dependency>

Elemen dan atribut

dependency Elemen diperlukan. Elemen ini tidak memiliki atribut. Manifes penyebaran dapat memiliki beberapa elemen dependency.

Elemen dependency biasanya menyatakan dependensi untuk aplikasi utama pada rakitan yang terdapat dalam aplikasi ClickOnce. Jika aplikasi Main.exe Anda menggunakan rakitan dengan nama DotNetAssembly.dll, maka rakitan tersebut harus dicantumkan di bagian dependensi. Namun, dependensi juga dapat menyatakan jenis dependensi lain, seperti dependensi di versi tertentu dari runtime bahasa umum pada perakitan di singgahan perakitan global (GAC), atau pada objek COM. Karena ini adalah teknologi penyebaran tanpa sentuhan, ClickOnce tidak dapat memulai pengunduhan dan penginstalan jenis dependensi ini, tetapi itu akan mencegah aplikasi berjalan jika satu atau lebih dependensi yang ditentukan tidak ada.

dependenAssembly

Harus diisi. Elemen ini berisi elemen assemblyIdentity. Tabel berikut menunjukkan atribut yang didukung dependentAssembly.

Atribut Deskripsi
preRequisite Opsional. Menentukan bahwa rakitan ini harus sudah ada di GAC. Nilai yang berlaku adalah true atau false. Jika true dan rakitan yang ditentukan tidak ada di GAC, aplikasi gagal dijalankan.
visible Opsional. Mengidentifikasi identitas aplikasi tingkat atas, termasuk dependensinya. Digunakan secara internal oleh ClickOnce untuk mengelola penyimpanan dan aktivasi aplikasi.
dependencyType Harus diisi. Hubungan antara dependensi ini dan aplikasi. Nilai yang valid adalah:

- install. Komponen mewakili penginstalan terpisah dari aplikasi saat ini.
- preRequisite. Komponen diperlukan oleh aplikasi saat ini.
codebase Opsional. Jalur penuh ke manifes aplikasi.
size Opsional. Ukuran manifes aplikasi, dalam byte.

assemblyIdentity

Harus diisi. Elemen ini adalah turunan dari elemen dependentAssembly. Konten assemblyIdentity harus sama seperti yang dijelaskan dalam manifes aplikasi ClickOnce. Tabel berikut ini menjelaskan atribut elemen assemblyIdentity.

Atribut Deskripsi
Name Harus diisi. Mengidentifikasi nama aplikasi.
Version Harus diisi. Menentukan nomor versi aplikasi dalam format berikut: major.minor.build.revision
publicKeyToken Harus diisi. Menentukan string heksadesimal dengan 16 karakter yang mewakili 8 byte terakhir dari hash SHA-1 dari kunci publik tempat aplikasi atau perakitan ditandatangani. Kunci umum yang digunakan untuk menandatangani harus 2048 bit atau lebih.
processorArchitecture Harus diisi. Menentukan mikroprosesor. Nilai yang valid adalah x86 untuk Windows 32-bit dan IA64 untuk Windows 64-bit.
Language Opsional. Mengidentifikasi dua bagian kode bahasa dari rakitan. Misalnya, EN-US, yang merupakan singkatan dari Bahasa Inggris Amerika. Default adalah neutral. Elemen ini ada di namespace layanan asmv2.
type Opsional. Untuk kompatibilitas mundur dengan teknologi penginstalan berdampingan Windows. Satu-satunya nilai yang diizinkan adalah win32.

Hash

Elemen hash adalah turunan opsional elemen file. Elemen hash tidak memiliki atribut.

ClickOnce menggunakan hash algoritmik dari semua file di aplikasi sebagai pemeriksaan keamanan untuk memastikan bahwa tidak ada file yang diubah setelah penyebaran. Jika elemen hash tidak disertakan, pemeriksaan ini tidak akan dilakukan. Oleh karena itu, tidak disarankan untuk menghilangkan elemen hash.

dsig:Transforms

Elemen dsig:Transforms adalah turunan yang diperlukan elemen hash. Elemen dsig:Transforms tidak memiliki atribut.

dsig:Transform

Elemen dsig:Transform adalah turunan yang diperlukan elemen dsig:Transforms. Tabel berikut ini menjelaskan atribut elemen dsig:Transform.

Atribut Deskripsi
Algorithm Algoritma digunakan untuk menghitung hash untuk file ini. Satu-satunya nilai saat ini yang digunakan oleh ClickOnce adalah urn:schemas-microsoft-com:HashTransforms.Identity.

dsig:DigestMethod

Elemen dsig:DigestMethod adalah turunan yang diperlukan elemen hash. Tabel berikut ini menjelaskan atribut elemen dsig:DigestMethod.

Atribut Deskripsi
Algorithm Algoritma digunakan untuk menghitung hash untuk file ini. Satu-satunya nilai saat ini yang digunakan oleh ClickOnce adalah http://www.w3.org/2000/09/xmldsig#sha1.

dsig:DigestValue

Elemen dsig:DigestValue adalah turunan yang diperlukan elemen hash. Elemen dsig:DigestValue tidak memiliki atribut. Nilai teksnya adalah hash yang dihitung untuk file yang ditentukan.

Keterangan

Manifes penyebaran biasanya memiliki satu elemen assemblyIdentity yang mengidentifikasi nama dan versi dari manifes aplikasi.

Contoh 1

Contoh kode berikut menunjukkan elemen dependency dalam manifes penyebaran ClickOnce.

<!-- Identify the assembly dependencies -->
<dependency>
  <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="16384">
    <assemblyIdentity name="MyApplication" version="0.0.0.0" cultural="neutral" processorArchitecture="msil" />
    <hash>
      <dsig:Transforms>
        <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
      </dsig:Transforms>
      <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
       <dsig:DigestValue>YzXYZJAvj9pgAG3y8jXUjC7AtHg=</dsig:DigestValue>
    </hash>
  </dependentAssembly>
</dependency>

Contoh 2

Contoh kode berikut menentukan dependensi pada rakitan yang sudah diinstal di GAC.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="GACAssembly" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
  </dependentAssembly>
</dependency>

Contoh 3

Contoh kode berikut menentukan dependensi pada versi tertentu dari runtime bahasa umum.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50215.0" />
  </dependentAssembly>
</dependency>

Contoh 4

Contoh kode berikut menentukan dependensi sistem operasi.

<dependency>
   <dependentOS supportUrl="http://www.microsoft.com" description="Microsoft Windows Operating System">
      <osVersionInfo>
         <os majorVersion="4" minorVersion="10" />
      </osVersionInfo>
   </dependentOS>
</dependency>

Baca juga