【发布时间】:2012-02-28 04:42:54
【问题描述】:
我正在开发一个 vb6 项目并想创建一个清单,因此不需要注册。
我使用 MMM(Make My Manifest)工具扫描您的 VB6 项目以查找 dll 依赖项并生成清单。
但是,MMM 不包含 tlb 文件,我有一个用 .net 编写的 Client.dll 和 Client.tlb,它们已暴露给 COM 并在我的 VB6 程序中使用。
我不建议你使用 Regasm,因为如果没有注册到注册表会很好。
我尝试通过命令行中的 mt 工具生成单独的清单,'mt.exe -tlb:Client.tlb -dll:Client.dll -out:Client.manifest'
然后我想我可以通过以下方式合并 2 个清单:'mt.exe -manifest program.exe.manifest client.manifest -out:program.exe.manifest'
但是,当我运行程序时,我收到一个消息框,上面写着“运行时错误 -2147220999 (800401f9): Automation error , Error in the Dll”
我在上面做的事情是否正确,任何人都有类似的经验,感谢任何帮助。
【问题讨论】:
-
A [ComVisible] .NET 程序集需要清单中的
<clrClass>元素。 VB6 工具不知道如何做到这一点。合并清单的最佳方法是使用文本编辑器。并写一个:msdn.microsoft.com/en-us/library/eew13bza%28v=VS.80%29.aspx