Delen via


Mt.exe

Het Mt.exe-bestand is een hulpprogramma waarmee ondertekende bestanden en catalogi worden gegenereerd. Deze is beschikbaar in de Microsoft Windows Software Development Kit (SDK). Mt.exe vereist dat het bestand waarnaar wordt verwezen in het manifest aanwezig is in dezelfde map als het manifest.

Mt.exe hashes genereert met behulp van de CryptoAPI-implementatie van het Secure Hash Algorithm (SHA-1). Zie Hash- en Handtekeningalgoritmenvoor meer informatie over hash-algoritmen. Hashes worden ingevoegd als een hexadecimale tekenreeks in het -bestand tags in het manifest. Het hulpprogramma genereert momenteel alleen SHA-1 hashes, hoewel bestanden in manifesten andere hashingschema's kunnen gebruiken.

Mt.exe gebruikt Makecat.exe om catalogusbestanden (.cat) te genereren op basis van catalogusdefinitiebestanden (.cdf). Met dit hulpprogramma wordt een standaardsjabloon-CDF ingevuld met de naam en locatie van uw manifest. U kunt dit gebruiken met Makecat.exe om de assemblycatalogus te genereren.

De versie van Mt.exe in recente versies van de Windows SDK kan ook worden gebruikt voor het genereren van manifesten voor beheerde assembly's en onbeheerde side-by-side assembly's.

Syntaxis

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]

Opdrachtregelopties

Mt.exe gebruikt de volgende hoofdlettergevoelige opdrachtregelopties.

Optie Beschrijving
-manifesteren

Hiermee geeft u de naam van het manifestbestand. Als u één manifest wilt wijzigen, geeft u één manifestbestandsnaam op. Bijvoorbeeld component.manifest.

Als u meerdere manifesten wilt samenvoegen, geeft u hier de namen van de bronmanifesten op. Geef de naam van het bijgewerkte manifest op met de -out-, -outputresourceof -updateresource opties. Met de volgende opdrachtregel wordt bijvoorbeeld een bewerking aangevraagd waarmee twee manifesten, man1.manifest en man2.manifest, worden samengevoegd tot een nieuw manifest, man3.manifest.

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

Er is geen dubbele punt (:) is vereist met de optie -manifest.

-identiteit

Biedt de kenmerkenwaarden van het assemblyIdentity element van het manifest. Het argument van de optie -identity is een tekenreekswaarde met de kenmerkwaarden in velden gescheiden door komma's. Geef de waarde op van de naam kenmerk in het eerste veld, zonder een subtekenreeks 'name=' op te geven. Alle resterende velden geven de kenmerken en de bijbehorende waarden op met behulp van het formulier: <kenmerknaam>=<attribute_value>.

Als u bijvoorbeeld het element assemblyIdentity van het manifest wilt bijwerken met de volgende informatie:

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

neem de volgende -identity optie op de opdrachtregel op:

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

-Rgs

Hiermee geeft u de naam van het registratiescriptbestand (.rgs). De optie -dll-is vereist om de optie -rgs te gebruiken.

-Tlb

Hiermee geeft u de naam van het typebibliotheekbestand (.tlb) op. De optie -dll-is vereist voor het gebruik van de optie -tlb.

-Dll

Hiermee geeft u de naam van het DLL-bestand (Dynamic Link Library). De optie -dll-is vereist voor mt.exe als de opties -rgs of -tlb worden gebruikt. Geef de naam op van het DLL-bestand dat u uiteindelijk wilt bouwen vanuit de .rgs- of .tlb-bestanden.

Met de volgende opdracht wordt bijvoorbeeld een bewerking aangevraagd waarmee een manifest wordt gegenereerd op basis van .rgs- en .tlb-bestanden.

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

-Vervangingen

Hiermee geeft u het bestand met waarden voor de vervangbare tekenreeks in het .rgs-bestand.

-managedassemblyname

Hiermee wordt een manifest gegenereerd op basis van de opgegeven beheerde assembly. Gebruik deze optie met de -nodependency optie om een manifest te genereren zonder afhankelijkheidselementen. Gebruik deze optie met de optie -category om een manifest met categorietags te genereren. Als managed.dll bijvoorbeeld een beheerde assembly is, genereert de volgende opdrachtregel het out.manifest van managed.dll.

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

-nodependency

Hiermee geeft u een bewerking op waarmee een manifest zonder afhankelijkheidselementen wordt gegenereerd. Voor de optie -nodependency is de optie managedassemblyname vereist. Als managed.dll bijvoorbeeld een beheerde assembly is, genereert de volgende opdrachtregel het out.manifest van managed.dll zonder afhankelijkheidsinformatie.

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

-categorie

Hiermee geeft u een bewerking op waarmee een manifest met categorietags wordt gegenereerd. Voor de optie -category is de optie -managedassemblyname vereist. Als managed.dll bijvoorbeeld een beheerde assembly is, genereert de volgende opdrachtregel het out.manifest van managed.dll met categorietags.

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

