Mt.exe
Il file Mt.exe è uno strumento che genera file e cataloghi firmati. È disponibile in Microsoft Windows Software Development Kit (SDK). Mt.exe richiede che il file a cui si fa riferimento nel manifesto sia presente nella stessa directory del manifesto.
Mt.exe genera hash usando l'implementazione CryptoAPI dell'algoritmo hash sicuro (SHA-1). Per altre informazioni sugli algoritmi hash, vedere algoritmi hash e di firma. Gli hash vengono inseriti come stringa esadecimale nel file tag nel manifesto. Lo strumento attualmente genera solo hash SHA-1, anche se i file nei manifesti possono usare altri schemi hash.
Mt.exe usa Makecat.exe per generare file di catalogo (con estensione cat) dai file di definizione del catalogo (con estensione cdf). Questo strumento compila un file CDF di modello standard con il nome e la posizione del manifesto. È possibile usarlo con Makecat.exe per generare il catalogo assembly.
La versione di Mt.exe fornita nelle versioni recenti di Windows SDK può essere usata anche per generare manifesti per assembly gestiti e assembly non gestiti side-by-side.
Sintassi
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]
Opzioni della riga di comando
Mt.exe usa le opzioni della riga di comando senza distinzione tra maiuscole e minuscole seguenti.
Opzione | Descrizione |
---|---|
-manifesto | Specifica il nome del file manifesto. Per modificare un singolo manifesto, specificare un nome di file manifesto. Ad esempio, component.manifest. Per unire più manifesti, specificare qui i nomi dei manifesti di origine. Specificare il nome del manifesto aggiornato con le opzioni di -out, -outputresourceo -updateresource. Ad esempio, la riga di comando seguente richiede un'operazione che unisce due manifesti, man1.manifest e man2.manifest, in un nuovo manifesto, man3.manifest. mt.exe -manifest man1.manifest man2.manifest -out:man3.manifest Nessun punto (:) è necessario con l'opzione -manifest. |
-identità | Fornisce i valori degli attributi dell'elemento assemblyIdentity del manifesto. L'argomento dell'opzione -identity è un valore stringa contenente i valori dell'attributo nei campi separati da virgole. Specificare il valore dell'attributo nome nel primo campo, senza includere una sottostringa "name=". Tutti i campi rimanenti specificano gli attributi e i relativi valori usando il modulo: <nome attributo>=<attribute_value>. Ad esempio, per aggiornare l'elemento assemblyIdentity del manifesto con le informazioni seguenti: <assemblyIdentity type="win32" name="Microsoft.Windows.SampleAssembly" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="a5aaf5ba15723d5"/> includere l'opzione -identity seguente nella riga di comando: -identity:"Microsoft.Windows.SampleAssembly, processorArchitecture=x86, version=6.0.0.0, type=win32, publicKeyToken=a5aaf5ba15723d5" |
-Rgs | Specifica il nome del file dello script di registrazione (con estensione rgs). L'opzione -dll è necessaria per usare l'opzione -rgs. |
-Tlb | Specifica il nome del file della libreria dei tipi (con estensione tlb). L'opzione -dll è necessaria per usare l'opzione -tlb. |
-dll | Specifica il nome del file DLL (Dynamic Link Library). L'opzione -dll è richiesta da mt.exe se vengono usate le opzioni -rgs o -tlb. Specificare il nome della DLL che si intende compilare eventualmente dai file con estensione rgs o tlb. Ad esempio, il comando seguente richiede un'operazione che genera un manifesto da file con estensione rgs e 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 |
-Sostituzioni | Specifica il file che contiene i valori per la stringa sostituibile nel file con estensione rgs. |
-managedassemblyname | Genera un manifesto dall'assembly gestito specificato. Usare con l'opzione -nodependency per generare un manifesto senza elementi di dipendenza. Usare con l'opzione -category per generare un manifesto con tag di categoria. Ad esempio, se managed.dll è un assembly gestito, la riga di comando seguente genera out.manifest da managed.dll. mt.exe -managedassemblyname:managed.dll -out:out.manifest |
-nodependency | Specifica un'operazione che genera un manifesto senza elementi di dipendenza. L'opzione -nodependency -nodependency richiede l'opzione -managedassemblyname. Ad esempio, se managed.dll è un assembly gestito, la riga di comando seguente genera out.manifest da managed.dll senza informazioni sulle dipendenze. mt.exe -managedassemblyname:managed.dll -out:out.manifest -nodependency |
-categoria | Specifica un'operazione che genera un manifesto con tag di categoria. L'opzione -category richiede l'opzione -managedassemblyname. Ad esempio, se managed.dll è un assembly gestito, la riga di comando seguente genera out.manifest da managed.dll con tag di categoria. mt.exe -managedassemblyname:managed.dll -out:out.manifest -category |
-nologo | Specifica un'operazione eseguita senza visualizzare i dati standard sul copyright Microsoft. Se mt.exe viene eseguito come parte di un processo di compilazione, questa opzione può essere usata per impedire la scrittura di informazioni indesiderate nei file di log. |
-Cambio | Specifica il nome del manifesto aggiornato. Se si tratta di un'operazione a manifesto singolo e l'opzione -out viene omessa, il manifesto originale viene modificato. |
-inputresource | Specifica un'operazione eseguita su un manifesto ottenuto da una risorsa di tipo RT_MANIFEST. Se viene usata l'opzione -inputresource senza specificare l'identificatore della risorsa, <resource_id>, l'operazione usa il valore CREATEPROCESS_MANIFEST_RESOURCE. Ad esempio, il comando seguente richiede un'operazione che unisce un manifesto da una DLL, dll_with_manifest.dlle un file manifesto man2.manifest. I manifesti uniti vengono ricevuti da un manifesto nel file di risorse di un'altra DLL, dll_with_merged_manifests. mt.exe -inputresource:dll_with_manifest.dll;#1 -manifest man2.manifest -outputresource:dll_with_merged_manifest.dll;#3 Per estrarre il manifesto da una DLL, specificare il nome del file DLL. Ad esempio, il comando seguente estrae il manifesto da lib1.dll e man3.manifest riceve il manifesto estratto. mt.exe -inputresource:lib.dll;#1 -out:man3.manifest |
-outputresource | Specifica un'operazione che genera un manifesto da ricevere da una risorsa di tipo RT_MANIFEST. Se viene usata l'opzione -outputresource senza specificare l'identificatore della risorsa, <resource_id>, l'operazione usa il valore CREATEPROCESS_MANIFEST_RESOURCE. |
-updateresource | Specifica un'operazione equivalente all'uso delle opzioni di -inputresource e -outputresource con argomenti identici. Ad esempio, il comando seguente richiede un'operazione che calcola un hash dei file nel percorso specificato e aggiorna il manifesto di una risorsa di un eseguibile portabile (PE). mt.exe -updateresource:dll_with_manifest.dll;#1 -hashupdate:f:\files. |
-hashupdate | Calcola il valore hash dei file nei percorsi specificati e aggiorna il valore dell'attributo hash dell'elemento file con questo valore. Ad esempio, il comando seguente richiede un'operazione che unisce due file manifesto, man1.manifest e man2.manifest e aggiorna il valore dell'attributo hash dell'elemento File nel manifesto che riceve le informazioni unite, merged.manifest. mt.exe -manifest man1.manifest man2.manifest -hashupdate:d:\filerepository -out:merged.manifest Se i percorsi dei file non vengono specificati, l'operazione cerca il percorso del manifesto specificato per ricevere l'aggiornamento. Ad esempio, il comando seguente richiede un'operazione che calcola il valore hash aggiornato usando i file trovati cercando il percorso di updated.manifest. mt.exe -manifest -hashupdate -out:updated.manifest yourComponent.manifest |
-validate_manifest | Specifica un'operazione che esegue un controllo della sintassi della conformità del manifesto con lo schema del manifesto. Ad esempio, il comando seguente richiede un controllo per convalidare la conformità di man1.manifest con il relativo schema. mt.exe -manifest man1.manifest -validate_manifest |
-validate_file_hashes | Specifica un'operazione che convalida i valori hash dell'File elementi del manifesto. Ad esempio, il comando seguente richiede un'operazione che convalida i valori hash di tutti gli elementi File del file man1.manifest. mt.exe -manifest man1.manifest -validate_file_hashes:"c;\files" |
-canonicalize | Specifica un'operazione per aggiornare il manifesto al formato canonico. Ad esempio, il comando seguente aggiorna man1.manifest in formato canonico. mt.exe -manifest man1.manifest |
-check_for_duplicates | Specifica un'operazione che controlla la presenza di elementi duplicati nel manifesto. Ad esempio, il comando seguente controlla man1.manifest per gli elementi duplicati. mt.exe -man1.manifest -check_for_duplicates |
-makecdfs | Genera file con estensione cdf per creare cataloghi. Ad esempio, al comando seguente richiede un'operazione che aggiorna il valore hash e genera un file con estensione cdf. mt.exe -manifest -hashupdate -makecdfs comp1.manifest -out:updated.manifest |
-prolisso | Visualizza informazioni dettagliate sul debug. |
-? | Quando viene eseguito con -?, o senza opzioni e argomenti, Mt.exe visualizza il testo della Guida. |