Dela via


Mt.exe

Filen Mt.exe är ett verktyg som genererar signerade filer och kataloger. Den finns i Microsoft Windows Software Development Kit (SDK). Mt.exe kräver att filen som refereras i manifestet finns i samma katalog som manifestet.

Mt.exe genererar hashar med cryptoAPI-implementeringen av den säkra hashalgoritmen (SHA-1). Mer information om hash-algoritmer finns i Hash- och signaturalgoritmer. Hashar infogas som en hexadecimal sträng i -filen taggar i manifestet. Verktyget genererar för närvarande bara SHA-1-hashar, även om filer i manifest kan använda andra hashningsscheman.

Mt.exe använder Makecat.exe för att generera katalogfiler (.cat) från katalogdefinitionsfiler (.cdf). Det här verktyget fyller i en CDF-standardmall med namnet och platsen för manifestet. Du kan använda detta med Makecat.exe för att generera sammansättningskatalogen.

Versionen av Mt.exe som tillhandahålls i de senaste versionerna av Windows SDK kan också användas för att generera manifest för hanterade sammansättningar och ohanterade sammansättningar sida vid sida.

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]

Kommandoradsalternativ

Mt.exe använder följande skiftlägesokänsliga kommandoradsalternativ.

Alternativ Beskrivning
-manifestera

Anger namnet på manifestfilen. Om du vill ändra ett enda manifest anger du ett manifestfilnamn. Till exempel component.manifest.

Om du vill sammanfoga flera manifest anger du namnen på källmanifesten här. Ange namnet på det uppdaterade manifestet med alternativen -out, -outputresourceeller -updateresource. Följande kommandorad begär till exempel en åtgärd som sammanfogar två manifest, man1.manifest och man2.manifest, till ett nytt manifest, man3.manifest.

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

Inget kolon (:) krävs med alternativet -manifest.

-identitet

Innehåller attributvärdena för assemblyIdentity-elementet i manifestet. Argumentet för alternativet -identity är ett strängvärde som innehåller attributvärdena i fält avgränsade med kommatecken. Ange värdet för attributet namn i det första fältet, utan att inkludera understrängen "name=". Alla återstående fält anger attributen och deras värden med hjälp av formuläret: <attributnamn>=<attribute_value>.

Om du till exempel vill uppdatera assemblyIdentity-elementet i manifestet med följande information:

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

inkludera följande alternativ -identity på kommandoraden:

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

-Rgs

Anger namnet på registreringsskriptfilen (.rgs). Alternativet -dll krävs för att använda alternativet -rgs.

-Tlb

Anger namnet på typbiblioteksfilen (.tlb). Alternativet -dll krävs för att använda alternativet -tlb.

-Dll

Anger namnet på DLL-filen (Dynamic Link Library). Alternativet -dll krävs av mt.exe om alternativen -rgs eller -tlb används. Ange namnet på den DLL som du tänker skapa från .rgs- eller .tlb-filerna.

Följande kommando begär till exempel en åtgärd som genererar ett manifest från .rgs- och .tlb-filer.

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

-Ersättare

Anger den fil som innehåller värden för den utbytbara strängen i .rgs-filen.

-managedassemblyname

Genererar ett manifest från den angivna hanterade sammansättningen. Använd med alternativet -nodependency för att generera ett manifest utan beroendeelement. Använd med alternativet -category för att generera ett manifest med kategoritaggar. Om managed.dll till exempel är en hanterad sammansättning genererar följande kommandorad out.manifest från managed.dll.

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

-nodependency

Anger en åtgärd som genererar ett manifest utan beroendeelement. Alternativet -nodependency kräver alternativet -managedassemblyname. Om managed.dll till exempel är en hanterad sammansättning genererar följande kommandorad out.manifest från managed.dll utan beroendeinformation.

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

-kategori

Anger en åtgärd som genererar ett manifest med kategoritaggar. Alternativet -category kräver alternativet -managedassemblyname. Om managed.dll till exempel är en hanterad sammansättning genererar följande kommandorad out.manifest från managed.dll med kategoritaggar.

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

