我正在尝试使用Windows SDK中的mt.exe将清单添加到没有的清单,使用以下命令行:
C:\winsdk61>mt.exe -nologo -manifest "r:\shared\hl.exe.manifest" -updateresource:"r:\shared\hl33m.exe;#1"
不幸的是,当我这样做时,我收到此错误:
mt.exe : general error c101008c: Failed to read the manifest from the resource of file "r:\shared\hl33m.exe". The specified resource type cannot be found in the image file.
当然在文件中找不到资源 - 文件没有清单,这就是我想添加一个的原因.
如何将清单附加到可执行文件?这不应该简单吗?
您应该使用/ outputresource而不是/ updateresource : .
正确的命令行是:
mt.exe -nologo -manifest "r:\shared\hl.exe.manifest" -outputresource:"r:\shared\hl33m.exe;#1"
这适用于VS 2005:
使用扩展名清单创建以可执行文件命名的文本文件,并确保它与代码文件位于同一路径中; 例如,Form1.cs等.例如,如果您的应用程序名称是UACTester.exe,那么您的清单文件应该命名为UACTester.exe.manifest.
确保清单的内容是好的.我用这个:
在可执行项目中,添加以下后期构建事件:
"$(DevEnvDir)..\Tools\Bin\mt.exe" -nologo -manifest "$(TargetPath).manifest" -outputresource:"$(TargetPath)"
希望这可以帮助.祝好运!-Matt Esterak