Sdílet prostřednictvím


Mt.exe

Soubor Mt.exe je nástroj, který generuje podepsané soubory a katalogy. Je k dispozici v sadě Microsoft Windows Software Development Kit (SDK). Mt.exe vyžaduje, aby soubor odkazovaný v manifestu byl ve stejném adresáři jako manifest.

Mt.exe generuje hodnoty hash pomocí implementace CryptoAPI algoritmu Algoritmus secure hash (SHA-1). Další informace o algoritmech hash naleznete v tématu hash a podpis algoritmy. Hodnoty hash se vloží jako šestnáctkový řetězec do souboru značky v manifestu. Nástroj aktuálně generuje pouze hodnoty hash SHA-1, i když soubory v manifestech mohou používat jiná schémata hash.

Mt.exe používá Makecat.exe ke generování souborů katalogu (.cat) z definičních souborů katalogu (.cdf). Tento nástroj vyplní standardní šablonu CDF názvem a umístěním manifestu. Můžete ho použít s Makecat.exe k vygenerování katalogu sestavení.

K vygenerování manifestů pro spravovaná sestavení a nespravovaná souběžná sestavení je možné použít také verzi Mt.exe poskytovanou v posledních verzích sady Windows SDK.

Syntax

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]

Možnosti příkazového řádku

Mt.exe používá následující možnosti příkazového řádku bez rozlišování velkých a malých písmen.

Možnost Popis
-manifest

Určuje název souboru manifestu. Pokud chcete upravit jeden manifest, zadejte jeden název souboru manifestu. Například component.manifest.

Pokud chcete sloučit více manifestů, zadejte názvy zdrojových manifestů. Zadejte název aktualizovaného manifestu pomocí -out, -outputresourcenebo -updateresource možnosti. Následující příkazový řádek například požaduje operaci, která sloučí dva manifesty man1.manifest a man2.manifest do nového manifestu man3.manifest.

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

Není vyžadována dvojtečka (:) s možností -manifest.

-identita

Poskytuje hodnoty atributů assemblyIdentity element manifestu. Argumentem možnosti -identity je řetězcová hodnota obsahující hodnoty atributů v polích oddělených čárkami. Zadejte hodnotu názvu atributu v prvním poli bez zahrnutí podřetětěce "name=". Všechna zbývající pole určují atributy a jejich hodnoty pomocí formuláře: <název atributu>=<attribute_value>.

Chcete-li například aktualizovat prvek assemblyIdentity manifestu následujícími informacemi:

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

na příkazovém řádku uveďte následující možnost -identity:

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

-Rgs

Určuje název souboru registračního skriptu (.rgs). Možnost -dll je nutná k použití -rgs.

-Tlb

Určuje název souboru knihovny typů (.tlb). K použití možnosti -tlb je vyžadována možnost -dll .

-knihovna dll

Určuje název souboru dynamické knihovny (DLL). Možnost -dll je vyžadována mt.exe , pokud jsou použity možnosti -rgs nebo -tlb. Zadejte název knihovny DLL, kterou chcete nakonec sestavit ze souborů .rgs nebo .tlb.

Například následující příkaz požaduje operaci, která generuje manifest ze souborů .rgs a .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

-náhrady

Určuje soubor, který obsahuje hodnoty nahraditelného řetězce v souboru .rgs.

-managedassemblyname

Vygeneruje manifest ze zadaného spravovaného sestavení. Používá se s možností -nodependency k vygenerování manifestu bez prvků závislostí. Použije se s možností -category k vygenerování manifestu se značkami kategorií. Pokud je například managed.dll spravované sestavení, následující příkazový řádek vygeneruje out.manifest z managed.dll.

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

-nodependency

Určuje operaci, která generuje manifest bez prvků závislostí. Možnost -nodependency vyžaduje možnost -managedassemblyname. Pokud je například managed.dll spravované sestavení, následující příkazový řádek vygeneruje out.manifest z managed.dll bez informací o závislostech.

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

-kategorie