-nologo

Anger en åtgärd som körs utan att microsofts standarddata för upphovsrätt visas. Om mt.exe körs som en del av en byggprocess kan det här alternativet användas för att förhindra att oönskad information skrivs till loggfilerna.

-ut

Anger namnet på det uppdaterade manifestet. Om det här är en enkelmanifeståtgärd och alternativet -out utelämnas ändras det ursprungliga manifestet.

-inputresource

Anger en åtgärd som utförs på ett manifest som hämtats från en resurs av typen RT_MANIFEST. Om alternativet -inputresource används utan att ange resursidentifieraren <resource_id>använder åtgärden värdet CREATEPROCESS_MANIFEST_RESOURCE.

Följande kommando begär till exempel en åtgärd som sammanfogar ett manifest från en DLL, dll_with_manifest.dlloch en manifestfil, man2.manifest. De sammanfogade manifesten tas emot av ett manifest i resursfilen för en annan DLL- dll_with_merged_manifests.

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

Om du vill extrahera manifestet från en DLL anger du DLL-filnamnet. Följande kommando extraherar till exempel manifestet från lib1.dll och man3.manifest tar emot det extraherade manifestet.

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

-outputresource

Anger en åtgärd som genererar ett manifest som ska tas emot av en resurs av typen RT_MANIFEST. Om alternativet -outputresource används utan att ange resursidentifieraren <resource_id>använder åtgärden värdet CREATEPROCESS_MANIFEST_RESOURCE.

-updateresource

Anger en åtgärd som motsvarar användningen av -inputresource och -outputresource alternativ med identiska argument. Följande kommando begär till exempel en åtgärd som beräknar en hash av filerna på den angivna sökvägen och uppdaterar manifestet för en resurs i en portabel körbar fil (PE).

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

-hashupdate

Beräknar hash-värdet för filerna vid de angivna sökvägarna och uppdaterar värdet för hash- attribut för elementet File med det här värdet.

Följande kommando begär till exempel en åtgärd som sammanfogar två manifestfiler, man1.manifest och man2.manifest, och uppdaterar värdet för hash- attribut för elementet File i manifestet som tar emot den sammanfogade informationen, merged.manifest.

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

Om sökvägarna till filerna inte har angetts söker åtgärden efter platsen för manifestet som angetts för att ta emot uppdateringen. Följande kommando begär till exempel en åtgärd som beräknar det uppdaterade hash-värdet med hjälp av filer som hittas genom att söka på platsen för updated.manifest.

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

-validate_manifest

Anger en åtgärd som utför en syntaxkontroll av manifestets överensstämmelse med manifestschemat. Följande kommando begär till exempel en kontroll för att verifiera överensstämmelsen för man1.manifest med sitt schema.

mt.exe -manifest man1.manifest -validate_manifest

-validate_file_hashes

Anger en åtgärd som verifierar hash-värdena för File-elementen i manifestet. Följande kommando begär till exempel en åtgärd som validerar hash-värdena för alla File-elementen i man1.manifestet.

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

-canonicalize

Anger en åtgärd för att uppdatera manifestet till kanoniskt formulär. Följande kommando uppdaterar till exempel man1.manifest till kanoniskt formulär.

mt.exe -manifest man1.manifest

-check_for_duplicates

Anger en åtgärd som kontrollerar manifestet efter duplicerade element. Följande kommando kontrollerar till exempel man1.manifest för duplicerade element.

mt.exe -man1.manifest -check_for_duplicates

-makecdfs

Genererar .cdf-filer för att skapa kataloger. Till exempel begär följande kommando en åtgärd som uppdaterar hash-värdet och genererar en .cdf-fil.

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

-mångordig Visar utförlig felsökningsinformation.
-? När du kör med -?, eller utan alternativ och argument visar Mt.exe hjälptext.

utvecklingsverktyg för sammansättning sida vid sida