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. |