Bagikan melalui


Mt.exe

File Mt.exe adalah alat yang menghasilkan file dan katalog yang ditandatangani. Ini tersedia dalam Kit Pengembangan Perangkat Lunak (SDK) Microsoft Windows. Mt.exe mengharuskan file yang direferensikan dalam manifes ada dalam direktori yang sama dengan manifes.

Mt.exe menghasilkan hash menggunakan implementasi CryptoAPI dari Secure Hash Algorithm (SHA-1). Untuk informasi selengkapnya tentang algoritme hash, lihat Hash dan Signature Algorithm. Hash dimasukkan sebagai string heksadesimal ke dalam tag file dalam manifes. Alat ini saat ini hanya menghasilkan hash SHA-1, meskipun file dalam manifes dapat menggunakan skema hashing lainnya.

Mt.exe menggunakan Makecat.exe untuk menghasilkan file katalog (.cat) dari file definisi katalog (.cdf). Alat ini mengisi CDF templat standar dengan nama dan lokasi manifes Anda. Anda dapat menggunakan ini dengan Makecat.exe untuk menghasilkan katalog perakitan.

Versi Mt.exe yang disediakan dalam versi terbaru Windows SDK juga dapat digunakan untuk menghasilkan manifes untuk rakitan terkelola dan rakitan berdampingan yang tidak dikelola.

Sintaks

