Udostępnij za pośrednictwem


Mt.exe

Plik Mt.exe to narzędzie, które generuje podpisane pliki i wykazy. Jest on dostępny w zestawie Microsoft Windows Software Development Kit (SDK). Mt.exe wymaga, aby plik, do którego odwołuje się manifest, był obecny w tym samym katalogu co manifest.

Mt.exe generuje skróty przy użyciu implementacji cryptoAPI algorytmu bezpiecznego wyznaczania wartości skrótu (SHA-1). Aby uzyskać więcej informacji na temat algorytmów skrótu, zobacz algorytmy skrótów i podpisów. Skróty są wstawiane jako ciąg szesnastkowy do pliku tagów w manifeście. Narzędzie generuje obecnie tylko skróty SHA-1, chociaż pliki w manifestach mogą używać innych schematów wyznaczania wartości skrótu.

Mt.exe używa Makecat.exe do generowania plików katalogu (cat) z plików definicji katalogu (cdf). To narzędzie wypełnia standardowy szablon CDF nazwą i lokalizacją manifestu. Można go użyć z Makecat.exe do wygenerowania wykazu zestawów.

Wersja Mt.exe podana w ostatnich wersjach zestawu Windows SDK może służyć również do generowania manifestów dla zarządzanych zestawów i zestawów niezarządzanych obok siebie.

Składnia

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]

Opcje wiersza polecenia

Mt.exe używa następujących opcji wiersza polecenia bez uwzględniania wielkości liter.

Opcja Opis
-manifest

Określa nazwę pliku manifestu. Aby zmodyfikować pojedynczy manifest, określ jedną nazwę pliku manifestu. Na przykład component.manifest.

Aby scalić wiele manifestów, określ tutaj nazwy manifestów źródłowych. Określ nazwę zaktualizowanego manifestu z -out -out, -outputresourcelub -updateresource opcje. Na przykład poniższy wiersz polecenia żąda operacji, która scala dwa manifesty, man1.manifest i man2.manifest, w nowy manifest man3.manifest.

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

Brak dwukropka (:) jest wymagana z opcją -manifestu.

-tożsamość

Zawiera wartości atrybutów assemblyIdentity elementu manifestu. Argumentem opcji -identity jest wartość ciągu zawierająca wartości atrybutów w polach rozdzielonych przecinkami. Podaj wartość atrybutu nazwa w pierwszym polu bez uwzględniania podciągów "name=". Wszystkie pozostałe pola określają atrybuty i ich wartości przy użyciu formularza: <nazwa atrybutu>=<attribute_value>.

Aby na przykład zaktualizować element assemblyIdentity manifestu przy użyciu następujących informacji:

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

dołącz następującą opcję -identity w wierszu polecenia:

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

-Rgs

Określa nazwę pliku skryptu rejestracji (rgs). Opcja -dll jest wymagana do użycia opcji -rgs.

-Tlb

Określa nazwę pliku biblioteki typów (.tlb). Opcja -dll jest wymagana do użycia opcji -tlb.

-Dll

Określa nazwę pliku biblioteki łącza dynamicznego (DLL). Opcja -dll jest wymagana przez mt.exe , jeśli są używane opcje -rgs lub -tlb. Określ nazwę biblioteki DLL, którą zamierzasz ostatecznie skompilować z plików rgs lub tlb.

Na przykład następujące polecenie żąda operacji, która generuje manifest z plików rgs i 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

-Zamienniki

Określa plik, który zawiera wartości dla zastępowalnego ciągu w pliku rgs.

-managedassemblyname

Generuje manifest z określonego zestawu zarządzanego. Użyj opcji -nodependency, aby wygenerować manifest bez elementów zależności. Użyj opcji -category, aby wygenerować manifest z tagami kategorii. Jeśli na przykład managed.dll jest zestawem zarządzanym, poniższy wiersz polecenia generuje manifest out.manifest z managed.dll.

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

-nodependency

Określa operację, która generuje manifest bez elementów zależności. Opcja -nodependency wymaga opcji -managedassemblyname. Jeśli na przykład managed.dll jest zestawem zarządzanym, poniższy wiersz polecenia generuje manifest out.manifest z managed.dll bez informacji o zależnościach.

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

-kategoria