Určuje operaci, která generuje manifest se značkami kategorií. Možnost -category vyžaduje možnost -managedassemblyname. Pokud je například managed.dll spravované sestavení, následující příkazový řádek vygeneruje out.manifest z managed.dll se značkami kategorií.

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

-nologo

Určuje operaci, která se spustí bez zobrazení standardních dat o autorských právech Microsoftu. Pokud mt.exe běží jako součást procesu sestavení, můžete tuto možnost použít k zabránění zápisu nežádoucích informací do souborů protokolu.

-ven

Určuje název aktualizovaného manifestu. Pokud se jedná o operaci s jedním manifestem a parametr -out vynecháte, původní manifest se upraví.

-inputresource

Určuje operaci provedenou v manifestu získaném z prostředku typu RT_MANIFEST. Pokud se použije možnost -inputresource bez zadání identifikátoru prostředku, <resource_id>, použije operace hodnotu CREATEPROCESS_MANIFEST_RESOURCE.

Například následující příkaz požaduje operaci, která slučuje manifest z knihovny DLL, dll_with_manifest.dlla soubor manifestu man2.manifest. Sloučené manifesty přijímá manifest v souboru prostředků jiné knihovny DLL dll_with_merged_manifests.

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

Chcete-li extrahovat manifest z knihovny DLL, zadejte název souboru KNIHOVNY DLL. Například následující příkaz extrahuje manifest z lib1.dll a man3.manifest obdrží extrahovaný manifest.

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

-outputresource

Určuje operaci, která generuje manifest, který má být přijat prostředkem typu RT_MANIFEST. Pokud se použije možnost -outputresource bez zadání identifikátoru prostředku, <resource_id>operace použije hodnotu CREATEPROCESS_MANIFEST_RESOURCE.

-updateresource

Určuje operaci, která je ekvivalentní použití -inputresource a -outputresource možnosti s identickými argumenty. Například následující příkaz požádá o operaci, která vypočítá hodnotu hash souborů na zadané cestě a aktualizuje manifest prostředku přenosného spustitelného souboru (PE).

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

-hashupdate

Vypočítá hodnotu hash souborů v zadaných cestách a aktualizuje hodnotu hash atributu File elementu s touto hodnotou.

Následující příkaz například požaduje operaci, která slučuje dva soubory manifestu, man1.manifest a man2.manifest a aktualizuje hodnotu hash atributu File element v manifestu, který přijímá sloučené informace merged.manifest.

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

Pokud nejsou zadány cesty k souborům, operace vyhledá umístění manifestu určeného k přijetí aktualizace. Například následující příkaz požaduje operaci, která vypočítá aktualizovanou hodnotu hash pomocí souborů nalezených vyhledáváním v umístění updated.manifest.

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

-validate_manifest

Určuje operaci, která provádí kontrolu syntaxe shody manifestu se schématem manifestu. Například následující příkaz požádá o kontrolu ověření shody man1.manifest s jeho schématem.

mt.exe -manifest man1.manifest -validate_manifest

-validate_file_hashes

Určuje operaci, která ověří hodnoty hash File elementy manifestu. Například následující příkaz požaduje operaci, která ověří hodnoty hash všech Soubor elementy man1.manifest.

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

-kanonicalize

Určuje operaci, která aktualizuje manifest na kanonický formulář. Například následující příkaz aktualizuje man1.manifest na kanonický formulář.

mt.exe -manifest man1.manifest

-check_for_duplicates

Určuje operaci, která kontroluje, jestli manifest obsahuje duplicitní prvky. Například následující příkaz zkontroluje soubor man1.manifest pro duplicitní prvky.

mt.exe -man1.manifest -check_for_duplicates

-makecdfs

Generuje soubory .cdf pro vytváření katalogů. Například na následující příkaz požádá o operaci, která aktualizuje hodnotu hash a vygeneruje soubor .cdf.

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

-užvaněný Zobrazí podrobné informace o ladění.
-? Při spuštění s -?, nebo bez možností a argumentů Mt.exe zobrazí text nápovědy.

nástroje pro vývoj sestavení