-nologo

Hiermee geeft u een bewerking op die wordt uitgevoerd zonder standaard microsoft-copyrightgegevens weer te geven. Als mt.exe wordt uitgevoerd als onderdeel van een buildproces, kan deze optie worden gebruikt om te voorkomen dat ongewenste informatie in de logboekbestanden wordt geschreven.

-buiten

Hiermee geeft u de naam van het bijgewerkte manifest. Als dit een bewerking met één manifest is en de -out- optie wordt weggelaten, wordt het oorspronkelijke manifest gewijzigd.

-inputresource

Hiermee geeft u een bewerking op die wordt uitgevoerd op een manifest dat is verkregen uit een resource van het type RT_MANIFEST. Als de optie -inputresource wordt gebruikt zonder de resource-id op te geven, <resource_id>, gebruikt de bewerking de waarde CREATEPROCESS_MANIFEST_RESOURCE.

Met de volgende opdracht wordt bijvoorbeeld een bewerking aangevraagd waarmee een manifest wordt samengevoegd uit een DLL, dll_with_manifest.dllen een manifestbestand, man2.manifest. De samengevoegde manifesten worden ontvangen door een manifest in het bronbestand van een andere DLL, dll_with_merged_manifests.

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

Als u het manifest wilt extraheren uit een DLL, geeft u de naam van het DLL-bestand op. Met de volgende opdracht wordt bijvoorbeeld het manifest geëxtraheerd uit lib1.dll en man3.manifest het geëxtraheerde manifest ontvangt.

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

-outputresource

Hiermee geeft u een bewerking op waarmee een manifest wordt gegenereerd dat moet worden ontvangen door een resource van het type RT_MANIFEST. Als de optie -outputresource wordt gebruikt zonder de resource-id op te geven, <resource_id>, gebruikt de bewerking de waarde CREATEPROCESS_MANIFEST_RESOURCE.

-updateresource

Hiermee geeft u een bewerking op die gelijk is aan het gebruik van de -inputresource en -outputresource opties met identieke argumenten. Met de volgende opdracht wordt bijvoorbeeld een bewerking aangevraagd waarmee een hash van de bestanden op het opgegeven pad wordt berekend en het manifest van een resource van een draagbaar uitvoerbaar bestand (PE) wordt bijgewerkt.

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

-hashupdate

Berekent de hashwaarde van de bestanden op de opgegeven paden en werkt de waarde van het hash- kenmerk van het file-element bij met deze waarde.

Met de volgende opdracht wordt bijvoorbeeld een bewerking aangevraagd waarmee twee manifestbestanden, man1.manifest en man2.manifest worden samengevoegd en de waarde van de hash- kenmerk van het bestand element wordt bijgewerkt in het manifest dat de samengevoegde informatie, merged.manifest ontvangt.

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

Als de paden naar de bestanden niet zijn opgegeven, zoekt de bewerking de locatie van het manifest dat is opgegeven om de update te ontvangen. Met de volgende opdracht wordt bijvoorbeeld een bewerking aangevraagd waarmee de bijgewerkte hashwaarde wordt berekend met behulp van bestanden die zijn gevonden door de locatie van updated.manifest te doorzoeken.

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

-validate_manifest

Hiermee geeft u een bewerking die een syntaxiscontrole uitvoert van de conformiteit van het manifest met het manifestschema. Met de volgende opdracht wordt bijvoorbeeld een controle aangevraagd om de conformiteit van man1.manifest met het bijbehorende schema te valideren.

mt.exe -manifest man1.manifest -validate_manifest

-validate_file_hashes

Hiermee geeft u een bewerking op waarmee de hashwaarden van de File elementen van het manifest worden gevalideerd. Met de volgende opdracht wordt bijvoorbeeld een bewerking aangevraagd waarmee de hashwaarden van alle Bestand elementen van het man1.manifest worden gevalideerd.

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

-canonicaliseren

Hiermee geeft u een bewerking voor het bijwerken van het manifest naar canonieke vorm. Met de volgende opdracht wordt bijvoorbeeld man1.manifest bijgewerkt naar canonieke vorm.

mt.exe -manifest man1.manifest

-check_for_duplicates

Hiermee geeft u een bewerking die het manifest controleert op dubbele elementen. Met de volgende opdracht wordt bijvoorbeeld man1.manifest gecontroleerd op dubbele elementen.

mt.exe -man1.manifest -check_for_duplicates

-makecdfs

Hiermee worden .cdf-bestanden gegenereerd om catalogi te maken. Voor de volgende opdracht wordt bijvoorbeeld een bewerking aangevraagd waarmee de hashwaarde wordt bijgewerkt en een CDF-bestand wordt gegenereerd.

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

-breedsprakig Geeft uitgebreide foutopsporingsgegevens weer.
-? Wanneer u met -?, of zonder opties en argumenten, Mt.exe Help-tekst weergeeft.

ontwikkelhulpprogramma's voor assembly's naast elkaar