Określa operację, która generuje manifest z tagami kategorii. Opcja -category wymaga opcji -managedassemblyname. Jeśli na przykład managed.dll jest zestawem zarządzanym, następujący wiersz polecenia generuje manifest out.manifest z managed.dll z tagami kategorii.

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

-nologo

Określa operację, która jest uruchamiana bez wyświetlania standardowych danych praw autorskich firmy Microsoft. Jeśli mt.exe działa w ramach procesu kompilacji, można użyć tej opcji, aby zapobiec zapisywaniu niechcianych informacji w plikach dziennika.

-na zewnątrz

Określa nazwę zaktualizowanego manifestu. Jeśli jest to operacja pojedynczego manifestu, a opcja -out zostanie pominięta, oryginalny manifest zostanie zmodyfikowany.

-inputresource

Określa operację wykonywaną na manifeście uzyskanym z zasobu typu RT_MANIFEST. Jeśli opcja -inputresource jest używana bez określania identyfikatora zasobu, <resource_id>, operacja używa CREATEPROCESS_MANIFEST_RESOURCE wartości.

Na przykład następujące polecenie żąda operacji, która scala manifest z biblioteki DLL, dll_with_manifest.dlli pliku manifestu man2.manifest. Scalone manifesty są odbierane przez manifest w pliku zasobów innej biblioteki DLL, dll_with_merged_manifests.

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

Aby wyodrębnić manifest z biblioteki DLL, określ nazwę pliku DLL. Na przykład następujące polecenie wyodrębnia manifest z lib1.dll, a man3.manifest odbiera wyodrębniony manifest.

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

-outputresource

Określa operację, która generuje manifest do odebrania przez zasób typu RT_MANIFEST. Jeśli opcja -outputresource jest używana bez określania identyfikatora zasobu, <resource_id>, operacja używa wartości CREATEPROCESS_MANIFEST_RESOURCE.

-updateresource

Określa operację równoważną użyciu -inputresource i -outputresource opcji z identycznymi argumentami. Na przykład następujące polecenie żąda operacji, która oblicza skrót plików w określonej ścieżce i aktualizuje manifest zasobu przenośnego pliku wykonywalnego (PE).

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

-hashupdate

Oblicza wartość skrótu plików w określonych ścieżkach i aktualizuje wartość atrybutu skrótu elementu File z tą wartością.

Na przykład następujące polecenie żąda operacji, która scala dwa pliki manifestu, man1.manifest i man2.manifest oraz aktualizuje wartość skrótu atrybutu Plik w manifeście, który odbiera scalone informacje, merged.manifest.

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

Jeśli ścieżki do plików nie są określone, operacja wyszukuje lokalizację manifestu określonego w celu odebrania aktualizacji. Na przykład następujące polecenie żąda operacji, która oblicza zaktualizowaną wartość skrótu przy użyciu plików znalezionych, wyszukując lokalizację pliku updated.manifest.

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

-validate_manifest

Określa operację, która wykonuje sprawdzanie składni zgodności manifestu ze schematem manifestu. Na przykład następujące polecenie żąda sprawdzenia, aby zweryfikować zgodność man1.manifest ze swoim schematem.

mt.exe -manifest man1.manifest -validate_manifest

-validate_file_hashes

Określa operację, która weryfikuje wartości skrótu File elementów manifestu. Na przykład następujące polecenie żąda operacji, która weryfikuje wartości skrótu wszystkich elementów File man1.manifest.

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

-Canonicalize

Określa operację aktualizowania manifestu do formularza kanonicznego. Na przykład następujące polecenie aktualizuje man1.manifest do postaci kanonicznej.

mt.exe -manifest man1.manifest

-check_for_duplicates

Określa operację, która sprawdza manifest pod kątem zduplikowanych elementów. Na przykład następujące polecenie sprawdza man1.manifest pod kątem zduplikowanych elementów.

mt.exe -man1.manifest -check_for_duplicates

-makecdfs

Generuje pliki cdf, aby tworzyć wykazy. Na przykład do następującego polecenia żąda operacji, która aktualizuje wartość skrótu i generuje plik cdf.

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

-gadatliwy Wyświetla pełne informacje o debugowaniu.
-? Po uruchomieniu z -?, lub bez opcji i argumentów Mt.exe wyświetla tekst pomocy.

narzędzi programowania zestawów równoległych