mt.exe [-manifest:<component1.manifest><component2.manifest>] [-identity:<identity string>] 
[-rgs:<file1.rgs>] [-tlb:<file2.tlb>] [-dll:<file3.dll>] [-replacements:<XML filename>]
[-managedassemblyname:<managed assembly>] [-nodependency] [-category] [-out:<output manifest name>]
[-inputresource:<file4>;[#]<resource_id>] [-outputresource:<file5>;[#]<resource_id>] 
[-updateresource:<file6>;[#]<resource_id>] [-hashupdate[:<path to files>]] [-makecdfs] [-validate_manifest]
[-validate_file_hashes:<path to files>] [-canonicalize] [-check_for_duplicates] [-nologo] [-verbose]

Opsi Baris Perintah

Mt.exe menggunakan opsi baris perintah yang tidak peka huruf besar/kecil berikut.

Opsi Deskripsi
-Mewujudkan

Menentukan nama file manifes. Untuk mengubah manifes tunggal, tentukan satu nama file manifes. Misalnya, component.manifest.

Untuk menggabungkan beberapa manifes, tentukan nama manifes sumber di sini. Tentukan nama manifes yang diperbarui dengan opsi -out, -outputresource, atau -updateresource . Misalnya, baris perintah berikut meminta operasi yang menggabungkan dua manifes, manifes manifes man1 dan man2.manifest, ke dalam manifes baru, man3.manifest.

mt.exe -manifest man1.manifest man2.manifest -out:man3.manifest

Tidak ada titik dua (:) diperlukan dengan opsi -manifest .

-Identitas

Menyediakan nilai atribut dari elemen assemblyIdentity dari manifes. Argumen opsi -identity adalah nilai string yang berisi nilai atribut dalam bidang yang dipisahkan oleh koma. Berikan nilai atribut name di bidang pertama, tanpa menyertakan substring "name=". Semua bidang yang tersisa menentukan atribut dan nilainya menggunakan formulir: <attribute name>=<attribute_value>.

Misalnya, untuk memperbarui elemen assemblyIdentity manifes dengan informasi berikut:

<assemblyIdentity type="win32" name="Microsoft.Windows.SampleAssembly" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="a5aaf5ba15723d5"/>

sertakan opsi -identity berikut pada baris perintah:

-identity:"Microsoft.Windows.SampleAssembly, processorArchitecture=x86, version=6.0.0.0, type=win32, publicKeyToken=a5aaf5ba15723d5"

-Rgs

Menentukan nama file skrip pendaftaran (.rgs). Opsi -dll diperlukan untuk menggunakan opsi -rgs .

-tlb

Menentukan nama file pustaka tipe (.tlb). Opsi -dll diperlukan untuk menggunakan opsi -tlb .

-dll

Menentukan nama file pustaka tautan-dinamis (DLL). Opsi -dll diperlukan oleh mt.exe jika opsi -rgs atau -tlb digunakan. Tentukan nama DLL yang ingin Anda bangun dari file .rgs atau .tlb.

Misalnya, perintah berikut meminta operasi yang menghasilkan manifes dari file .rgs dan .tlb.

mt.exe -rgs:testreg1.rgs -tlb:testlib1.tlb -dll:test.dll -replacements:rep.manifest -identity:"Microsoft.Windows.SampleAssembly, processorArchitecture=x86, version=6.0.0.0, type=win32, publicKeyToken=a5aaf5ba15723d5" -out:rgstlb.manifest

-Pengganti

Menentukan file yang berisi nilai untuk string yang dapat diganti dalam file .rgs.

-managedassemblyname

Menghasilkan manifes dari rakitan terkelola yang ditentukan. Gunakan dengan opsi -nodependency untuk menghasilkan manifes tanpa elemen dependensi. Gunakan dengan opsi -category untuk menghasilkan manifes dengan tag kategori. Misalnya, jika managed.dll adalah rakitan terkelola, baris perintah berikut menghasilkan out.manifest dari managed.dll.

mt.exe -managedassemblyname:managed.dll -out:out.manifest

-nodependency

Menentukan operasi yang menghasilkan manifes tanpa elemen dependensi. Opsi -nodependency memerlukan opsi -managedassemblyname . Misalnya, jika managed.dll adalah rakitan terkelola, baris perintah berikut menghasilkan out.manifest dari managed.dll tanpa informasi dependensi.

mt.exe -managedassemblyname:managed.dll -out:out.manifest -nodependency

-Kategori

Menentukan operasi yang menghasilkan manifes dengan tag kategori. Opsi -category memerlukan opsi -managedassemblyname . Misalnya, jika managed.dll adalah rakitan terkelola, baris perintah berikut menghasilkan out.manifest dari managed.dll dengan tag kategori.

mt.exe -managedassemblyname:managed.dll -out:out.manifest -category

-nologo

Menentukan operasi yang dijalankan tanpa menampilkan data hak cipta Microsoft standar. Jika mt.exe berjalan sebagai bagian dari proses build, opsi ini dapat digunakan untuk mencegah penulisan informasi yang tidak diinginkan ke dalam file log.

-out

Menentukan nama manifes yang diperbarui. Jika ini adalah operasi manifes tunggal, dan opsi -out dihilangkan, manifes asli dimodifikasi.

-inputresource

Menentukan operasi yang dilakukan pada manifes yang diperoleh dari sumber daya jenis RT_MANIFEST. Jika opsi -inputresource digunakan tanpa menentukan pengidentifikasi sumber daya, <resource_id>, operasi menggunakan nilai CREATEPROCESS_MANIFEST_RESOURCE.

Misalnya, perintah berikut meminta operasi yang menggabungkan manifes dari DLL, dll_with_manifest.dll, dan file manifes, manifes manifes manifes. Manifes yang digabungkan diterima oleh manifes dalam file sumber daya DLL lain, dll_with_merged_manifests.

mt.exe -inputresource:dll_with_manifest.dll;#1 -manifest man2.manifest -outputresource:dll_with_merged_manifest.dll;#3

Untuk mengekstrak manifes dari DLL, tentukan nama file DLL. Misalnya, perintah berikut mengekstrak manifes dari lib1.dll dan man3.manifest menerima manifes yang diekstrak.

mt.exe -inputresource:lib.dll;#1 -out:man3.manifest

-outputresource

Menentukan operasi yang menghasilkan manifes yang akan diterima oleh sumber daya jenis RT_MANIFEST. Jika opsi -outputresource digunakan tanpa menentukan pengidentifikasi sumber daya, <resource_id>, operasi menggunakan nilai CREATEPROCESS_MANIFEST_RESOURCE.

-updateresource

Menentukan operasi yang setara dengan menggunakan opsi -inputresource dan -outputresource dengan argumen yang identik. Misalnya, perintah berikut meminta operasi yang menghitung hash file di jalur yang ditentukan dan memperbarui manifes sumber daya portabel yang dapat dieksekusi (PE).

mt.exe -updateresource:dll_with_manifest.dll;#1 -hashupdate:f:\files.

-hashupdate

Menghitung nilai hash file di jalur yang ditentukan dan memperbarui nilai atribut hash elemen File dengan nilai ini.

Misalnya, perintah berikut meminta operasi yang menggabungkan dua file manifes, manifes manifes man1 dan man2.manifest, dan memperbarui nilai atribut hash elemen File dalam manifes yang menerima informasi gabungan, merged.manifest.

mt.exe -manifest man1.manifest man2.manifest -hashupdate:d:\filerepository -out:merged.manifest

Jika jalur ke file tidak ditentukan, operasi mencari lokasi manifes yang ditentukan untuk menerima pembaruan. Misalnya, perintah berikut meminta operasi yang menghitung nilai hash yang diperbarui menggunakan file yang ditemukan dengan mencari lokasi updated.manifest.

mt.exe -manifest yourComponent.manifest -hashupdate -out:updated.manifest

-validate_manifest

Menentukan operasi yang melakukan pemeriksaan sintaks kesesuaian manifes dengan skema manifes. Misalnya, perintah berikut meminta pemeriksaan untuk memvalidasi kesesuaian man1.manifest dengan skemanya.

mt.exe -manifest man1.manifest -validate_manifest

-validate_file_hashes

Menentukan operasi yang memvalidasi nilai hash elemen File dari manifes. Misalnya, perintah berikut meminta operasi yang memvalidasi nilai hash dari semua elemen File man1.manifest.

mt.exe -manifest man1.manifest -validate_file_hashes:"c;\files"

-canonicalize

Menentukan operasi untuk memperbarui manifes ke bentuk kanonis. Misalnya, perintah berikut memperbarui man1.manifest ke bentuk kanonis.

mt.exe -manifest man1.manifest

-check_for_duplicates

Menentukan operasi yang memeriksa manifes untuk elemen duplikat. Misalnya, perintah berikut memeriksa man1.manifest untuk elemen duplikat.

mt.exe -man1.manifest -check_for_duplicates

-makecdfs

Menghasilkan file .cdf untuk membuat katalog. Misalnya, ke perintah berikut meminta operasi yang memperbarui nilai hash dan menghasilkan file .cdf.

mt.exe -manifest comp1.manifest -hashupdate -makecdfs -out:updated.manifest

-verbose Menampilkan informasi penelusuran kesalahan verbose.
-? Saat dijalankan dengan -?, atau tanpa opsi dan argumen, Mt.exe menampilkan teks bantuan.

Alat Pengembangan Perakitan Berdampingan