mt清单命令帮助.
mt.exe
[ -manifest <manifest1 名> <manifest2 名> ... ]
[ -identity:<身份串> ]
[ <<[-rgs:<.rgs 文件名>] [-tlb:<.tlb 文件名>] [-winmd:<.winmd 文件名>]> -dll:<文件名> > [ -replacements:<XML 文件名> ] ]
[ -managedassemblyname:<托管程序集> [ -nodependency ] ]
[ -out:<输出清单名> ]
[ -inputresource:<file>[;[#]<resource_id>] ]
[ -outputresource:<file>[;[#]<resource_id>] ]
[ -updateresource:<文件>[;[#]<resource_id>] ]
[ -hashupdate[:<文件路径>] ]
[-makecdfs]
[ -validate_manifest ]
[ -validate_file_hashes:<文件路径> ]
[-canonicalize]
[ -check_for_duplicates ]
[ -nologo ]
选项
-manifest
指定要处理清单.至少一个清单名应遵循此选项.注意:-manifest
后无冒号(:)
.
<manifest1 名> <manifest2 名> …
待处理
和/或合并清单名.
如用-manifest
选项,则为必需.
注意:多个清单会自动合并.由-out/-outputresource/-updateresource
之一指定的输出是强制
.
-identity:<身份串>
身份串包含assemblyIdentity
元素属性.标识串
按名=值
对,以"名"属性的值开头.例如:"Microsoft.Windows.Common-Controls,processorArchitecture=x86,version=6.0.0.0,type=win32,publicKeyToken=6595b64144ccf1df
".注意:只有"name
“属性不是”name=value
"形式,它应是身份串中第一个属性.
-rgs:
采用.RGS
的名(注册器脚本).
-tlb:
采用.TLB(Typelib文件)
名.
-winmd:
采用.WINMD
(Windows
运行时元数据文件)的名.
-dll:
取DLL
名:表示最终从.RGS,.TLB
和.WINMD
文件构建的DLL.
如果指定了-rgs,-tlb
或-winmd,
则为必需.
-replacements:<.XML 文件名>
指定包含RGS
文件中可替换串值
文件.
-managedassemblyname:<托管程序集> [ -nodependency ]
从托管程序集
生成清单.
-
nodependency
抑制生成最终清单
中依赖元素.
-out:<输出清单名>
输出清单名.如果跳过这步,且该工具只操作一个清单,则原位修改清单.
-inputresource:<文件>[;[#]<resource_id>]
用指定ID
输入RT_MANIFEST
类型资源清单.
resource_id
非负16
位数字.
resource_id
可选,默认为CREATEPROCESS_MANIFEST_RESOURCE_ID(winuser.h)
.
-outputresource:<文件>[;[#]<resource_id>]
用指定ID
输出RT_MANIFEST
类型资源清单.
resource_id
非负的16
位数字.
resource_id
可选,默认为CREATEPROCESS_MANIFEST_RESOURCE_ID(winuser.h)
.
-updateresource:<文件>[;[#]<resource_id>]
等价于相同参数,同时指定-inputresource
和-ouputresource
.resource_id
非负16
位数字.
-hashupdate:<文件路径>
计算文件元素中指定文件哈希
值,并用此值更新哈希
属性.显式指定文件元素中实际文件搜索路径
.如未指定文件路径
,则默认搜索路径为输出清单位置
.
-makecdfs
生成目录定义文件(.cdf)
,用来制作目录.
-validate_manifest
验证清单语法正确性及清单架构一致性.
-validate_file_hashes:<文件路径>
验证文件元素哈希值.
-canonicalize 规范化输出清单内容.
-check_for_duplicates 检查清单是否重复.
-nologo 不显示
微软
版权数据.抑制不必要输出.
示例:
更新
XML
清单的哈希值:
mt -manifest 1.manifest -hashupdate -out:updated.manifest
生成
.cdf
文件同时,更新XML
清单哈希:
mt -manifest 1.manifest -hashupdate -makecdfs -out:updated.manifest
合并两个清单:
mt -manifest 1.manifest 2.manifest -out:merged.manifest
合并两个清单,并最终更新哈希,来生成最终合并的清单.注意:显式指定文件搜索路径.
mt -manifest 1.manifest 2.manifest -hashupdate:d:\filerepository -out:merged.manifest
从
RGS
和/或TLB
文件生成清单:
mt -rgs:MSClus.rgs -tlb:MSClus.tlb -dll:foo.dll -replacements:replacements.manifest -identity:"type=win32, name=Microsoft.Tools.SampleAssembly, version=6.0.0.0, processorArchitecture=x86 , publicKeyToken=6595b64144ccf1df" -out:rgstlb.manifest
从托管程序集生成
XML
清单:
mt -managedassemblyname:managed.dll -out:out.manifest
抑制依赖:
mt -managedassemblyname:managed.dll -nodependency -out:out.manifest
从
dll
中提取清单:
mt -inputresource:dll_with_manifest.dll;#1 -out:extracted.manifest
合并两个清单,
A
嵌入在dll
中,并嵌入最终合并清单至B
的dll
的资源中:
mt -inputresource:dll_with_manifest.dll;#1 -manifest 2.manifest -outputresource:dll_with_merged_manifest.dll;#3
要更新
PE
资源中的清单(通过更新文件元素哈希值):
mt -updateresource:dll_with_manifest.dll;#1 -hashupdate:f:\files
验证所有文件元素哈希值:
mt -manifest 1.manifest -validate_file_hashes:"c:\files"
验证清单(即,查看是否符合
清单架构
):
mt -manifest 1.manifest -validate_manifest
规范化清单
mt -manifest 1.manifest -canonicalize
检查清单中重复元素:
mt -manifest 1.manifest -check_for_duplicates
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现